源码目录:/wwwroot/source/ 安装目录:/wwwroot/apps/
一.安装依赖
yum -y install gcc zlib-devel openssl-devel
二.安装apache
wget http://www.apache.org/dist/httpd/httpd-2.2.32.tar.gz
tar -zxvf httpd-2.2.32.tar.gz && cd httpd-2.2.32
./configure --prefix=/wwwroot/apps/apache \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so
注:
enable-mods-shared=all:编译所有模块
enable-so:使httpd服务能够动态加载模块,让apache可以支持dso模式
三.启动apache
/wwwroot/apps/apache/bin/apachectl start | stop | restart
可能遇到的错误:
a. 报ServerName的错误,需要修改httpd.conf,修改ServerName
b. 报Permisson denied:make_sock 错误,可能因为启动的时候是普通用户执行的命令,普通用户只能使用1024之后的端口,sudo执行或者切换到root
c. 报httpd:apr_sockaddr_info_get() failed for xxx(xxx为主机名)错误,需要在/etc/hosts中进行主机名定义,vim /etc/hosts,加上一行 127.0.0.1 localhost 即可
打开网页输入ip:80,显示it works即为成功
可能遇到的问题:
a. 查看防火墙是否设置80端口
vim /etc/sysconfig/iptables
没有80的话,复制22粘一下改一下就行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
更改保存退出,重启防火墙 service iptables restart
b. 查看apache的log检查是否有其他错误
vim /wwwroot/apps/apache/logs/error_log
根据日志内的内容进行检查修改
四.设置httpd加到service中
apache的安装目录为 /wwwroot/apps/apache
cp /wwwroot/apps/apache/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd
在 #!/bin/sh 后面加上两行
#chkconfig:345 85 15
#description:This is about start and stop HTTP Server.
注:345为系统的运行级别,85和15分别为开启和停止时的排序号
chkconfig --add httpd
将httpd添加到启动列表,注意add前面为两个"-"
service httpd start | stop | restart
五.设置httpd开机自启
vim /etc/rc.d/rc.local
添加一行
/wwwroot/apps/apache/bin/apachectl start
六.apache、apachectl和http
apache是服务器,是一个品牌,apachectl是一个sh脚本,httpd则是一个服务,相当于windows的.exe