今天安装apache遇到点坑,因此写一篇记录一下c++
Debian自己能够简单地经过apt-get命令得到apache2,本教程属于另外一种本身下载安装的方式,目的是解决依赖问题。git
本机环境github
系统:我的PC Debian/Deepin-15.5,该教程适用于Debian系统apache
安装软件浏览器
目标软件:apache-httpd,即apache服务器软件,目前(02/20/2018)版本2.4.29,下载官网http://httpd.apache.org/,建议直接访问清华镜像下载。服务器
可能遇到的坑网站
主要是软件缺失和命令输错,这也是本文目的所在spa
可能须要提早安装的软件:3d
- gcc-c++ (可使用`gcc -v`查看本机是否已经安装gcc),下载官网GNU-GCC
- expat(做用:解析XML),下载官网expat,不过建议直接使用命令`sudo apt-get install libexpat-dev`安装
若是安装过程当中遇到一堆..undefined reference to `XML_..`,以下图blog

我按照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之)