linux安装Apache服务器




目的:用于程序、网站部署,python CGI编程等



 


1.apack123下是下载的相关安装包



 


2.进入 httpd-2.4.46


./configure --prefix=/usr/local/apache24



 


 


3.提示APR not find,进入apr-1.7.0 执行红线中的命令



 


4.紧接着分别执行


make


make install 模块才算安装成功 否则该模块不算完成


 



 


5.提示APR could not be located 执行以下指令


./configure --prefix=/usr/local/apache24/apr-util --with-apr=/usr/local/apache24/apr



6.提示fatal error:expat.h找不到 如下安装expat库

yum install expat-devel


完成后再分别


make


make install


执行完全不报错才算安装完成


 


./configure --prefix=/usr/local/apache24 --with-apr=/usr/local/apache24/apr --with-apr-util=/usr/local/apache24/apr-util/


 


./configure --prefix=/usr/local/apache24/pcre --with-apr=/usr/local/apache24/apr --with-apr-util=/usr/local/apache24/apr-util/


 


最后


./configure --prefix=/usr/local/apache24 --with-apr=/usr/local/apache24/apr --with-apr-util=/usr/local/apache24/apr-util/ --with-pcre=/usr/local/apache24/pcre/


 



紧接着


make


make install



 


7.出现上述XML_Setcollect2:error


 


7.1 方法1:目前行不通


​javascript:void(0)​


 



简单的解决方法:


进入apr和apr-util的解压目录


> cp -r apr-1.6.\* httpd-2.4.\*/srclib/apr


> cp -r apr-util-1.6.\* httpd-2.4.\*/srclib/apr-util


*:替换自己的版本号


最后在编译httpd的时候后面加上 --with-inclued-apr


就大功告成了


上面这个无法解决:这个才是解决方案


7.2 方法2:可行


​javascript:void(0)​


 



/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_SetCharacterDataHandler'


collect2: ld returned 1 exit status


make[2]: * [htpasswd] Error 1


make[2]: Leaving directory `/usr/local/httpd-2.4.29/support'


make[1]: * [all-recursive] Error 1


make[1]: Leaving directory `/usr/local/httpd-2.4.29/support'


make: * [all-recursive] Error 1


原因:缺少了xml相关的库,导致reference无效


解决:# yum install -y libxml2-devel


注意:安装libxml2-devel后,需要删掉apr-util,重新安装


完了重新执行


./configure --prefix=/usr/local/apache24 --with-apr=/usr/local/apache24/apr --with-apr-util=/usr/local/apache24/apr-util/ --with-pcre=/usr/local/apache24/pcre/


make


make install


然后在我的apache24下面有如下:



此时可以删除安装包 apack123 了



ps -ef|grep httpd 如果有多余的httpd进程,可能是已启动,可以kill后启动



/usr/local/apache24/bin/apachectl start 启动



另外


/usr/local/apache24/bin/apachectl stop 停止


/usr/local/apache24/bin/apachectl restart 重启


*****************python CGI********************


8.修改httpd.conf 修改端口,支持python CGI访问等


/usr/local/apache24/conf vim httpd.conf


注:安装后地址正确,不能再改动



由于默认80端口有已占用,已改为8899



增加配置,以支持python CGI



 


/usr/local/apache24/cgi-bin 增加文件 hello.py (CGI编程)


 


重启apache24后访问 由于我的linux没安装python,所以出现这个内容: