最近公司搭建一個內部協作平臺,使用
TWiki 4.1.1,服務器是RedHat Enterprise Linux AS 4,搭建過程中遇到了一些問題,也苦于尋找解決方法。? 搞定后,將這些東東貼出來,希望對以后安裝TWiki的同仁有所幫助!
裝完TWiki后訪問twiki網頁,出現Forbidden,Permission denied錯誤提示信息rt~,查看/var/log/httpd/error_log也顯示Permission denied,但twiki目錄及下面的數據都已經是chmod 777了-_-!,其父目錄home和bi(用戶目錄)也都有x權限,為什么還會拒絕訪問呢?
如果你使用的是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認證,如下所示
<Directory />
?? Options All
?? AuthMySQLEnable off
?? AllowOverride All
</Directory>
再試試登錄,應該好用了吧。
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'
一直回車即可
?
還可以參考:車東的
TWiki DakarRelease安裝備忘 ,(特別留意
評論)
版權所有 羅明