Jul*_*ius 4 apache apache-modules
我刚刚在全新安装的 Ubuntu 10.04.2 上编译了 Apache 2.2.17。这是一个学习练习,旨在发现编译某些内容时实际发生的情况,而不仅仅是使用 apt-get,因此避免使用 apt-get 而有利于自己编译该内容。
我跑:
sudo ./configure --prefix=/etc/apache --enable-module=so --enable-rule=SHARED_CORE --enable-shared=max --enable-ssl=shared --enable-rewrite=shared
Run Code Online (Sandbox Code Playgroud)
接下来是强制性的:
sudo make && sudo make install
Run Code Online (Sandbox Code Playgroud)
一切似乎都很顺利(Apache 启动没有问题),除了在 Apache 模块目录中,我本来希望看到 mod_rewrite.so 和 mod_ssl.so,但我看到:
#cd /etc/apache/modules
#ls -l
mod_rewrite.a
mod_rewrite.la
mod_ssl.a
mod_ssl.la
Run Code Online (Sandbox Code Playgroud)
如何将它们转换为 .so 文件,以便可以将它们与 Apache 配置中的 LoadModule 链接?
提前致谢。
您不应该以 root 身份运行所有内容。./configure并且make无需 root 权限即可正常工作,make install需要 root 权限才能写入/etc和等目录/usr/bin。
/etc不适合可执行文件,更不用说完整的 Apache 安装了。如果您想将配置文件放入 中/etc/apache,请使用--sysconfdir=/etc/apache. 安装自定义构建 Apache 的正确位置是/usr/local.
要启用共享模块,您必须传递选项--enable-so,应将应编译为共享的模块添加到--enable-mods-shared.
Apache + mod_ssl(共享模块)+ mod_rewrite(共享模块)的正确配置行是/usr/local/apache与配置文件一起安装在/etc/apache:
./configure --prefix=/usr/local/apache --sysconfdir=/etc/apache --enable-so \
--enable-rewrite --enable-ssl --enable-mods-shared='rewrite ssl'
Run Code Online (Sandbox Code Playgroud)
成功配置 Apache HTTPd 后,make运行sudo make install.
有关配置选项的更多信息可以在Apache HTTPd 文档中找到。
| 归档时间: |
|
| 查看次数: |
15216 次 |
| 最近记录: |