apache_1.3.41+mysql-4.0.26+php-4.4.8+Redhat5 linux 成功编译安装 前言:本试验中用到的几个版的包分别为:apache_1.3.41.tar.gz; mysql-4.0.26.tar.gz; php-4.4.8.tar.gz. Apache整合PHP有两种方式: 一种是DSO模式,把PHP当作Apache的外部模块来调用,这样增加了Apache的灵活性,但会带来5%的性能降低;另一种方式是把PHP编译进Apache的内核,这样牺牲了以后调整的灵活性(每次对PHP的重新编译,都需要再次编译Apache), 但性能会高一些。Perl、Python也是如此。 这里选择把PHP静态编译进Apache内核。 编译AMP: 安装编译所需要的软件包: # yum install gcc gcc-c++ termcap libtermcap libtermcap-devel libxml2-devel 1. 编译安装MySQL: 因为PHP的编译依赖MySQL的存在,并且MySQL的编译不依赖与Apache与PHP,所以首先编译MySQL. 解压MySQL源码包: # tar xvf mysql-4.0.26.tar.gz -C /usr/src 添加mysql用户和组: # groupadd mysql # useradd -g mysql mysql 配置、编译并安装MySQL: # cd /usr/src/mysql-4.0.26 # ./configure --prefix=/usr/local/mysql 在./configure时,如果出现如下错误:configure: error: This is a Linux system without a working getconf, and Linuxthreads was not found. Please install it (or a new glibc) and try again.See the Installation chapter in the Reference Manual for more information. 只须运行一下:echo '/* Linuxthreads */' >> /usr/include/pthread.h命令后,再./configure 就ok了. # make # make install 更详细的MySQL编译配置选项,请查阅MySQL官方手册。 拷贝MySQL配置文件: # cp /usr/src/mysql-4.0.26/support-files/my-large.cnf /etc/my.cnf 初始化MySQL数据库: # /usr/local/mysql/bin/mysql_install_db --user=mysql 修改MySQL数据库库文件目录拥有者、拥有组: # chown -R mysql:mysql /usr/local/mysql/var 复制MySQL启动脚本,并加入到系统启动项: # cp /usr/src/mysql-4.0.26/support-files/mysql.server /etc/init.d/mysqld # chmod +x /etc/init.d/mysqld # chkconfig --add mysqld # chkconfig mysqld on 启动MySQL服务器: # service mysqld start 另外:MySQL的客户端程序在/usr/local/mysql/bin/mysql 2. 预编译Apache 1.3.X: 解压Apache 1.3.x源码包: # tar xvf /root/apache_1.3.41.tar.gz -C /usr/src 配置Apache 1.3.x但不编译安装: # cd /usr/src/apache_1.3.41 # ./configure --prefix=/usr/local/httpd 3. 编译安装PHP: 解压PHP源码包: # tar xvf /root/php-4.4.8.tar.gz -C /usr/src 配置、编译并安装PHP: # cd /usr/src/php-4.4.8 # ./configure --prefix=/usr/local/php4 --with-apache=/usr/src/apache_1.3.41 - -with-mysql=/usr/local/mysql # make # make install PHP有很多功能模块,请根据实际需求开启,详细配置选项请查阅PHP官方手册。 拷贝PHP配置文件: # cp /usr/src/php-4.4.8/php.ini-dist /usr/local/php4/lib/php.ini 4. 正式编译安装Apache 1.3.x: 特别说明: 由于Apache 1.3.x版本源代码中对最大进程数限制为256,所以建议修改源代码后再编译。 # vi /usr/src/apache_1.3.41/src/include/httpd.h 在第276行找到: #define HARD_SERVER_LIMIT 256 修改为: #define HARD_SERVER_LIMIT 2560 保存退出 配置、编译并安装Apache 1.3.x: # cd /usr/src/apache_1.3.41 # ./configure --prefix=/usr/local/httpd –activate-module=src/modules/php4/ libphp4.a # make # make install 特别注意:configure时,src/modules/php4/libphp4.a是不存在的,不用担心,这样写才能正确编 译。 Apache也有很多功能,请根据实际需求开启,详细参阅官方手册。 修改Apache 1.3.x配置文件: # vi /usr/local/httpd/conf/httpd.conf 找到如下内容: <IfModule mod_mime.c> TypesConfig /usr/local/httpd/conf/mime.types </IfModule> 修改为: <IfModule mod_mime.c> TypesConfig /usr/local/httpd/conf/mime.types AddType application/x-httpd-php .php AddType application/x-httpd-source .phps </IfModule> 保存退出 复制Apache 1.3.x启动脚本并添加到系统启动项: # cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd 在/etc/init.d/httpd开头添加如下内容: # Comments to support chkconfig on RedHat Linux # chkconfig: 2345 64 36 # description: Apache HTTP Server 1.3 # chkconfig --add httpd # chkconfig httpd on 启动Apache 1.3.x: # service httpd start 测试: 在/usr/local/httpd/htdocs中创建一个PHP测试页: # vi /usr/local/httpd/htdocs/test.php 内容如下: <?php phpinfo(); hello world! ?> 使用浏览器访问http://localhost/test.php,如果显示PHP的状态信息,则表示编译安装成功。 这里只介绍了整个AMP环境编译的流程,具体配置因环境和需求而异。
本文转自vcdog 51CTO博客,原文链接:http://blog.51cto.com/255361/837867,如需转载请自行联系原作者