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 次 |
最近记录: |