【下载】
安装Apache需要用到的工具包有:apr、apr-util、pcre、httpd,三者的下载链接分别如下:
// httpd工具包下载路径
http://httpd.apache.org/download.cgi
// apr、apr-util工具包下载路径
http://apr.apache.org/download.cgi
// httpd工具包下载路径
http://sourceforge.net/projects/pcre/
【文件路径】
我们下载来工具压缩包,解压缩,编译都是在如下文件路径这个大环境下:
/usr/local
因为本人登录的ubuntu账号不是以root身份,所以在执行命令前,都添加了sudo,如果你是以root身份使用ubuntu,可以不用去掉sudo命令。
我们编译的结果最好存放在另外的文件夹,所以我们分别针对apr-X.X.X、apr-util-X.X.X、pcre-X.X.X、httpd-X.X.X在大环境目录下新建我们的文件夹:
sudo mkdir apr
sudo mkdir apr-util
sudo mkdir pcre
sudo mkdir apache
【解压编译apr】
tar -zxvf apr-X.X.X.tar.gz
cd apr-X.X.X
sudo ./configure --prefix=/usr/local/apr
sudo make
sudo make install
【解压编译apr-util】
tar -zxvf apr-util-X.X.X.tar.gz
cd apr-util-X.X.X
sudo ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
sudo make
sudo make install
【解压编译pcre】
tar -zxvf pcre-X.X.X.tar.gz
cd pcre-X.X.X
sudo ./configure --prefix=/usr/local/pcre
sudo make
sudo make install
在运行的指令的时候会报出类似如下的错误:
configure: error: You need a C++ compiler for C++ support
原因是我们ubuntu没有C++的编译器,所以我们需要安装,网上有说执行如下指令可以下载C++编译器:
yum install -y gcc gcc-c++
但是我们的系统是ubuntu,ubuntu默认的包管理器是agt,而yum是fedora, redhat的包管理器,所以我们需要执行apt指令来下载C++编译器:
sudo apt-get install build-essential
相关参考见:http://www.cnblogs.com/zero1665/archive/2009/11/03/1595510.html
【解压编译apache】
tar -xzvf httpd-X.X.X.tar.gz
cd httpd-X.X.X
sudo ./configure --prefix=/usr/local/apache/ --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
sudo make
sudo make install
【启动apache】
cd /usr/local/apache/bin
sudo ./apachectl start
这时候,我们会遇到这样的错误:
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
提示告诉我们,需要将ServerName进行相关设置,我们先找到httpd.conf文件:
cd /usr/local/apache/conf/
sudo vim httpd.conf
ServerName www.example.com:80
我们对这个文件保存修改,会发现该文件为“readonly file”,只能读不能修改,所以我们要在强制关闭httpd.conf文件后,对这个文件的读写权限进行修改:
chmod 777 httpd.conf
cd /usr/local/apache/bin
sudo ./apachectl start
这时候我们再执行:
sudo ./apachectl start
如果出现:
httpd (pid 10624) already running
则说明我们的apache已经成功开启,apache配置完成!
---END---