Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->网络应用 ->正文

解决Linux系统下Twiki权限设置相关问题

来源: 作者:Webmaster 时间:2008-02-04 点击: [收藏] [投稿]

如果你使用的是Redhat Enterprise Linux 4或者Fedora Core 2以上,那就是因为这些系统激活了SELinux,而apache设置和SELinux设置有冲突,所以要做适当调整。

1.假设目录结构为/home/bi/twiki,则要确保twiki数据属性是httpd_user_content_t,使用如下命令查看:

ls -Z /home/bi/

drwxr-xr-x nobody nobody user_u:object_r:user_home_dir_t twiki

如不是,则可通过chcon来逐级目录及文件更改,直至最后能访问:

chcon -R -t httpd_user_content_t /home/bi/twiki

chcon -t user_home_dir_t /home/bi

2.假设目录结构为/home/bi/twiki/bin,该目录存放twiki的perl脚本,检查脚本的属性,按SELinux contexts文件里定义的,脚本必须是httpd_sys_script_exec_t 属性。通过ls -Z查看,如果不是则通过如下命令更改:

chcon -t httpd_sys_script_exec_t /home/bi/twiki/bin/*

ok,重启apache(service httpd restart),访问twiki网页。

安装好Twiki后,在htpasswd里添加了用户名和密码(在twiki/data目录下用命令htpasswd .htpasswd someuser),login时密码正确但仍旧不能登录。

rt~,登陆Twiki时,用户名密码输入正确(使用的是htpasswd认证方法,用户名密码与htpasswd中设置的一致),但确定后仍旧弹出登录框,而且在/var/log/httpd/error_log里显示:MySQL user AndyLuo not found...。按理说TWiki是不用数据库的。

在twiki论坛里找到了解决办法,将e文翻译下,如果Apache中安装了mod_auth_mysql模块,则尽管设置了使用basic认证方式,Apache都会在认证时首先使用MySQL进行认证,所以会出现找不到MySQL用户的情况。

解决办法:在httpd.conf的directory标签里添加AuthMySQLEnable off,撤销MySQL认证,如下所示

Options All

AuthMySQLEnable off

AllowOverride All

再试试登录,应该好用了吧。

TWiki的中文支持

TWiki默认是iso8859-1编码,不支持中文编辑, 界面也是全英文。

如何让TWiki支持中文,而且界面也变成中文(国际化)的呢?

在configure里配置如下项即可:

{UserInterfaceInternationalisation} √

{Languages}{'zh-cn'}{Enabled} √

{DisplayTimeValues} servertime

{UseLocale} √

{Site}{Locale} zh_CN.UTF-8

{Site}{LocaleRegexes} √

{Site}{CharSet} UTF-8

{Site}{Lang} zh

{Site}{FullLang} zh-cn

{PluralToSingular} √

安装CGI::Session模块

如果perl里没装此模块,twiki就不能提供session支持(每次edit都要重新登录),可以用如下命令安装:

[root@mail twiki]# perl -MCPAN -e 'install CGI::Session'

一直回车即可。

(责任编辑:云子)



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:实用技巧:使Linux系统的服务器快速登录   下一篇:Linux hosts.allow与hosts.deny限制访问

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号