LAMP环境搭建
系统环境:RHEL 5.4
软件包:httpd-2.2.22.tar.gz
MySQL-server-community-5.1.61-1.rhel5.i386.rpm
MySQL-client-community-5.1.61-1.rhel5.i386.rpm
MySQL-devel-community-5.1.61-1.rhel5.i386.rpm
采用RPM包安装mysql,快捷方便
GCC:编译源码时需要GCC编译器
rpm –qa | grep ^gcc
gcc-c++-4.1.2-46.el5
gcc-4.1.2-46.el5
gcc-gfortran-4.1.2-46.el5
libxml2:安装php5需要libxml2。没有装libxml2可能会出现这样的错误:
configure: error: xml2-config not found. Please check your libxml2 installation.
rpm –qa | grep libxml
libxml2-2.6.26-2.1.2.8
libxml2-python-2.6.26-2.1.2.8
libxml2-devel-2.6.26-2.1.2.8
安装Apache:
如已安装httpd,卸载:rpm –e httpd –nodeps
软件包目录:
httpd-2.2.22.tar.gz
MySQL-client-community-5.1.61-1.rhel5.i386.rpm
MySQL-devel-community-5.1.61-1.rhel5.i386.rpm
MySQL-server-community-5.1.61-1.rhel5.i386.rpm
php-5.2.17.tar.gz
解压Apache
tar –zxvf httpd-2.2.22.tar.gz
进入解压后的Apache目录
cd httpd-2.2.22/
配置安装
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-expires --enable-cache --enable-mem-cache
# --prefix=/usr/local/httpd 指定安装目录
# --enable-so 支持动态链接机制上加载DSO模块
# --enable-rewrite 重写
配置完成后,编译安装
make && make install
安装完成,启动Apache
/usr/local/httpd/bin/apachectl -k start
测试程序是否启动:
netstat -anp | grep :80
tcp 0 0 :::80 :::* LISTEN 13630/httpd
访问网站测试页面:It works。
Apache安装完成。
安装MySQL:
先卸载旧版本的mysql,因为旧版本的mysql与新版本的MySQL会有冲突
rpm -e mysql --nodeps
rpm -e mysql-server --nodeps
先安装MySQL-server
rpm –ivh MySQL-server-community-5.1.61-1.rhel5.i386.rpm
再安装MySQL-client
MySQL-client-community-5.1.61-1.rhel5.i386.rpm
再安装mysql的一些库和头文件,这些头文件在安装php并关联mysql中是需要的。否则会出现这样的错误:
configure: error: Cannot find MySQL header files under ...
rpm -ivh MySQL-devel-community-5.1.32-0.rhel5.i386.rpm
安装完毕后,mysql –v查看一下mysql版本,默认mysql没有密码
PHP:
解压php源码包
tar -zxvf php-5.2.17.tar.gz
进入解压后的目录
cd php-5.2.17/
配置安装php
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/lib --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql --with-zlib --enable-mbstring --enable-xml
## --prefix是安装目录。--with-config-file-path是指定php配置文档php.ini所在的目录。--with-mysql,安装mysql扩展。--with-zlib安装zlib扩展,前提是linux已经安装了zlib,未安装可以去掉这个选项。 安装mbstring和xml扩展。这些都是常用的模块。
编译安装
make && make install
将php配置文档复制到/usr/local/libcp php.ini-dist /usr/local/lib/php.ini
PHP安装完成。
Apache:
1.配置apache关联php,打开apache配置文档
vi /usr/local/httpd/conf/httpd.conf
2.找到LoadModule,安装时设置好的,务必检查一下
LoadModule php5_module modules/libphp5.so
3. 定义根目录路径,找到DocumentRoot "/usr/local/httpd/htdocs"
如修改,也需修改<Directory "/usr/local/httpd/htdocs">
4.在
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
这两行下面添加:
AddType application/x-httpd-php .php
5. 修改默认文档:
DirectoryIndex index.html
</IfModule>
在DirectoryIndex后面添加一条index.php
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
保存文件并退出。
配置PHP:
打开php配置文档vi /usr/local/lib/php.ini
修改php时区,php5默认是格林威治时间,不修改的话与中国时间相差8小时
[Date]
; Defines the default timezone used by the date functions
; date.timezone =
##改为 date.timezone = PRC其中PRC:People's Republic of China ×××
[Date]
; Defines the default timezone used by the date functions
date.timezone = PRC
保存退出。
PHP配置完成
重启apache/usr/local/httpd/bin/apachectl -k restart
如果出现类似的这样的错误httpd: Syntax error on line 53 of /usr/local/httpd/conf/httpd.conf: Cannot load /usr/local/httpd/modules/libphp5.so into server: /usr/local/httpd/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied这个是selinux限制的可以关闭selinux
Setenforce 0
或者执行chcon–t texrel_shlib_t /usr/local/httpd/modules/libphp5.so然后再重启apache
测试:在网站根目录创建一个index.phpvi /usr/local/httpd/htdocs/index.php
输入
<?php phpinfo();?>
保存退出
访问网站,出现PHP页面即可。
如果提示不能打开或下载框,并且之前的配置上没有错误。再重启一次apache就能解决。
此方式安装的Apache并不是随机器启动而启动的。我们可以将apache的启动命令加到 /etc/rc.d/rc.local 中,就可以随机启动了vi /etc/rc.d/rc.local
插入
/usr/local/httpd/bin/apachectl -k start
保存退出。
重新编译PHP安装扩展,GD库安装与配置
先安装 freetype。解压tar -zxvf freetype-2.2.1.tar.gz
进入解压的目录cd freetype-2.2.1
安装到/usr/local/freetype./configure --prefix=/usr/local/freetype
编译并安装make && make install
再安装png解压tar -zxvf libpng-1.2.12.tar.gz
进入解压目录配置,编译并安装./configure && make && make install
再安装jpeg解压tar -zxvf jpegsrc.v6b.tar.gz
因为jpeg安装不能自动创建文件夹,所以要先创建文件夹,否则会找不到文件夹而编译失败。分别创建:
mkdir /usr/local/jpeg6mkdir /usr/local/jpeg6/includemkdir /usr/local/jpeg6/libmkdir /usr/local/jpeg6/binmkdir /usr/local/jpeg6/manmkdir /usr/local/jpeg6/man/man1
配置
./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
编译并安装make && make install
最后安装gd
解压tar -zxvf gd-2.0.35.tar.gz
进入解压目录执行./configure --prefix=/usr/local/gb --with-jpeg --with-png --with-freetype
编译安装(第一次make时会报错,不用管,重新make一下就OK)
make && make install
GD安装完毕,现在用重新编译php的方法安装gd库扩展。cd /usr/local/src/php-5.2.9重新配置php,配置是想保留原有配置的基础上新增gd库,./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/lib --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql --with-zlib --enable-mbstring --enable-xml --with-gd --with-jpeg-dir=/usr/local/jpeg6 --with-png-dir --with-freetype-dir=/usr/local/freetype
编译安装
make && make install
安装完成后重启apache/usr/local/httpd/bin/apachectl -k restart