关于OpenBSD自带apache开启Rewrite模块的探讨

在OpenBSD环境下搭建各种服务器的相关讨论。

版主: lionuxchenjun天地乾坤

回复
头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

关于OpenBSD自带apache开启Rewrite模块的探讨

帖子 leo » 2011-03-01 21:51

原来的OAMP方案并未提供提供Rewite方案,我原来以为Rewrite模块已经内置在系统自带的编译好的apache1.3里,仅需在/var/www/conf/httpd.conf里打开相应的设置就可以了,结果试了试不行。我的具体做法是在将:

代码: 全选

# LoadModule rewrite_module       /usr/lib/apache/modules/mod_rewrite.so
前面的注释符去掉,变成:

代码: 全选

LoadModule rewrite_module       /usr/lib/apache/modules/mod_rewrite.so
结果还是无法显示Rewrite规则定义的静态化网页,查看了一下说明文件,运行命令:

代码: 全选

# httpd -l
Compiled-in modules:
  http_core.c
  mod_env.c
  mod_log_config.c
  mod_mime.c
  mod_negotiation.c
  mod_status.c
  mod_include.c
  mod_autoindex.c
  mod_dir.c
  mod_cgi.c
  mod_asis.c
  mod_imap.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_access.c
  mod_auth.c
  mod_so.c
  mod_setenvif.c
  mod_keynote.c
  mod_ssl.c
suexec: disabled; invalid wrapper /usr/sbin/suexec
#
发现Rewrite模块并没有编译进现有的apache,又参考了网上的这篇文章http://www.openbsdsupport.org/ApacheSuexecChroot.html,重新编译了apache,

代码: 全选

# cd src/usr.sbin/httpd
# ./configure --with-layout="OpenBSD" --suexec-docroot="/cgi-bin" --suexec-logfile="/logs/suexec_log" --enable-suexec \
--enable-module=ssl --enable-module=so --enable-module=auth_anon --enable-shared=auth_anon \
--enable-module=expires --enable-shared=expires --enable-module=headers --enable-shared=headers \
--enable-module=auth_db --enable-shared=auth_db --enable-module=auth_dbm --enable-shared=auth_dbm \
--enable-module=auth_digest --enable-shared=auth_digest --enable-module=cern_meta --enable-shared=cern_meta \
--enable-module=define --enable-shared=define --enable-module=digest --enable-shared=digest \
--enable-module=info --enable-shared=info --enable-module=log_agent --enable-shared=log_agent \
--enable-module=log_referer --enable-shared=log_referer --enable-module=mime_magic --enable-shared=mime_magic \
--enable-module=mmap_static --enable-shared=mmap_static --enable-module=proxy --enable-shared=proxy \
--enable-module=rewrite --enable-shared=rewrite --enable-module=speling --enable-shared=speling \
--enable-module=unique_id --enable-shared=unique_id --enable-module=usertrack --enable-shared=usertrack \
--enable-module=vhost_alias --enable-shared=vhost_alias
但是发现还是实现不了该功能,似乎仍旧是没有包含此模块,也许是我的方法不对吧,有些疑惑,现在在看系统提供的dso.html,希望有类似经验的朋友提供方法。

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2011-03-03 16:24

将所有的

代码: 全选

AllowOverride None
修改为

代码: 全选

AllowOverride ALL
,搞定。

头像
lionux
锌 Zn
帖子: 457
注册时间: 2010-02-04 11:09

帖子 lionux » 2011-03-04 21:05

把这个改了就行,None改成ALL
#
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
#
AllowOverride None

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2011-03-04 21:15

lionux 写了:把这个改了就行,None改成ALL
多谢,好像还需要将这个选项的注释符去掉,但不需要重新编译apache了,也就是说默认编译的apache 1.3已经包含了rewrite模块。

代码: 全选

# LoadModule rewrite_module       /usr/lib/apache/modules/mod_rewrite.so

回复

在线用户

正浏览此版面之用户: 没有注册用户 和 35 访客