「DokuWiki」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) 細 (リンクの名前を修正(Dokuwiki->DokuWiki)) |
Kusanaginoturugi (トーク | 投稿記録) |
(相違点なし)
|
2017年8月21日 (月) 11:07時点における版
「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 向けにパッケージ化された人気のウェブサーバーなら問題なく動作するはずです。
インストール
- Web サーバー (例: Apache、nginx または lighttpd) を選んでインストールして、PHP を設定します。前述したように DokuWiki はデータベース・サーバーを必要としないので、Web サーバを設定するときにデータベースを設定するステップはスキップできます。
- pacman を使用して、[community] の dokuwiki をインストールします。
- Web サーバーを設定します (以下のセクションを参照)。
- お好みの Web ブラウザで、http://<your-server>/dokuwiki/install.php を開いて、そこからインストールを続行してください。
別の方法として、tarball からインストールしたい場合は、http://www.dokuwiki.org/Install を読んでください。大体の手順は上記と同様です。pacman を使用する代わりに、tarball をダウンロード し、サーバーのドキュメントルート (例えば、/srv/http/dokuwiki
) に解凍し、適切なユーザー (例: "http") に、chown してください。
設定
lighttpd や nginx を使用する場合は、/etc/php/php.ini
の open_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_access
と mod_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 のメインサイト にはあなたが必要としている全ての情報が記載されています。