1.下载apache
wget http://www.xxx.com/httpd.tar.gz
2.编译前解决依赖关系
sudo apt-get update
sudo apt-get install gcc g++ make libtool -y
3.下载安装依赖(apr 和apr-util,pcre),如果存在可以跳过,但要防止版本过低的情况。apr是(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。
tar -zxf apr-1.5.1.tar.gz
cd apr-1.5.1
./configure --prefix=/opt/apr
make
sudo make install
tar -zxf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/opt/apr-util --with-apr=/opt/apr
make
sudo make install
tar -zxf pcre-8.36.tar.gz
cd pcre-8.36
./configure --prefix=/opt/pcre
make
sudo make install
--prefix=/opt/apr-util 指定将apr-util-1.5.4安装在/opt/apr-util目录下。
4.编译安装apache
tar -zxf httpd-2.2.29.tar.gz
cd httpd-2.2.29
./configure --prefix=/opt/apache --with-apr=/opt/apr --with-apr-util=/opt/apr-util --with-pcre=/opt/pcre
make
sudo make install
sudo sed -i 's/^#ServerName.*/ServerName localhost/' /opt/apache/conf/httpd.conf
5.启动
sudo /opt/apache/bin/apachectl start
6.测试
curl -I 127.0.0.1
成功会返回ok之类.
在Linux系统中,专门提供了一个make命令来自动维护目标文件,与手工编译和连接相比,make命令的优点在于他只更新修改过的文件(在Linux中,一个文件被创建或更新后有一个最后修改时间,make命令就是通过这个最后修改时间来判断此文件是否被修改),而对没修改的文件则置之不理,并且make命令不会漏掉一个需要更新的文件。