DokuWiki

提供: ArchWiki
2016年4月5日 (火) 10:23時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (句読点の位置を変更)
ナビゲーションに移動 検索に移動

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

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

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

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

はじめに

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

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

[community] にあるパッケージは DokuWiki を /usr/share/webapps/dokuwiki に、設定ファイルを /etc/webapps/dokuwiki に、データファイルを /var/lib/dokuwiki/data に展開します。また、関連するファイルの所有者を "http" ユーザーに変更します。これで 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

パッケージは以下の内容のファイル /etc/httpd/conf/extra/dokuwiki.conf を追加します:

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>

Apache 2.4 以上 を使っている場合、以下の行を変更する必要があります:

    order allow,deny
    allow from all

以下のようにしてください:

    Require all granted

/etc/httpd/conf/httpd.conf の末尾に以下の行を記述することで Apache の設定から新しく作成されたファイルを Include してください:

Include conf/extra/dokuwiki.conf

/etc/webapps/dokuwiki/var/lib/dokuwiki フォルダの所有者と所有グループが "http" になっていることを確認してください。ディレクトリは自由に場所を変更できますが、その際は /etc/httpd/conf/extra/dokuwiki.conf の設定も更新してください。

その後 Apache を再起動します:

# systemctl restart httpd.service

ブラウザで dokuwiki/install.php スクリプトを開いてインストールを完了してください。

lighttpd の設定

dokuwiki の手順 (情報が更新されている可能性があります) に従って /etc/lighttpd/lighttpd.conf ファイルを編集してください。

mod_accessmod_alias モジュールがロードされていることを確認してください。モジュールがロードされていない場合、/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.

lighttpd や fastcgi の設定ファイルのどこかにエイリアスを追加します:

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

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

インストール後の作業

不要なファイルの削除

サーバーを設定した後は install.php ファイルを削除してください!

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

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

こちら にコミュニティによって作成されたプラグインが多数記載されています。

ウェブインターフェイスを使って管理者メニューからプラグインを追加 (更新) できます。プラグインによっては ssl を通すとダウンロードできないことがあります (例: git)。/etc/php/php.ini の以下の行をアンコメントしてください:

extension=openssl.so

バックアップ

データベースが存在しないため DokuWiki のバックアップはとても簡単です。全てのページはプレーンテキストで保存されているため、tar や rsync などでバックアップできます。

最新バージョン (2008-05-05) で使われているディレクトリの簡単な解説:

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

参考文献

DokuWiki のメインサイト にはあなたが必要としている全ての情報が記載されています。