我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux下安装Apache指定安装模块以及安装后编译加载其他模块

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux下安装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工具能自动探测是否具备这样的条件,你也可以自己用这个命令手动探测:

$ httpd -l

该命令的输出列表中应该有mod_so模块。如果所有这些条件均已具备,则可以很容易地借助apxs安装你自己的DSO模块以扩展Apache服务器的功能:

$ apxs -i -a -c mod_foo.c
gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
ld -Bshareable -o mod_foo.so mod_foo.o
cp mod_foo.so /path/to/apache/modules/mod_foo.so
chmod 755 /path/to/apache/modules/mod_foo.so
[activating module 'foo' in /path/to/apache/etc/httpd.conf]
$ apachectl restart
/path/to/apache/sbin/apachectl restart: httpd not running, trying to start
[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
/path/to/apache/sbin/apachectl restart: httpd started
$ _

其中的参数files可以是任何C源程序文件(.c)、目标代码文件(.o)、甚至是一个库(.a)。apxs工具会根据其后缀自动编译C源程序或者连接 目标代码和库。但是,使用预编译的目标代码时,必须保证它们是地址独立代码(PIC),使之能被动态地加载。如果使用GCC编译,则应该使用 -fpic 参数;如果使用其他C编译器,则应该查阅其手册,为apxs使用相应的编译参数。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux下安装Apache指定安装模块以及安装后编译加载其他模块

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux下安装Apache指定安装模块以及安装后编译加载其他模块

一、安装apache时同时安装mod_proxy模块1.下载apache 本人下载的是httpd-2.2.12.tar.bz2,保存到了/home/sxs/software下。2.解压apache文件 进入/home/sxs/softwar
2022-06-03

Python及其常用模块库下载及安装

作者:LP帅气的昵称链接:http://www.jianshu.com/p/52eb3df32222來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。一、Python下载:https://www.python.o
2023-01-31

Linux下Apache安装/增加mod_rewrite模块的方法

如果你的apache已经安装好了,现在只想编译出mod_rewrite.so模块,在apache中进行加载,下面我们就介绍这个方法。
2022-11-21

Linux系统下怎么编译安装支持NTFS的内核模块

这篇文章主要讲解了“Linux系统下怎么编译安装支持NTFS的内核模块”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统下怎么编译安装支持NTFS的内核模块”吧!当你安装完Linu
2023-06-10

编程热搜

目录