-----------------------------------------------
一、前言
二、环境
1.系统
2.源码包
三、安装配置
1.安装开发工具
2.卸载RPM包
3.安装pcre-devel
4.安装apr
5.安装apr-util
6.安装httpd
四、测试
1.启动
2.编写脚本
-----------------------------------------------
一、前言
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
二、环境
1.系统
CentOS6.4 32位
2.源码包
apr-1.4.6.tar.gz
apr-util-1.5.1.tar.gz
httpd-2.4.4.tar.bz2
源码包下载地址:http://pan.baidu.com/s/1iWmdA
三、安装配置
1.安装开发工具
[root@localhost ~]# yum groupinstall "Development tools" [root@localhost ~]# yum groupinstall "Additional Development"
2.卸载RPM包
[root@localhost ~]# rpm -qa |grep httpd httpd-tools-2.2.15-26.el6.centos.i686 httpd-2.2.15-26.el6.centos.i686 [root@localhost ~]# yum remove httpd
3.安装pcre-devel
[root@localhost httpd-2.4.4]# yum list all |grep pcre pcre.i686 7.8-6.el6 @anaconda-CentOS-201303020136.i386/6.4 pcre-devel.i686 7.8-6.el6 c6-media pcre-static.i686 7.8-6.el6 c6-media [root@localhost httpd-2.4.4]# yum install pcre-devel
4.安装apr
[root@localhost ~]# tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/ [root@localhost ~]# tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/ [root@localhost ~]# tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/ [root@localhost ~]# cd /usr/local/src/ [root@localhost src]# cd apr-1.4.6/ [root@localhost apr-1.4.6]# ./configure --prefix=/usr/local/apr [root@localhost apr-1.4.6]# make && make install
配置库文件
[root@localhost apr-1.4.6]# cd /usr/local/apr [root@localhost apr]# ls bin build-1 include lib [root@localhost apr]# cd lib/ [root@localhost lib]# ls apr.exp libapr-1.a libapr-1.la libapr-1.so libapr-1.so.0 libapr-1.so.0.4.6 pkgconfig [root@localhost lib]# vim /etc/ld.so.conf.d/apr.conf /usr/local/apr/lib [root@localhost lib]# ldconfig
配置头文件
[root@localhost lib]# cd ../include/apr-1/ [root@localhost apr-1]# ls apr_allocator.h apr_general.h apr_network_io.h apr_signal.h ...... [root@localhost apr-1]# cd /usr/include/ [root@localhost include]# ln -s /usr/local/apr/include/apr-1/ apr [root@localhost include]# ll apr lrwxrwxrwx. 1 root root 29 Feb 13 18:59 apr -> /usr/local/apr/include/apr-1/
5.安装apr-util
[root@localhost apr-1.4.6]# cd ../apr-util-1.5.1/ [root@localhost apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config [root@localhost apr-util-1.5.1]# make && make install
配置库文件
[root@localhost apr-util-1.5.1]# cd /usr/local/apr-util/ [root@localhost apr-util]# ls bin include lib [root@localhost apr-util]# cd lib/ [root@localhost lib]# ls apr-util-1 libaprutil-1.la libaprutil-1.so.0.5.1 libexpat.so ...... [root@localhost lib]# vim /etc/ld.so.conf.d/apr-util.conf /usr/local/apr-util/lib [root@localhost lib]# ldconfig
配置头文件
[root@localhost lib]# cd ../include/apr-1/ [root@localhost apr-1]# ls apr_anylock.h apr_hooks.h apr_md5.h apr_sdbm.h ....... [root@localhost apr-1]# pwd /usr/local/apr-util/include/apr-1 [root@localhost apr-1]# cd /usr/include/ [root@localhost include]# ln -s /usr/local/apr-util/include/apr-1/ apr-util [root@localhost include]# ll apr-util lrwxrwxrwx. 1 root root 34 Feb 13 19:09 apr-util -> /usr/local/apr-util/include/apr-1/
6.安装httpd
[root@localhost apr-util-1.5.1]# cd ../httpd-2.4.4/ [root@localhost httpd-2.4.4]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config [root@localhost httpd-2.4.4]# make && make install
配置头文件
[root@localhost httpd-2.4.4]# cd /usr/local/apache/ [root@localhost apache]# ls bin build cgi-bin error htdocs icons include logs man manual modules [root@localhost apache]# cd include/ [root@localhost include]# ls apache_noprobes.h ap_release.h http_vhost.h ..... [root@localhost include]# pwd /usr/local/apache/include [root@localhost include]# cd /usr/include/ [root@localhost include]# ln -s /usr/local/apache/include/ apache [root@localhost include]# ll apache lrwxrwxrwx. 1 root root 26 Feb 13 19:18 apache -> /usr/local/apache/include/
配置man手册
[root@localhost include]# cd /usr/local/apache/man [root@localhost man]# ls man1 man8 [root@localhost man]# vim /etc/man.config 48 MANPATH /usr/local/apache/man //添加到48行
四、测试
1.启动
[root@localhost ~]# cd /usr/local/apache/bin [root@localhost bin]# ./httpd -k start [root@localhost bin]# netstat -tupln |grep 80 tcp 0 0 :::80 :::* LISTEN 20027/./httpd
2.编写脚本
[root@localhost bin]# cd /etc/init.d/ [root@localhost init.d]# vi httpd
#!/bin/bash [ -e /etc/init.d/functions ] && . /etc/init.d/functions prog=/usr/local/apache/bin/httpd lockfile=/var/lock/subsys/httpd start () { if [ -e $lockfile ];then echo "Started httpd." else echo "Starting httpd:" sleep 1 $prog && echo "ok" && touch $lockfile fi } stop () { if [ ! -e $lockfile ];then echo "Stoped httpd." else echo -n "Stopping httpd:" sleep 1 killproc httpd && echo "ok" && rm -rf $lockfile || echo "failer" fi } status () { if [ -e $lockfile ];then echo "httpd is running..." else echo "httpd is stoped..." fi } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo "USE ONLY:start|stop|restart|status" esac
[root@localhost init.d]# chmod a+x httpd [root@localhost ~]# service httpd start Starting httpd: ok [root@localhost ~]# service httpd restart Stopping httpd: [ OK ] Starting httpd: ok [root@localhost ~]# service httpd stop Stopping httpd: [ OK ] [root@localhost ~]# service httpd status httpd is stoped...