上篇文章简单介绍了利用rpm包安装apache、mysql、php搭建lamp环境,这篇文章介绍利用源码安装apache、mysql、php来搭建lamp环境。那我们为什么要用源码安装这些软件来搭建lamp环境呐?利用rpm包安装软件搭建环境不是很方便吗?
答:因为利用源码安装可以使用最新的功能,而且可以使用个性化配置,使操作更符合我们的习惯。例如:apache2.4比2.2有更加优异的地方,2.4采用MPM 多进程处理机制,默认方式下采用进程方式处理,可以进行配置。
实验环境:
redhat 企业版 5.4 |
安装平台 |
httpd-2.4.4.tar.bz2 |
apache的主安装程序 |
apr-1.4.6.tar.gz apr-util-1.5.1.tar.gz |
apache的可移植 运行库和工具 |
cmake-2.8.10.2.tar.gz |
配置mysql的工具 |
mysql-5.6.10.tar.gz |
Mysql的主安装程序 |
php-5.4.13.tar.bz2 |
Php的主安装程序 |
安装之前我们应该思考一下安装的顺序。Apache和php,因为php要基于apache环境运行,那么这两者应该先安装apache;而php和mysql,因为php要调用mysql,那么这两者就应该先安装mysql。
注意源码安装前要确认你的编译环境,需要安装以下四项软件包组(大多数linux机器已经安装,可以在安装了yum的环境下用yum grouplist 查询):
Development Libraries
Development Tools
Legacy Software Development
X Software Development
实现过程:
一:安装apache2.4
1.源码安装首先要拆解
首先将apr,和apr-util解压缩到/usr/local/src/目录下
tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/
tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/
进入解压缩后的apr目录:/usr/local/src/apr下,进行安装
./config --prefix=/usr/local/apr **--prefix=dir 指明安装目录
make&& make install
安装完成后进入/usr/local/apr目录下,分别对安装完成后形成的文件进行操作
对于头文件和库文件为了能让其他程序可以调用,我们需要将库文件、库文件加载到系统中。将apr的库文件加载到系统中,我们需要在/etc/ld.so.conf.d/目录中新建一个文件apr.conf,在文件中写入apr的库文件的位置/usr/local/apr/lib/。
然后我们需要使用ldconfig刷新缓存,然后了ldconfig -pv |grep apr查看是否加载成功
而对于apr的头文件,我们为了能让其他程序调用,可以将它拷到/usr/include下,但是这样浪费空间,所以我在/usr/include做一个符号链接指向apr的头文件所在目录。
接下来安装apr-util,和apr的安装很相似,只不过apr-util是apr的一个工具,所以在安装的时候,需要你指明apr的安装路径。进入/usr/local/src/apr-util-1.5.1/,执行
./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr/bin/apr-1-config
然后执行make && make install
安装完成后同样对形成的库文件和头文件执行操作,在/etc/ld.so.conf.d目录下新建一个apr-util.conf文件,在里面写上apr-util库文件的路径,同样在/usr/include目录下做链接指向apr-util的头文件
接下来就是安装apache了。步骤一样:解压缩,配置,编译,安装,修改库文件和头文件。在安装apache时,要确保系统安装了pcre-devel。
yum install pcre-devel-6.6.2.el5_1.7.i386.rpm
解压:tar -jxvf httpd-2.4.4.tar.gz -C /usr/local/src/
配置:./configure
--prefix=/usr/local/apache *安装路径
--sysconfdir=/etc/httpd *配置文件路径
--enable-so
--enable-mods-shared=most *安装大多数的动态共享库
--enable-ssl *启用ssl功能
--enable-mpms-shared=all
--enable-rewrite
--with-apr=/usr/local/apr/bin/apr-1-config *apr配置文件路径
--with-apr-util=/usr/local/apr-util/bin/apu-1-config *apr-util配置文件路径
--with-z
--with-pcre
编译、配置: make && make install
对apache头文件、bin目录执行跟apr和apr-util同样的操作
我们还需要编辑/etc/man.config,将apache的man手册路径添加到搜索路径里面
为了使用service 服务名 start|stop 这种方式方便我们的管理,我们自己编写一个apache的控制脚本
vim /etc/init.d/httpd
我们需要给这个控制文件可执行权限:chmod a+x httpd
现在我们利用自己编写的控制脚本来启动apache
我们在apache的站点主目录下新建一个html网页,利用其它机器访问看时候访问的到
二:安装mysql
因为在mysql-5.5以后的版本没有了./configure这个配置命令了,需要cmake来配置mysql,所以首先安装cmake
首先解压:tar –zxvf cmake-2.8.10.2.tar.gz –C /usr/local/src
配置:./configure --prefix=/usr/local/cmake
编译/安装: make && make install
同样将bin/和man/添加到系统变量和搜索路径
make安装成功之后,利用它来安装mysql。
首先解压mysql-5.6.10.tar.gz,在解压目录(/usr/local/src)下的mysql-5.6.10目录有一个INSTALL-SOURCE文件,里面有具体的安装步骤可以参考
上图有具体的安装步骤,只需照着执行就行。
下面解释一下各步骤的意思:
1.添加一个mysql组和mysql用户(系统用户)来运行mysql是为了提高安全性,因为系统用户没有登入权限
2.scripts/mysql_install_db --user=mysql是初始化数据库、初始化完成后要将权限修改回来,但是data是在mysql运行是,需要mysql用户可以操作的,所以data的所属主是mysql
3.在mysql5.6.10中是cp support-files/my-default.cnf /etc/my.cnf(my-default.cnf是mysql配置文件的样例文件,将mysql配置文件的样例文件拷贝为配置文件)而不是上图中的文件
4.bin/mysqld_safe --user=mysql &(后台启动mysql服务)
5.cp support-files/mysql.server /etc/init.d/mysqld 是为了方便我们使用service mysqld start|stop|restart 来控制mysql服务
同时跟安装前两个一样为了使其它用户能够使用,我们将头文件和库文件连接到系统默认的位置
针对头文件做链接:ln -s /usr/local/mysql/include/ /usr/include/mysql
针对库文件我们在/etc/ld.so.conf.d/下编辑一个mysqld.conf文件,里面写mysql库文件路径
最后编辑/etc/profile文件将mysql的bin目录路径添加到PATH变量中
现在我们service mysqld start方式来启动mysql,看是否能正常启动
上图我们可以看到mysql可以正常启动和使用了,为了方便我们将mysql服务设置为开机自动启动chkconfig --add mysqld
这样mysql就安装完成了
三:安装php
同样首先解压
tar -jxvf php-5.4.13.tar.bz2 -C /usr/local/src/
然后配置
上图中的各个选项分别表示:
--prefix= 指明安装位置
--sysconfdir=指明配置文件目录
--with-apxs2= 指明调用模块
--with-mysql= 指明mysql主目录
--wtih-mysqli= 指明mysql接口
--enable-mbstring支持的字符集
--with-png 支持的图形格式
--with-jpeg 支持的图形格
--with-gd 支持压缩
配置完成后执行make && make install(编译并安装)
安装成功之后,需要修改httpd的配置文件(/etc/httpd/httpd.conf),让其能够处理PHP的网页内容。
现在php也安装好了。
四:测试
首先测试php与apache的连接是否正常
我们在站点主目录下将原来的index.html改为index.php,并且修改里面的内容
上图显示的就是php的测试页,说明我们的apache和php连接没问题
接下来测试php和mysql的连接是否正常,我们再将index.php这个网页进行修改
三个之间的连接都没有问题,那我们的lamp环境就已经搭建好了,我们可以使用我们搭建的lamp环境来搭建网上商城、论坛、博客等自己的站点,搭建这些站点的具体步骤在rpm包搭建lamp环境文章中已经介绍了,这里就不再多说了。