编译搭建LAMP
LAMP:Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
今天为大家介绍下,如何在linux上编译安装LAMP
一、Apache 2.4.2版本的安装
1、解决依赖关系
httpd-2.4.2需要较新版本的apr和apr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。这里选择使用后一种方式进行,可以从官网进行下载,共需要如下4个软件包:
apr-1.4.6-1.i386.rpm
apr-devel-1.4.6-1.i386.rpm
apr-util-1.4.1-1.i386.rpm
apr-util-devel-1.4.1-1.i386.rpm
下载完成后使用 rpm -Uvh进行升级就可以啦。
还有我们还需要到另外一个软件包,prce-devel,此软件包是系统自带的,找到安装就可以了。
2、编译安装httpd-2.4.2
首先下载httpd-2.4.2到本地,而后执行如下命令进行编译安装过程:
# tar xf httpd-2.4.2.tar.bz2
另外需要说明的是,如果前面apr安装使用的是编译安装,在执行./configurem命令时,需要添加额外的选项--with-apr= 和--with-apr-util=,分别指定apr和apr-util的编译安装自定义所在的目录。
3、编译安装完成后,方便我们以后的使用还要做下面的步骤
1)添加PATH,可以使用apache为我们提供的命令
在/etc/profile中添加PATH=/usr/local/apache/bin
这里我们可以使用source,但使用一次后,再接下来的配置中最好不要使用,以免造成重复,所以这里我们手动再设置一次。
2)当我们有的命令不了解的时候,能通过man文档查看,将apache的man目录的路径添加到/etc/man.config。
MANPATH /usr/local/apache/man
3)为httpd提供sysv风格的脚本,这里我们从另一台主机备份一份过来,方便我们启动apache。
更改脚本中变量的路径为我们安装时正确的路径,并在apache的配置文件中,添加Pidfile。
添加Pidfile,随便找一个位置就可以。
4)为头文件创建软链接
4、虚拟主机的创建
1)在配置文件中找到DocumentRoot的一行,注释掉
2)启用虚拟主机的功能,从中我们知道虚拟主机配置文件的目录
3)创建虚拟主机,这里要特别说明的是,虚拟主机创建成功后,要想能够正常访问,必须对目录进行访问控制才可以
5、最后启动一下就OK啦
二、安装mysql-5.5.2解压直接可用,必须在/usr/local,以mysql的用户身份运行
数据库中的数据文件,rpm在/var/lib/mysql。
1、准备数据存放的文件系统,最好放在逻辑卷中,随着使用,数据的增加和减少,我们也可以根据情况改变大小,合理的利用磁盘。
新建一个逻辑卷,并将其挂载至特定目录即可。
2、新建用户以安全方式运行进程:
# groupadd -r mysql
# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql
# chown -R mysql:mysql /mydata/data
3、安装并初始化mysql-5.5.24
# tar xf mysql-5.5.24-linux2.6-i686.tar.gz -C /usr/local
# cd /usr/local/
# ln -sv mysql-5.5.24-linux2.6-i686 mysql
# cd mysql
# chown -R mysql:mysql
# scripts/mysql_install_db --user=mysql --datadir=/data/mysql
初始化,规定数据库存放目录和使用用户的身份
# chown -R root
安全起见,将属主重新改为ROOT
4、提供主配置文件,mysql为我们提供的有样例,只需复制过去即可
并修改此文件中thread_concurrency的值为你的CPU个数乘以2,我的是酷睿双核的:
thread_concurrency = 4
另外还需要添加如下行指定mysql数据文件的存放位置:
datadir = /data/mysql
5、为mySql提供sysV风格的脚本,同样的这个mysql,为我们提供的有样例
6、输出mysql的man手册至man命令的查找路径:
编辑/etc/man.config,添加如下行即可:
MANPATH /usr/local/mysql/man
7、输出mysql的头文件至系统头文件路径/usr/include
这可以通过简单的创建链接实现:
# ln -sv /usr/local/mysql/include /usr/include/mysql
8、输出mysql的库文件给系统库查找路径:
# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
而后让系统重新载入系统库:系统在启动的时候,从哪里寻找库文件是缓存在/etc/ld.so.cache下的。
# ldconfig 重新生成cache文件
9、修改PATH环境变量,让我们可以直接使用mysql的相关命令
三、编译安装php-5.3.14
1、解决依赖关系:
请配置好yum源(可以是本地系统光盘)后执行如下命令:
# yum -y groupinstall "X Software Development"
如果想让编译的php支持mcrypt扩展,此处还需要下载ftp://172.16.0.1/pub/Sources/ngnix目录中的如下两个rpm包并安装之:
libmcrypt-2.5.7-5.el5.i386.rpm
libmcrypt-devel-2.5.7-5.el5.i386.rpm
2、编译安装php-5.3.14
# tar xf php-5.3.14.tar.bz2
# cd php-5.3.14
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-apxs2=/usr/local/apache/bin/apxs (php编译成apache的模块)
--with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d/
--with-bz2
如果前面第1步解决依赖关系时安装mcrypt相关的两个rpm包,此./configure命令还可以带上--with-mcrypt选项以让php支持mycrpt扩展。
# make
# make test
# make intall
3、为php提供配置文件:
# cp php.ini-production /usr/local/php/lib/php.ini
编辑apache配置文件httpd.conf,让apache支持php
# vim /etc/httpd/httpd.conf
添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
定位至DirectoryIndex index.html
修改为:
DirectoryIndex index.php index.html
查看php模块是否启用
而后重新启动httpd,或让其重新载入配置文件即可测试php是否已经可以正常使用。
四、安装xcache,为php加速:
xcache是国人设计的一款加速软件,所谓的加速就是在内存中建立缓存。
1、安装
# tar xf xcache-2.0.0.tar.gz
# cd xcache-2.0.0
# /usr/local/php/bin/phpize
# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
# make && make install
安装结束的最后,会给我们一个路径,这个要记下来
2、编辑php.ini,整合php和xcache:
首先将xcache提供的样例配置导入php.ini
# mkdir /etc/php.d
# cp xcache.ini /etc/php.d
接下来编辑/etc/php.d/xcache.ini,找到zend_extension开头的行,修改为如下行:
zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
好了就这样了,LAMP算是完成了