下载安装包:
http://httpd.apache.org/download.cgi
httpd-2.4.29.tar.gz
复制代码
创建httpd用户
groupadd httpd
useradd -g httpd -s /sbin/nologin -M httpd
tar zxvf httpd-2.4.29.tar.gz
cd httpd-2.4.29
./configure –prefix =/usr/local/apache
make && make install
复制代码
编译apache时可能会出错:
./configure –prefix……检查编辑环境时出现:
checking for APR… no
configure: error: APR not found . Please read the documentation
解决办法:
安装 apr apr-util pcre
https://apr.apache.org/download.cgi
apr-1.6.3.tar.gz
./configure –prefix=/usr/local/apr
make && make install
apr-util-1.6.1.tar.gz
./configure –prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config
make && make install
编译apr-util时报错:make[1]: * [xml/apr_xml.lo] Error 1
解决方法:yum -y install expat-devel
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
pcre-8.38.zip
./configure –prefix=/usr/local/pcre
make && make install
然后安装Apache:
复制代码
./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
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to XML_ParserCreate'
XML_GetErrorCode’
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to XML_SetUserData'
XML_ErrorString’
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to XML_SetEntityDeclHandler'
XML_ParserFree’
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to XML_SetElementHandler'
XML_StopParser’
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to XML_Parse'
XML_SetCharacterDataHandler’
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to
collect2: ld returned 1 exit status
make[2]: * [htpasswd] Error 1
make[2]: Leaving directory /root/zhouw/package/httpd-2.4.29/support'
/root/zhouw/package/httpd-2.4.29/support’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
make: * [all-recursive] Error 1
复制代码
make 时上面报错,尝试用 apr-1.5.2 版本
下载地址: http://archive.apache.org/dist/apr/
wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
wget http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz
安装方法与上面 1.6版本一样,果然成功了。应该是 CentOS7 才支持 apr-1.6 版本。
安装完成后,切到安装目录,/usr/local/apache
vim conf/httpd.conf #配置“Listen”和“ServerName”属性;
Listen 80
ServerName localhost
./bin/apachectl configtest
Syntax OK
启动httpd
/usr/local/apache/bin/apachectl start | stop | restart
或者:
cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
/etc/init.d/httpd start