今天安装apache遇到点坑,所以写一篇记录一下
本机环境
系统:个人PC Debian/Deepin-15.5,该教程适用于Debian系统
安装软件
目标软件:apache-httpd,即apache服务器软件,目前(02/20/2018)版本2.4.29,下载官网http://httpd.apache.org/,建议直接访问清华镜像下载。
可能遇到的坑
主要是软件缺失和命令输错,这也是本文目的所在
可能需要提前安装的软件:
- gcc-c++ (可以使用`gcc -v`查看本机是否已经安装gcc),下载官网GNU-GCC
- expat(作用:解析XML),下载官网expat,不过建议直接使用命令`sudo apt-get install libexpat-dev`安装
如果安装过程中遇到一堆..undefined reference to `XML_..`,如下图
我按照stackoverflow上的说法,
在`./configure --prefix=安装目录 --with-included-apr`阶段,使用`./configure --prefix=安装目录 --with-included-apr --with-included-apr-util`替代之,则错误消失
注意:如果按上面方法没有解决问题,请Google之
以下是基本安装过程:
除了上述软件外,下载以下软件
- APR,下载官网APR&APR-util
- APR-util,下载网站同上
- PCRE(这个看其它教程需要安装,我在安装的时候没有用到,你可以根据make阶段是否提及PCRE决定是否安装),下载官网PCRE
过程:
使用`sudo tar -zxvf 文件路径` 解压tar.gz格式文件,默认解压到当前文件夹,可以附加`-C 目标路径`指定解压路径(trick:你的终端可能支持在输入完sudo tar -zxvf后直接将文件拖入终端,节省输入文件路径的时间)。
- 按上法,解压httpd-2.x.xx.tar.gz
- 解压apr-1.x.x.tar.gz和apr-util-1.x.x.tar.gz到文件夹 httpd-2.x.xx/srclib/ 下
- 将第二步解压的两个文件夹的名字分别改为`apr`和`apr-util`(注意:需要提升权限才可以进行操作,我是直接修改权限chmod 777 -R srclib然后重命名的,你可以通过终端修改文件夹名字)
- 进行配置,使用`./configure --prefix=安装目录 --with-included-apr with-included-apr-util`将安装目录修改为你希望安装的位置,建议/usr/local/apache2(此刻你的终端在文件夹httpd-2.x.xx下)
- 然后使用命令`make`,这步时间较长,如果你的时间短,建议先检查结束时终端是否有ERROR字样,我的终端正常结束时返回make[1] leaving directory /usr/local/apache2,你的可能不同,但确保没有ERROR
- 使用命令`make install`如果这一步出错,建议检查以上一步是否有错,我正常结束也有上一步正常结束返回的字样
- 安装完成,进入你的安装目录/bin ,使用./apachectl start启动apache服务器,在浏览器输入127.0.0.1得到 it works 字样成功(注意:如果你同时启动其他服务器软件,你可能得到冲突,附加端口号可能解决问题,具体请Google之)