Linux下安装apache指定安装模块or安装后编译加载其他模块
Linux下如何安装apache,网上资料很多,这里不重复,但是根据网上的很多文章,默认安装好的apache,很多模块都没有。我们可以在安装的时候指定安装哪些模块,也可以在安装好以后添加各种模块。
一、安装apache时同时安装mod_proxy模块
1.下载apache。
本人下载的是httpd-2.2.12.tar.bz2,保存到了/home/sxs/software下。
2.解压apache文件
进入/home/sxs/software文件夹,执行:
# tar -xjf httpd-2.2.12.tar.bz2
将在/home/sxs/software下生成一个httpd-2.2.12文件夹。
如果下载的文件后缀是tar.gz,需要用如下命令
# tar -xzf httpd-2.2.12.tar.gz
3.设置安装目录和参数
进入新解压的httpd-2.2.12文件夹,执行:
# ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=proxy
(一般网上都是说./configure --prefix=/usr/local/apache,这里是指定安装mod_proxy模块,如何指定其他模块暂时不清楚,但是安装好apache后可以通过第二部分添加模块)
4.编译部署apache
# make WITH_PROXY_MODULES=yes //(网上文章一般都是直接:make)
# make install
5.在/usr/local将会看到apache文件夹,打开httpd.conf文件,可以看到:
LoadModule proxy_module modules/mod_proxy.so等代码,在modules文件夹下也可以看到相应的mod_proxy.so文件。
默认linux下安装apache是不安装mod_proxy等模块的。
二、安装apache后编译加载其他模块
假定现在需要编译加载mod_rewrite.so
1.进入解压后的apache目录,在第一部分是/home/sxs/software/httpd-2.2.12
2.找到要编译的文件
# find ./ -name mod_rewrite.c
3.进入mod_rewrite.c所在目录
# cd modules/mappers
4.编译mod_rewrite.c
# /usr/local/apache/bin/apxs -c mod_rewrite.c
5.安装mod_rewrite模块
# /usr/local/apache/bin/apxs -ian rewrite mod_rewrite.la
注:以上4、5两个步骤也可以合并为一个步骤
# /usr/local/apache/bin/apxs -iac mod_rewrite.c
注:
apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。
因此,要使用这个扩展机制,你的平台必须支持DSO特性,而且Apache httpd必须内建了mod_so模块。
apxs工具详细使用见另外的文章《apxs-apache扩展工具》