Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2155969
  • 博文数量: 195
  • 博客积分: 4378
  • 博客等级: 上校
  • 技术积分: 4046
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-09 11:37
个人简介

白天和黑夜只交替没交换无法想像对方的世界

文章分类

全部博文(195)

文章存档

2014年(3)

2013年(20)

2012年(18)

2011年(107)

2010年(17)

2009年(5)

2008年(20)

2007年(5)

分类: LINUX

2008-07-28 17:59:34


          
        
          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
     找到如下内容:
    
         TypesConfig /usr/local/httpd/conf/mime.types
    

     修改为:
    
         TypesConfig /usr/local/httpd/conf/mime.types
         AddType application/x-httpd-php .php
         AddType application/x-httpd-source .phps
    

     保存退出
复制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
内容如下:
             phpinfo();
        hello world!
     ?>
使用浏览器访问,如果显示PHP的状态信息,则表示编译安装成功。
这里只介绍了整个AMP环境编译的流程,具体配置因环境和需求而异。

阅读(4070) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~