Dokuwiki (正體中文)

From ArchWiki
Jump to: navigation, search

安裝 DokuWiki

DokuWiki 是什麼?

"DokuWiki 是一個讓使用者能建立出豐富文件庫,並與標準相容且易用的wiki系統。它提供環境給個人、團隊或公司使用一種簡單但拋耳否的語法格式來創作與協作,並確保檔案資料在wiki之外也能維持內容的結構與可讀性。"

"無次數限制的頁面修訂可讓頁面恢復到先前任一版本,資料也以純文字檔儲存,無需使用資料庫。拋耳否的外掛架構讓系統核心得以擴充與強化。看看功能特色章節瞭解DokuWiki所提供功能的完整描敘。"[1]

另一方面來說,DokuWiki是個由PHP程式語言所編寫、可不使用資料庫的wiki系統。

想看看一個在跑的例子?

說在前頭

接下來的內容會指引你設置DokuWiki在html目錄之下。

若有人可把vhost設置步驟加入的話,請覺得免費去加進來。

lighttp 筆記

更多細節請看 Lighttpd#FastCGI

html 目錄位於 /srv/http 。這目錄可能不是預設就被建立的,沒有你可以自己產生它。

 #mkdir -p /srv/http

lighttp 也會產生或使用 http:http 使用者帳號與群組。

 #chown http:http /srv/http

所有這些設定都能在這個檔案中作修改

 /etc/lighttpd/lighttpd.conf

DokuWiki 筆記

DocuWiki 部份外掛會尋找網頁伺服器的根目錄,而不是DokuWiki的根目錄這會導致一些問題發生。 所有預設外掛都能用下面的方法安裝。

安裝 lighttp

PHP, lighttp, 還有 fastcgi

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Dokuwiki (正體中文)#)

安裝 PHP Lighttpd#FastCGI

 #pacman -S lighttpd fcgi php-cgi

加 lighttpd 到你的 rc.conf 裡

 DAEMONS=(syslog-ng network netfs crond lighttpd)

編輯你的 /etc/hosts.allow (加下面這一行)

 lighttpd:    ALL

啟動你的網頁伺服器 (sanity check)

 #/etc/rc.d/lighttpd start

建測試文件

 #echo "Testing lighttpd" > /srv/http/index.html

開瀏覽器到 http://127.0.0.1/,你應該看到測試文件內容。

要是試了沒有用(也檢查過):

chown -R http:http /var/run/lighttpd/

停掉網頁伺服器

 #/etc/rc.d/lighttpd stop

組態配置

去註解 /etc/lighttpd/lighttpd.conf 裡的這幾行

"mod_fastcgi"
fastcgi.server             = ( ".php" =>
                               ( "localhost" =>
                                 (
                                   "socket" => "/var/run/lighttpd/php-fastcgi.socket",
                                   "bin-path" => "/usr/bin/php-cgi"
                                 )
                               )
                            )

裝上 DokuWiki

下載最新版

到網站 DokuWiki download 拿到最新版

 #tar -C /srv/http -zxvf dokuwiki*.tgz
 #mv /srv/http/dokuwiki-DATE /srv/http/dokuwiki

預備安裝的檔案

chown DokuWiki 的檔案

 #chown -R http:http dokuwiki/

(http 是 lighttp 的預設啟動帳號,如果你有改過,把上面指令裡的 user:group 改成 lighttp 指定的 user:group)

DokuWiki Specific lighttp Configuration

編輯 /etc/lighttpd/lighttpd.conf 依照 dokuwiki instructions (可能會包含更新過的資訊)。

在這幾行下面:

 
$HTTP["url"] =~ "\.pdf$" {
  server.range-requests = "disable"
}

加上這些內容:

# subdir of dokuwiki
# comprised of the subdir of the root dir where dokuwiki is installed
# in this case the root dir is the basedir plus /htdocs/
# Note: be careful with trailing slashes when uniting strings.
# all content on this example server is served from htdocs/ up.
#var.dokudir = var.basedir + "/dokuwiki"
var.dokudir = server.document-root + "/dokuwiki"

# make sure those are always served through fastcgi and never as static files
# deny access completly to these
$HTTP["url"] =~ "/\.ht" { url.access-deny = ( "" ) }
$HTTP["url"] =~ "/_ht" { url.access-deny = ( "" ) }
$HTTP["url"] =~ "^" + var.dokudir + "/bin/"  { url.access-deny = ( "" ) }
$HTTP["url"] =~ "^" + var.dokudir + "/data/" { url.access-deny = ( "" ) }
$HTTP["url"] =~ "^" + var.dokudir + "/inc/"  { url.access-deny = ( "" ) }
$HTTP["url"] =~ "^" + var.dokudir + "/conf/" { url.access-deny = ( "" ) }

這些項目給 dokuwiki 設定基本保全。 lighttpd 不會用到像 apache 的 .htaccess 檔案。 你*可以*不安裝這些設定,但*絕不*建議這麼做。

重新啟動 lighttp

開網頁伺服器

 #/etc/rc.d/lighttpd start

Install DokuWiki

開瀏覽器到

 http://127.0.0.1/dokuwiki/install.php

後安裝

打掃乾淨

設定好組態配置後移除 install.php 檔案!

 #rm /srv/http/dokuwiki/install.php

裝外掛

許多社群製作的外掛可以在這找到 here

它們可以從網頁界面的 Admin 選單加掛(更新也是)。

要備份

如果沒有用資料庫的話備份DokuWiki沒什麼。全部的頁面都是純文字,靠 tar 或 rsync 就能備份。

目前版本(2008-05-05)的目錄結構:

 /dokuwiki/data/  =>  所有使用者建立的資料
 /dokuwiki/lib/plugins/  =>  所有使用者加入的外掛

延伸閱讀

DokuWiki 主站 會有你可能需要的全部資訊與幫助。