转载与https://blog.51cto.com/9083918/2159995
新手在CentOs7装一个Apache时,可以参考本文
1.下载httpd源码包
[root@localhost utils]# mkdir /usr/local/utils
[root@localhost utils]# cd /usr/local/utils
[root@localhost utils]# wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.34.tar.gz
[root@localhost utils]# tar -zxvf httpd-2.4.34.tar.gz
2.下载依赖包(apr/apr-util/pcre)
[root@localhost utils]# wget http://archive.apache.org/dist/apr/apr-1.5.1.tar.gz
[root@localhost utils]# wget http://archive.apache.org/dist/apr/apr-util-1.6.0.tar.gz
[root@localhost utils]# wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.zip
[root@localhost utils]# tar -zxvf apr-1.6.3.tar.gz
[root@localhost utils]# tar -zxvf apr-util-1.5.1.tar.gz
[root@localhost utils]# unzip pcre-8.42.zip
3.分别进行安装
apr安装
[root@localhost apr-1.6.3]# mkdir /usr/local/apr
[root@localhost apr-1.6.3]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.6.3]# make
[root@localhost apr-1.6.3]# make install
apr-util安装
[root@localhost apr-util-1.5.1]# mkdir /usr/local/apr-util
[root@localhost apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config --enable-utf8
[root@localhost apr-util-1.5.1]# make && make install
pcre安装
[root@localhost pcre-8.42]# mkdir /usr/local/pcre
[root@localhost pcre-8.42]# ./configure --prefix=/usr/local/pcre
[root@localhost pcre-8.42]# make && make install
4.安装httpd源码包
[root@localhost httpd-2.4.34]#
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
[root@localhost httpd-2.4.34]# make && make install
5.启动Apache
开启80端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙: firewall-cmd --reload
修改httpd.conf配置文件:打开/usr/local/apache/conf/httpd.conf,找到# ServerName www.example.com:80这一行,把#号删掉
启动Apache:[root@localhost conf]# /usr/local/apache/bin/apachectl start 或者 [root@localhost bin]# ./apachectl start
在浏览器地址栏输入:http://192.168.1.109/,会显示:It works!
大功告成!!!
关闭Apache :[root@localhost conf]# /usr/local/apache/bin/apachectl stop
重启Apache :[root@localhost conf]# /usr/local/apache2/bin/apachectl restart
6.遇到的问题及解决办法(少踩坑,少走弯路)
********************************************************************************************
如果遇到以下错误,则表示需要安装expat-devel。
xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录 #include <expat.h>
原因:缺少expat-devel包,安装该包即可:yum install expat-devel
********************************************************************************************
如果遇到下面的问题,是因为是安装了最新的1.6版本的apr-util导致的,调整为1.5版本的就可以了 !
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_GetErrorCode'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetEntityDeclHandler'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ParserCreate'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetCharacterDataHandler'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ParserFree'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetUserData'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_Parse'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ErrorString'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetElementHandler'
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/usr/local/httpd-2.4.26/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/httpd-2.4.26/support'
make: *** [all-recursive] Error 1
******************************************************************************