DokuWiki

提供: ArchWiki
2015年12月4日 (金) 21:28時点におけるKusakata (トーク | 投稿記録)による版 (訳文の調整)
ナビゲーションに移動 検索に移動

「DokuWiki はユーザーがリッチなドキュメントリポジトリを作成することを可能にする標準規格に準拠した、使いやすいウィキです。DokuWiki は、ドキュメントを作成する個人、共同作業を行うチームや企業のための環境を提供し、シンプルで強力な構文を使用して、ウィキ外でも可読性のある構造化されたデータファイルの作成を可能とします。」

「ページは無制限に改訂して以前のバージョンのページにいつでも復元することができ、データはプレーンテキストファイルに格納されるので、データベースを必要としません。強力なプラグインアーキテクチャは、コアシステムの拡張・強化をすることができます。DokuWiki が提供する機能の完全な説明は、機能のセクションを参照してください。」 [1]

すなわち、DokuWiki は PHP で書かれたウィキであり、何のデータベースも必要としません。

使用例を見てみたいですか?

はじめに

DokuWiki は、PHP5.1.2 以降をサポートする任意の Web サーバー上で動作するはずです。バージョンアップによって要件はときどき変わることがあるので、詳細な要件については、DokuWiki の システム要件のページ を参照してください。

あなたの Web サーバーを守るために、DokuWiki のセキュリティのページ の適切なセクションを読むことを強くお勧めします。最も人気のある Web サーバーがカバーされていますが、一般的な指示も記述してあります。

The package in [community] unpacks DokuWiki at /usr/share/webapps/dokuwiki with the configuration files in /etc/webapps/dokuwiki and the data files in /var/lib/dokuwiki/data. It also changes the ownership of the relevant files to the "http" user. This should work fine for most popular web servers as packaged for Arch.

インストール

  1. Web サーバー (例: Apachenginx または lighttpd) を選んでインストールして、PHP を設定します。前述したように DokuWiki はデータベース・サーバーを必要としないので、Web サーバを設定するときにデータベースを設定するステップはスキップできます。
  2. pacman を使用して、[community] の dokuwiki をインストールします。
  3. Web サーバーを設定します (以下のセクションを参照)。
  4. お好みの Web ブラウザで、http://<your-server>/dokuwiki/install.php を開いて、そこからインストールを続行してください。

別の方法として、tarball からインストールしたい場合は、http://www.dokuwiki.org/Install を読んでください。大体の手順は上記と同様です。pacman を使用する代わりに、tarball をダウンロード し、サーバーのドキュメントルート (例えば、/srv/http/dokuwiki) に解凍し、適切なユーザー (例: "http") に、chown してください。

設定

lighttpdnginx を使用する場合は、/etc/php/php.iniopen_basedir に dokuwiki のディレクトリを含めるように変更する必要があります (php では許可された範囲外にシンボリックリンクを使うことを禁止しています):

/etc/php/php.ini
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/dokuwiki/:/var/lib/dokuwiki/

また、以下の行をアンコメントします:

/etc/php/php.ini
extension=gd.so

Dokuwiki は画像のサイズ変更のために、このライブラリを必要とします。

Apache

The package should add the file /etc/httpd/conf/extra/dokuwiki.conf with the following contents:

Alias /dokuwiki /usr/share/webapps/dokuwiki
<Directory /usr/share/webapps/dokuwiki/>
    Options +FollowSymLinks
    AllowOverride All
    order allow,deny
    allow from all
    php_admin_value open_basedir "/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/dokuwiki/:/var/lib/dokuwiki/"
</Directory>

If you are running Apache 2.4 or newer, you will have to change the following lines:

    order allow,deny
    allow from all

to read:

    Require all granted

Include the newly created file in the Apache configuration by placing the following line at the end of /etc/httpd/conf/httpd.conf:

Include conf/extra/dokuwiki.conf

Make sure the folders /etc/webapps/dokuwiki and /var/lib/dokuwiki are owned by user and group "http". You may relocate these directories if you like as long as you update the references in /etc/httpd/conf/extra/dokuwiki.conf respectively.

Afterwards restart Apache:

 # systemctl restart httpd.service

Then finish the installation by running the dokuwiki/install.php script in your browser.

lighttpd の設定

Edit the /etc/lighttpd/lighttpd.conf file as per the dokuwiki instructions (might contain updated information).

Make sure the modules mod_access and mod_alias are loaded. If not, load them by adding the following to /etc/lighttpd/lighttpd.conf:

server.modules += ("mod_access")
server.modules += ("mod_alias")

mod_access provides the url.access-deny command, which we are using from this point.

Under the line:

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

add this:

# 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"] =~ "^" + var.dokudir + "/(bin|data|inc|conf)/"  { url.access-deny = ( "" ) }

These entries give some basic security to DokuWiki. lighttpd does not use .htaccess files like Apache. You CAN install with out this, but I would NEVER recommend it.


Add alias somewhere in lighttpd or fastcgi conf file:

alias.url += ("/dokuwiki" => "/usr/share/webapps/dokuwiki/")

Restart lighttpd:

 # systemctl restart lighttpd

nginx

/etc/nginx/nginx.conf に以下の location ブロックを追加します:

#Assuming that the root is set to /usr/share/webapps.
#You may need to adjust your location blocks accordingly.
location ~^/dokuwiki/(data|conf|bin|inc)/ { deny all; } # secure DokuWiki
location ~^/dokuwiki/\.ht { deny all; } # also secure the Apache .htaccess files
location ~^/dokuwiki/lib/^((?!php).)*$ { expires 30d; } # no need to serve non .php files through fastcgi, so we catch those requests here.
location ~^/dokuwiki/.*\.php$ {
            include fastcgi.conf;
            fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        }

nginx を再起動:

 # systemctl restart nginx

インストール後の作業

不要なファイルの削除

After configuring the server remove the install.php file!

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

プラグインのインストール

Many community created plugins can be found here

They can be added through the web interface (as well as updated) through the Admin menu. Some plugins cannot be downloaded, if they go over ssl (e.g. git). Uncomment following line in /etc/php/php.ini:

extension=openssl.so

バックアップ

It is very trivial to backup DokuWiki, since there is no database. All pages are in plain text, and require only a simple tar, or rsync.

A quick breakdown of the directories of interest in the current (2008-05-05) version:

 /dokuwiki/data/  =>  All User Created Data
 /dokuwiki/lib/plugins/  =>  All User Added Plugins

参考文献

The DokuWiki main site has all of the information and help that you could possibly need.