给apache编译加载模块

林继 VPS 知识 3,015 共写了1509个字 (2011-03-11 23:48:27) 没有评论 打印 扫描二维码 百度已收录

默认安装好的apache,很多模块都没有。我们可以在安装的时候指定安装哪些模块,也可以在安装好以后添加各种模块。

一、安装apache时同时安装mod_proxy模块

1.下载apache。
本人下载的是httpd-2.2.17.tar.gz,保存到了根目录下。

2.解压apache文件
在根目录直接执行:

  1. # tar -xzf httpd-2.2.17.tar.gz

将在根目录生成一个httpd-2.2.17文件夹。

如果下载的文件后缀是tar.gz2,需要用如下命令

  1. # tar -xjf httpd-2.2.17.tar.gz2

3.设置安装目录和参数
进入新解压的httpd-2.2.17文件夹,执行:

  1. # ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=proxy

(一般网上都是说./configure –prefix=/usr/local/apache,这里是指定安装mod_proxy模块,如何指定其他模块暂时不清楚,但是安装好apache后可以通过第二部分添加模块)

4.编译部署apache

  1. # make WITH_PROXY_MODULES=yes //(网上文章一般都是直接:make) 
  2. # 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目录,在第一部分是httpd-2.2.17

2.找到要编译的文件

  1. # find ./ -name mod_rewrite.c

3.进入mod_rewrite.c所在目录

  1. # cd modules/mappers

4.编译mod_rewrite.c

  1. # /usr/local/apache/bin/apxs -c mod_rewrite.c

5.安装mod_rewrite模块

  1. # /usr/local/apache/bin/apxs -ian rewrite mod_rewrite.la

注:以上4、5两个步骤也可以合并为一个步骤

  1. # /usr/local/apache/bin/apxs -iac mod_rewrite.c

三、编译加载mod_status.so

1.进入解压后的apache目录,在第一部分是httpd-2.2.17

2.找到要编译的文件

  1. # find ./ -name mod_status.c
  2. httpd-2.2.17/modules/generators/mod_status.c

3.进入mod_status.c所在目录

  1. # cd modules/generators

4.编译并安装mod_rewrite模块

  1. # /usr/local/apache/bin/apxs -iac mod_status.c
  1. #往 httpd.conf 文件里增加以下代码
  2. ExtendedStatus On
  3. <Location /server-status>
  4.   SetHandler server-status
  5.   Order deny,allow
  6.   Deny from all
  7.   Allow from all
  8. </Location>

注:
apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。

因此,要使用这个扩展机制,你的平台必须支持DSO特性,而且Apache httpd必须内建了mod_so模块。

apxs工具详细使用见另外的文章《apxs-apache扩展工具

四、LUM能发 php mail 的方法
在Debian上的解决办法:
1. apt-get install exim4
2. dpkg-reconfigure exim4-config(全部用默认配置,一直回车便可)
3. 在邮局域里填自己的域名 如:linji.cn
4. 在IP里填网站的IP地址,不能是内部IP

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >