编译安装apache(2.4.25)

介绍

Apache至少需要apr、apr-util、pcre组件的支持。
APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。随着Apache的进一步开发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。这样,APR的开发就从Apache中独立出来,Apache仅仅是使用APR而已。目前APR主要还是由Apache使用,不过由于APR的较好的移植性,因此一些需要进行移植的C程序也开始使用APR。
APR-util是在APR的基础上提供了更多的数据结构和操作系统封装接口。APR-util依赖于APR,必须先安装APR再安装APR-util。
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl兼容的正则表达式库。

编译安装APR

官方网站:http://apr.apache.org/download.cgi
最新版本:APR 1.5.2
下载地址:http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.gz

1
2
3
4
5
6
cd  /usr/local/src
wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.gz
tar -zxf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
make && make install

编译安装APR-util

官方网站:http://apr.apache.org/download.cgi
最新版本:APR-util 1.5.4
下载地址:http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar

1
2
3
4
5
6
cd  /usr/local/src
wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
tar -zxf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install

编译安装PCRE

官方网站:http://pcre.org/
最新版本:pcre-8.39,不能使用PCRE2
下载地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz

1
2
3
4
5
6
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
tar -zxf pcre-8.40.tar.gz
cd pcre-8.40
./configure --prefix=/usr/local/pcre
make && make install

编译安装Apache

官方网站:http://httpd.apache.org/
最新版本:Apache httpd 2.4.25
下载地址:http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.25.tar.gz

1
2
3
4
5
6
cd  /usr/local/src
wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.25.tar.gz
tar -zxf httpd-2.4.25.tar.gz
cd httpd-2.4.25
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-rewrite --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-module=shared
make && make install

设置开机启动

1、将apachectl命令拷贝到/etc/init.d目录下,改名为httpd

1
cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

2、编辑/etc/init.d/httpd文件,在第1行#!/bin/sh的后面添加如下两行
vi /etc/init.d/httpd

1
2
#chkconfig: 2345 70 30
#description: Apache

chmod +x /etc/init.d/httpd

3、Apache服务尚未被添加到chkconfig列表中,需要使用–add参数将其添加进去

1
2
3
chkconfig --add httpd
chkconfig --list httpd
chkconfig httpd on

service httpd restart

其它

编辑httpd.conf

1
2
3
4
5
6
找到ServerName,将其设置为localhost:80,并将前面的井号删除
<Directory />
Options Indexes FollowSymLinks
AllowOverride all
Allow from all
</Directory>

Nginx编辑安装请参见下面的文章
http://www.cnblogs.com/chjw8016/p/5953011.html
http://www.cnblogs.com/chjw8016/p/5952999.html