Apache安装模块

如果在apache发现没有mod_*,可能是当初编译apache的时候没有带上 --enable-*选项,或者Apache默认没有带上。我用最常用的mod_rewrite来做说明如何挂载一个模块。


重新编译mod_rewrite.so:

在apache的源码目录中寻找mod_rewrite.c文件(如果没有那么就去下载源码,然后cd进去)

find / -name mod_rewrite.c

/root/src/httpd-2.2.25/modules/mappers/mod_rewrite.c


编译:

cd /root/src/httpd-2.2.25/modules/mappers/

/Apache安装目录/bin/apxs -c mod_rewrite.c

/Apache安装目录/bin/apxs -i -a -n mod_rewrite mod_rewrite.la

如果没出错,在/Apache安装目录/modules/ 中就会有mod_rewrite.so了

并且在Apache的配置文件httpd.conf也会添加对应的LoadModule mod_rewrite modules/mod_rewrite.so


注意:

在命令执行后,apxs会在LoadModule中为rewrite加上"_module"以标名模块名称。如果你在启动apache时发现总是给出“不能定位API”之类的错误,那就是说明LoadModule后面的模块名的语法要根据您的apache版本加以改变。

我的apache 2.2.25 是:LoadModule rewrite_module modules/mod_rewrite.so

你可能感兴趣的:(Apache安装模块)