Fedora 9自带的GCC编译器版本是4.3,对于某些老旧的软件包来说,这版本确实有点高,编译时容易报错。解决办法也不复杂,先装两个兼容库和低版本编译器:
yum -y install compat-libstdc++-33 compat-libstdc++-296
yum -y install compat-gcc-34 compat-gcc-34-c++
然后用环境变量指定用3.4版的gcc:
export CC=gcc34
好了,准备工作做完,下面一步步搭建LAMP环境。
1. 安装Apache
从Apache官网下载 httpd-2.2.9.tar.gz 并解压,进入解压目录后,先安装它的两个依赖库——APR和APR-util。
# 安装apr
cd srclib/apr
./configure --prefix=/usr/local/apr
make
make install
# 再安装apr-util
cd srclib/apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install
依赖就位后,开始编译Apache主程序:
./configure --prefix=/usr/local/server/apache2.2 \
--enable-so --enable-mods-shared=all --enable-cgi \
--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/bin
2. 安装MySQL
从官网下载 mysql-5.0.51a-linux-i686.tar.gz 并解压。这个版本是个二进制包,解压就能用,省去了编译的麻烦。
tar -zvxf mysql-5.0.51a-linux-i686.tar.gz
mv mysql-5.0.51a /usr/local/mysql
cd /usr/local/mysql
groupadd mysql
useradd -g mysql mysql
chown -R mysql . # 注意后面的点
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
bin/mysqld_safe --user=mysql & # 启动服务
想让MySQL随系统启动,可以把 support-files/mysql.server 复制到 /etc/init.d/ 下。生产环境下建议运行 ./bin/mysql_secure_installation 做个安全加固。
如果需要在Windows下用图形工具(比如MySQL Query Browser)远程连接,记得关掉Fedora 9的防火墙,并在MySQL的user表里添加允许访问的IP(用 % 表示不限IP)。防火墙设置如下:
# 重启后生效
chkconfig iptables off # 关闭
chkconfig iptables on # 开启
安装中可能碰到的小问题:如果提示 zlib not found,装个 devel 包就行:yum -y install zlib-devel.x86_64。如果编译时找不到 -lmysqlclient,则安装 mysql-devel:yum install mysql-devel。
3. 安装PHP
从PHP官网下载 php-5.2.6.tar.gz 并解压。可能还需要提前装好libxml2:
tar -zxvf libxml2-2.6.26.tar.gz
cd libxml2-2.6.26
./configure --prefix=/usr/local/libxml
make
make install
然后进入PHP解压目录,执行配置命令——这里尽量把常用扩展都带上:
./configure --prefix=/usr/local/apache2.2/php5 \
--with-apxs2=/usr/local/apache2.2/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-pdo-mysql=/usr/local/mysql \
--with-zlib-dir --with-png-dir --with-jpeg-dir \
--with-freetype-dir --with-gd \
--with-libxml-dir=/usr/local/libxml \
--with-openssl --enable-track-vars
这样编译出来的PHP基本能满足大多数应用,比如压缩、GD库等。如果是在64位系统上,可能会遇到找不到 libpng.so 和 libjpeg.so 的情况。用 find / -name libpng.so 会发现这两个文件其实在 /usr/lib64 下,但就算指定 --with-png-dir=/usr/lib64 也不认。一个可行的办法是把这两个文件拷贝到 /usr/lib 下,然后配置参数改成 --with-png-dir=/usr/lib --with-jpeg-dir=/usr/lib。如果系统里压根就没有这些文件,可以用yum安装对应的devel包:yum install libpng-devel libjpeg-devel。
PHP安装成功后,把源码目录下的 php.ini-dist 改名为 php.ini,并放到 /usr/local/lib 下——这就是PHP的配置文件了。
4. 安装后配置
编辑Apache的主配置文件(通常位于 /usr/local/server/apache2.2/conf/httpd.conf),添加以下两行,让Apache能识别PHP文件:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
另外在 DirectoryIndex 那一行后面加上 index.php。然后根据实际情况配置项目路径(这里就不展开了)。保存文件后重启Apache:
/usr/local/server/apache2.2/bin/apachectl start
至此,Fedora 9下的LAMP环境就搭建完成了。
