Centos 6 编译安装 Apache 2.4

安装软件包准备,需要安装apr 1.5.2、apr-util 1.5.4,如果要启用ssl需要安装openssl软件包,

1,安装apr因为是编译安装,通过./configure --help命令查看相关选项。

[root@localhostapr-1.5.2]#yuminstall-ygcc
[root@localhostapr-1.5.2]#./configure--prefix=/usr/local/apr
[root@localhostapr-1.5.2]#make&makeinstall

2,安装apr-util,在安装时需要指明apr的安装位置,以及--prefix路径

[root@localhostapr-util-1.5.4]#./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr/
[root@localhostapr-util-1.5.4]#make&makeinstall

3,安装httpd2.4.23,需要安装pcre、pcre-devel,如果启用ssl需要安装openssl、openssl-devel(版本需要在0.9.8a以上版本)

[root@localhosthttpd-2.4.23]#./configure--prefix=/usr/local/httpd--sysconfdir=/etc/httpd--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util/--enable-ssl--enable-modules=all
[root@localhosthttpd-2.4.23]#make&makeinstall

4,配置httpd

a,修改环境变量

在/etc/profile/创建httpd.sh,增加export PATH=/usr/local/httpd/bin:$PATH ,(. /etc/profile.d/httpd.sh)导入环境变量。

b,包含库文件,创建软连接 ln -sv /usr/local/httpd/include /usr/local/include/httpd.

c,编辑man配置文件添加httpd帮助文档,编辑/etc/man.config增加如下内容 MANPATH /usr/local/httpd/man

d,由于没有服务脚本,所以只能使用apachectl start命令执行启动。

如果出现如下报错AH00558: httpd: Could not reliably determine the server's fully qualified domain name,using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message,需要编辑httpd.conf 增加ServerName localhost(主机名称),再重新启动即可。

ps -axu |grep httpd 可以看到httpd的进程,用浏览器打开即可看到“It works!”。

服务脚本如下:

#!/bin/bash
#
#description:httpdservice
#chkconfig:-8515
./etc/rc.d/init.d/functions
if[-f/etc/sysconfig/httpd];then
./etc/sysconfig/httpd
fi
HTTPD_LANG=${HTTPD_LANG-"C"}
INITLOG_ARGS=""
proc=httpd
apachectl=/usr/local/httpd/bin/apachectl
httpd=${httpd-/usr/local/httpd/bin/httpd}
pidfile=${pidfile-/var/run/httpd/httpd.pid}
lockfile=${lockfile-/var/lock/subsys/httpd}
STOP_TIMEOUT=${STOP_TIMEOUT-10}
RETVAL=0
start(){
echo-n$"Starting$prog:"
LANG=$HTTPD_LANGdaemon--pidfile=${pidfile}$httpd$OPTIONS
RETVAL=$?
echo
[$RETVAL=0]&&touch${lockfile}
return$RETVAL
}
stop(){
echo-n$"Stopping$prog:"
killproc-p${pidfile}-d${STOP_TIMEOUT}$httpd
RETVAL=$?
echo
[$RETVAL=0]&&rm-f${lockfile}${pidfile}
}
reload(){
echo-n$"Reloading$prog:"
if!LANG=$HTTPD_LANG$httpd$OPTIONS-t>&/dev/null;then
RETVAL=6
echo$"notreloadingduetoconfigurationSyntaxerror"
failure$"notreloading$httpdduetoconfigurationSyntaxerror"
else
#ForceLSBbehavIoUrfromkillproc
LSB=1killproc-p${pidfile}$httpd-HUP
RETVAL=$?
if[$RETVAL-eq7];then
failure$"httpdshutdown"
fi
fi
echo
}
case"$1"in
start)
start
;;
stop)
stop
;;
status)
status-p${pidfile}$httpd
RETVAL=$?
;;
restart)
stop
start
;;
condrestart|try-restart)
ifstatus-p${pidfile}$httpd>&/dev/null;then
stop
start
fi
;;
force-reload|reload)
reload
;;
graceful|help|configtest|fullstatus)
$apachectl$@
RETVAL=$?
;;
*)
echo$"Usage:$prog{start|stop|restart|condrestart|try-restart|force-reload|reload|status|
fullstatus|graceful|help|configtest}"
RETVAL=2
;;
esac
exit$RETVAL

至此基本配置完成。

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native