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 将编译好的程序安装到系统中
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:关闭