今天在家编译安装apache-2.4.6,照着老师的改了一下,不过老师讲的是2.2.22,和这个有些不一样,接下来就是安装步骤。
首先要安装apr和apr-util,在2.2是不用安装的,2.4要手动安装它。
我的环境是
cat /etc/redhat-release ;uname -r;uname -m CentOS release 5.9 (Final) 2.6.18-348.16.1.el5 x86_64
wget http://apache.etoak.com//apr/apr-1.4.8.tar.gz tar zxf apr-1.4.8.tar.gz mv apr-1.4.8 httpd-2.4.6/srclib/apr cd httpd-2.4.6/srclib/apr ./configure make && make install wget http://apache.etoak.com//apr/apr-util-1.5.2.tar.gz tar zxvf apr-util-1.5.2.tar.gz mv apr-util-1.5.2 httpd-2.4.6/srclib/apr-util/ cd httpd-2.4.6/srclib/apr-util/ ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
另外还要安装pcre,因为本机已经装过了,这里就不再装了
tar zxf httpd-2.4.6.tar.gz cd httpd-2.4.6 ./configure \ --prefix=/application/apache-2.4.6 \ --enable-deflate \ --enable-expires \ --enable-headers \ --enable-modules=most \ --enable-so \ --with-mm=worker \ --enable-rewrite \ --with-included-apr \ --with-apr=/usr/local/apr \ --with-apr-util=/usr/local/apr-util make && make install ln -s /application/apache-2.4.6/ /application/apache /application/apache/bin/apachectl start
当中出现的错误及解决方法
错误一:
httpd: Syntax error on line 140 of /home/raopact/apache/conf/httpd.conf: Cannot load /home/raopact/apache/modules/mod_dir.so into server: /home/raopact/apache/modules/mod_dir.so: undefined symbol: apr_array_clear
解决方法:
这是因为没有加 --with-included-apr 这个参数导致的,要重新编译安装,并且要把apr-1.4.8和apr-util-1.5.2去掉版本号后移动到httpd-2.4.6/srclib/下编译安装,这是必须的。
错误二:
httpd: Could not open configuration file /application/httpd-2.4.6/conf/httpd.conf: No such file or directory
解决方法:
出现这个问题是因为开始安装的时候是用的http-2.4.6这个目录,然后把这个删除了后,又重装安装了一遍,不过目录改成了apache-2.4.6,所以执行/application/apache-2.4.6/bin/apachectl时就报这个错误,这个错误折腾了我半天,心想编译安装的内容不都在apache-2.4.6这个目录新装的吗?为什么还有指定httpd-2.4.6这个目录呢,百思不得其解,最后网上搜索,看有网友说重新安装的话最好在./configure 配置后,make clean一下,这样就可以删除上次编译过的内容,报着死马当活马医的态度,make clean了一下。嗯,还真TM是这么回事,结果成功了!
总结:
第一个错误是在网上找了安装方法后觉得把apr和apr-util目录放在外面也没有问题,所以先试着弄的,事实证明,还是不行。
第二个错误真是折腾了我半天,总是找不到问题的所在,在网上也没有找到相应的答案,看到有人提了一句重装软件最好make clean一下,清除上次编译的内容。没想到还真是对了。
总结是个好习惯,尤其是遇到这种不常见的问题!
转载于:https://blog.51cto.com/godlike325/1312871