Linux源码编译Apache 2.2.19+PHP 5.3.6

1.编译安装顺序问题:先安装apache,然后再安装php,因为php的编译会用到apache的apxs模块,如果先安装php,再安装apache,则需要重新编译php

2.安装apache

1.确认linux系统中的编译环境,执行如下命令:

    [root@ /]#rpm -qa |grep gcc      #输出gcc环境下的相关包

     gcc-java-3.4.5-2

     libgcc-3.4.5-2

     gcc-3.4.5-2

     compat-libgcc-296-2.96-132.7.2

     compat-gcc-32-3.2.3-47.3

     gcc-c++-3.4.5-2

     compat-gcc-32-c++-3.2-47.3

  若没有上面相关包,则不能编译安装;由于软件包数量较多,可执行以下命令打开添加删除菜单,安装完整的gcc环境.

  [root@ /]#system-config-packages                  #打开添加删除菜单

 2.解压缩源代码软件包

  [root@ usr]#tar zxvf httpd-2.2.19.tar.gz        #使用tar命令进行解压缩;若后缀为.tar.bz2则使用jxvf参数解压缩.

3.进行编译前的配置工作./configure

  [root@ httpd-2.2.19]#./configure --prefix=/usr/local/apache   #使用./configure命令进行编译前的配置工作

4.进行源代码的编译make

  [root@ httpd-2.2.19]#make            #使用make进行源代码编译

5.将编译完成的应用程序安装到系统中

[root@ httpd-2.2.19]#make install    #使用make install 将编译好的程序安装到系统中

6.修改配置文件
  vi /usr/local/apache/conf/httpd.conf
  找到ServerName那一行,去掉前面的注释
7.启动apache
  /usr/local/apache/bin/apachectl
  查看是否启动
  ps aux|grep 'httpd'
8.将apache注册为系统服务并开机启动 

有两种方法可以让Apache在系统启动时自动启动。

1. 在/etc/rc.d/rc.local中增加启动apache的命令,例如:/usr/local/httpd/bin/apachectl start

2. 将apache注册为系统服务

首先将apachectl命令拷贝至/etc/rc.d/init.d目录下,改名为httpd

使用编辑器打开httpd文件,并在第一行#!/bin/sh下增加两行文字如下(这是必需的,否则会报httpd不支持chkconfig)

# chkconfig: 35 70 30
# description: Apache

接着注册该服务

chkconfig --add httpd

一切OK了,启动服务

service httpd start

其中所增加的第二行中三个数字第一个表示在运行级别3和5下启动apache,第二、三是关于启动和停止的优先级配置,无关紧要。

附:

编译的httpd不支持chkconfig的解决方法

用chkconfig将自编译设置为系统服务的时候,httpd 服务不支持 chkconfig。

解决过程如下:

1.编辑/etc/init.d/httpd

#!/bin/bash
#chkconfig:345 61 61

#description:Apache httpd

(哈哈,复制粘贴好像有问题,手动输入)

2.配置

[root@ ~]# chkconfig --add httpd
[root@ ~]# chkconfig --list|grep httpd

httpd           0:关闭 1:关闭  2:关闭 3:关闭  4:关闭  5:关闭  6:关闭

[root@ ~]# chkconfig --level 345 httpd on
[root@ ~]# chkconfig --list|grep httpd

httpd           0:关闭  1:关闭 2:关闭 3:启用 4:启用 5:启用  6:关闭

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://127.0.0.1/wyyxsj.html