安装mod_fastcgi失败的解决方法

Q:安装mod_fastcgi时出现如下错误:

root@mail mod_fastcgi-2.4.2]# make top_dir=/etc/httpd install
Makefile:12: /etc/httpd/build/special.mk: No such file or directory
make: *** No rule to make target `/etc/httpd/build/special.mk'. Stop
.......

A:#40楼,感谢kelphon 提供:http://www.extmail.org/forum/thread-2243-3-5.html

原因是默认的/etc/httpd/build/目录不存在
解决方法1, 安装httpd-devel包 yum install httpd-devel

解决方法2, 对应于apache2.2的fastcgi2.4.2的版本不支持2.2
最新的mod_fastcgi2.4.2并没有针对apache2.2作相应的修改,主要是apache2.2的lib名称前缀改为apr_,之前的是ap_。在网上找到一个mod_fastcgi的patch:http://www.fastcgi.com/archives/ ... ecember/004056.html 运行一下就可以了。
揭开mod_fastcgi的tar,里面有个Makeinstall.AP2,改名为Makeinstall并修改里面的apache相关路径,注意把apxs和apachectl的路径改成绝对路径,写完整,因为apache2.2跟apache2的目录结构有所不同,因为这个,害得我改了郁闷了好几天。


可以自行修改Makefile来解决
#  Makefile for Apache2
#

builddir    = .

# XXX change this line
top_dir      = /usr/share/apache2


top_srcdir   = ${top_dir}
top_builddir = ${top_dir}

include ${top_builddir}/build/special.mk

APXS      = apxs
APACHECTL = apachectl

#DEFS=-Dmy_define=my_value
#INCLUDES=-Imy/include/dir
#LIBS=-Lmy/lib/dir -lmylib

# XXX add this line
INCLUDES=-I /usr/include/apache2 -I /usr/include/apr-0

all: local-shared-build

install: install-modules

clean:
      -rm -f *.o *.lo *.slo *.la

[补充内容]

对于更新的版本,安装方法有些简单的变化:
#wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
#tar xvfz mod_fastcgi-2.4.2.tar.gz
#cd mod_fastcgi-2.4.2

./configure.apxs
    make
    make install

如果默认情况下,找不到apxs路径,则指定apxs的绝对路径,通过以下方式可以查到:
# rpm -ql httpd-devel

查到路径如下:
/usr/lib/httpd/build/special.mk   #该死的special.mk,在httpd-devel包里,未安装httpd-devel前,则无法找到而导致安装fcgi失败。
/usr/sbin/apxs

接着重新安装:

#APXS=/usr/sbin/apxs ./configure.apxs  #一路顺利安装
#make
#make install

而安装perl-FCGI则简单得多,直接下命令(CentoS)
#yum -y install perl-FCGI

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章