白森 发表于 2018-11-17 10:04:07

CentOs7安装apache以及遇到的问题

  新手在CentOs7装一个Apache时,可以参考本文,我自己鼓捣这个搞了两个晚上,太不给力了!
  1.下载httpd源码包
  # mkdir /usr/local/utils
  # cd /usr/local/utils
  # wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.34.tar.gz
  # tar -zxvf httpd-2.4.34.tar.gz
  2.下载依赖包(apr/apr-util/pcre)
  # wget http://archive.apache.org/dist/apr/apr-1.5.1.tar.gz
  # wget http://archive.apache.org/dist/apr/apr-util-1.6.0.tar.gz
  # wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.zip
  # tar -zxvf apr-1.6.3.tar.gz
  # tar -zxvf apr-util-1.5.1.tar.gz
  # unzip pcre-8.42.zip
  3.分别进行安装
  apr安装
  # mkdir /usr/local/apr
  # ./configure --prefix=/usr/local/apr
  # make
  # make install
  apr-util安装
  # mkdir /usr/local/apr-util
  # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config --enable-utf8
  # make && make install
  pcre安装
  # mkdir /usr/local/pcre
  # ./configure --prefix=/usr/local/pcre
  # make && make install
  4.安装httpd源码包
  #
  ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
  # 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:# /usr/local/apache/bin/apachectl start 或者# ./apachectl start
  在浏览器地址栏输入:http://192.168.1.109/,会显示:It works!
  大功告成!!!
  关闭Apache :# /usr/local/apache/bin/apachectl stop
  重启Apache :# /usr/local/apache2/bin/apachectl restart
  6.遇到的问题及解决办法(少踩坑,少走弯路)
  ********************************************************************************************
  如果遇到以下错误,则表示需要安装expat-devel。
  xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录#include
  原因:缺少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: *** Error 1
  make: Leaving directory `/usr/local/httpd-2.4.26/support'
  make: *** Error 1
  make: Leaving directory `/usr/local/httpd-2.4.26/support'
  make: *** Error 1
  ******************************************************************************

页: [1]
查看完整版本: CentOs7安装apache以及遇到的问题