DokuWiki のインストールはとても簡単です。展開して、パーミッションを適切に設定することさえ注意すれば問題ありません。以下では、いろいろな条件に応じた詳細な説明を行います。
会社で DokuWiki を使ったり、自分のサーバにインストールする際には、Linux/Unix と Apache の組み合わせで使うのがもっとも良くあるケースだと思います。
#> cd /var/www #> tar -xzvf /path/to/downloaded/dokuwiki-YYYY-MM-DD.tgz
#> mv dokuwiki-YYYY-MM-DD dokuwiki
#> touch dokuwiki/data/changes.log
#> cp dokuwiki/conf/users.auth.php.dist dokuwiki/conf/users.auth.php #> cp dokuwiki/conf/acl.auth.php.dist dokuwiki/conf/acl.auth.php
#> myUsername:myMD5password:myRealname:myEmail:admin,user
nobody や www-data, apache というユーザ権限で動作します#> chgrp nogroup dokuwiki/conf/users.auth.php #> chgrp nogroup dokuwiki/conf/acl.auth.php #> chmod 664 dokuwiki/conf/users.auth.php #> chmod 664 dokuwiki/conf/acl.auth.php
#> chown -R nobody dokuwiki/data #> chmod -R g=rwx dokuwiki/data
dokuwiki/conf/dokuwiki.php (設定オプション 参照) を編集し、お好みに設定する。なお、dokuwiki/conf/local.php を作成し、dokuwiki.php から変更したい部分を持ってくるのが良いやり方です。こうすると、新リリースで dokuwiki.php ファイルが上書きされても、加えた変更は保持されます。次のコマンドで生成し、変更する必要のない行をすべて削除します#> cp dokuwiki/conf/dokuwiki.php dokuwiki/conf/local.php
$conf['useacl'] = 1; //Use Access Control Lists to restrict access? $conf['superuser'] = '@admin'; //The admin can be user or @group
check オプションを次のように指定して、ブラウザに入力します。http://127.0.0.1/dokuwiki/doku.php?do=check.htaccess 中の RewriteEngine のルールが 500 エラーを発生する場合は、 /path をあなたのサイトの URL から doku.php へのパスとして、RewriteBase /path を追加してください現在のところ、DokuWiki は Debian の unstable と testing に含まれています。インストールにあたっては、Debian の標準の方法を使います。
#> apt-get update #> apt-get install dokuwiki
展開後、Debian の設定システムの debconf が、お好みの設定について質問がいくつか行われます。
DokuWiki パッケージに関するバグ報告は、Debian のバグトラッキングシステム http://www.debian.org/Bugs/ を使ってください。 Debian ポリシー にしたがって、DokuWiki のディレクトリ構造が変更されていますので注意してください。たとえば、設定ファイルは /etc/dokuwiki/ にあります。
FreeBSD の ports ツリーを使って、dokuwiki を次のようにインストールできます。
#> cd /usr/ports/www/dokuwiki #> make install clean
デフォルトの DokuWiki ディレクトリは /usr/local/www/data/dokuwiki です。
– もちろん、このディレクトリは変更できますし、シンボリックリンクを張ることもできます。
dokuwiki の設定を行うには、/usr/local/www/data/dokuwiki/conf/dokuwiki.php から変更したいオプションを /usr/local/www/data/dokuwiki/conf/local.php にコピーします。
この様にしないと、portupgrade 後、設定がデフォルトに戻されてしまいます。
アップグレードも、ports ツリーを使います。
#> portupgrade dokuwiki
何も起きない場合は、ports ツリーがちゃんと更新されているかどうか確認してください。
dokuwiki を Gentoo にインストールするには次のようにします。
$> emerge --sync $> emerge -a dokuwiki
dokuwiki は /var/www/localhost/htdocs/dokuwiki にインストールされます。
Apache (ウェブサーバ)で PHP が実行できるよう設定することを忘れないように。 http://gentoo-wiki.com/Apache_Modules_mod_php を参照。
詳細な説明は HOWTO for DokuWiki on Tiger を参照してください。
この HOWTO は更新されていないようです(が、役には立ちます)。
筆者は Tiger に次のようにインストールしました(DokuWiki は初インストールです)。
$ cd ~/Desktop && tar -zxvf dokuwiki-2005-07-13.tgz $ mv dokuwiki-2005-07-13 ~/Sites/dokuwiki $ cd ~/Sites/dokuwiki $ touch data/changes.log $ sudo chown -R www data
$ cp conf/users.auth.php.dist conf/users.auth.php $ sudo chown www conf/users.auth.php $ cp conf/acl.auth.php.dist conf/acl.auth.php $ sudo chown www conf/acl.auth.php
$conf['basedir'] = '/~user/dokuwiki/';
conf/local.php での自動認識が動作しない
## 10.4.3 のクライアント版では Apache と組みあわせて動作するものの、(サーバを乗っ取るべく) /Library/Webserver/Documents を 'basedir' に追加すると上手くいかない
## サードパーティの Apache2 パッケージは、'www' ではなく 'nobody' で動作します。chown コマンドを適当に変更してください
Panther (10.3) へのインストールも、筆者の環境では、ここに書いた Tiger へのやり方どおりで上手くいっています。ただ、dokuwiki-2006-03-09 をインストールしたのですが、auto-detection の行の変更を行わなくても、ちゃんと動作しているようです(ローカルのマシンだけでしか試してませんが)。
[他のユーザから]
dokuwiki を Tiger で動かそうとしたのですが、上記の OSX と apache のやり方は私のところでは上手くいきませんでした。どうやっても、datadir が存在しないか書き込み不可となっている旨のエラーメッセージから先にすすめませんでした。何時間かこの Tiger へのインストール方法で上手くいかないか格闘したのですが、最終手段として、“Linux/Unix と Apache” のところの方法をためしたところ上手く動作しました。basedir の自動認識もです。というわけで、皆さんには、一般的な設定をまず試してみて、それから Tiger 専用の方法を行ってみるのをお勧めしたいと思います。
壊れてないかもしれないものは、直さないでも良いかもしれない!
Lighttpd, php5-fastcgi に DokuWiki をインストールしてみたところ、動作しました。ただし、rewrite ルールに修正が必要です。
PHP-FastCGI をソースから、またはディストリビューションのパッケージからインストールします。後者の方が容易です。インストールが完了したら、http://trac.lighttpd.net/trac/wiki/TutorialLighttpdAndPHP の “Configuration” のところの指示にしたがいます。必要もないのに FastCGI の設定を弄くるのはお勧めしません。
筆者の設定は次の通りです。
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/bin/php5-fcgi"
)
)
)
rewrite ルールをカスタマイズする必要があります。
url.rewrite = ( "^/wiki/_media/(.*)\?(.*)" => "/wiki/lib/exe/fetch.php?media=$1",
"^/wiki/_detail/(.*)\?(.*)" => "/wiki/lib/exe/detail.php?media=$1",
"/(.*)\.(.*)" => "$0",
"/(lib)/" => "$0",
"$^" => "/wiki/doku.php",
"/wiki/(.*)\?(.*)" => "/wiki/doku.php?id=$1&$2",
"/wiki/(.*)" => "/wiki/doku.php?id=$1",
)
順を追って説明します。Lighttpd では、ディレクトリごとの .htaccess ファイルのようなものはありません。そこで、ディレクトリへのアクセス禁止は、上のレベルで設定する必要があります。この rewrite ルールでは効率的にそれを行っています。
以上が、筆者は現時点でのやりかたです。訂正があれば、お気軽に指摘ください。筆者も何かうまく動かないのをみつけたら修正します。
DokuWiki をデスクトップ機で使いたい人のための説明です。
dokuwiki-YYYY-MM-DD フォルダをウェブサーバのドキュメントルート以下のどこかへ移動する。例、c:\xampp\htdocs\ 。 そして dokuwiki へ名前を変更するdokuwiki/data/ フォルダ内に空のファイルを新規作成し、changes.log へ名前を変更する (右クリック、 新規作成 → テキストファイル, 名前の変更)conf フォルダにある dokuwiki.php ファイルを編集し、自分の wiki を設定する (設定オプション 参照)。または、新しく conf/local.php ファイルを作成し、 dokuwiki.php から変更したい部分を持ってくる (こちらの方法を推奨) 。後者の方法だと、新リリースがでたときに dokuwiki.php ファイルが上書きされても、変更したところが無くなることはないdata フォルダに attic/ フォルダの作成が必要な場合があるようです。oak さん、指摘ありがとう。
DokuWiki を Windows の IIS ウェブサーバ (Windows 2000, Windows XP or Windows Server 2003) で使いたい人のための説明です。
dokuwiki-YYYY-MM-DD フォルダを dokuwiki へ名前を変える。次に、c:\inetpub\dokuwiki など、へ移動するdokuwiki/data/ フォルダ内に空の changes.log という名前のファイルを新規作成する。さらに、attic/, meta/, locks/ および cache/ フォルダを作成する。
2006-03-09 のバージョン (おそらくそれ以降も) では、これは必要ない
前の fixme の記述は誤っている。2006/05/01 の時点で、changes.log と meta/ フォルダを手動で作った。このファイルとフォルダは dokuwiki のオリジナルの .tar.gz ファイルにはない
「誤っている」というのは言い過ぎだろう。「これは」という単語が誤解されてるのだろう。changes.logファイルはやっぱり作成しないといけないが、フォルダは自動的にできるよ
おなじ問題にぶちあたった。meta/ フォルダがない。
conf フォルダにある dokuwiki.php ファイルを編集し、自分の wiki を設定する (設定オプション 参照)。または、新しく conf/local.php ファイルを作成し、 dokuwiki.php から変更したい部分を持ってくる (こちらの方法を推奨) 。後者の方法だと、新リリースがでたときに dokuwiki.php ファイルが上書きされても、変更したところが無くなることはないdokuwiki/ フォルダをエクスプローラで開き、data/ フォルダのプロパティをチェックする。インターネットゲストアカウント (IUSR_computername) もしくはウェブサーバに対応するアカウントが、data/ フォルダについて書き込み権限を持っているか確認してください
だれもがアクセスできる環境では IIS で実行させようと考えないほうがよいかもしれない。IIS は .htaccess ファイルをサポートしないので、data/pages フォルダは、ファイル名やパス名が推測できると、だれでも見られることになります。また、上の説明では、このフォルダに IUSR への書き込み権限があたえられますが、これはあまり良くない事です。一般的には、IUSR への書き込み権限をあたえたフォルダやファイルは、WEB ルート外へ移動させるべきです。そうすれば、簡単にはアクセスできなくなりますから。ただ、パスを変えると DokuWiki がどうなるかはよく判っていないのですが。
Windows ユーザは、ファイル名をdokuwiki-YYYY-MM-DD.tgz から dokuwiki-YYYY-MM-DD.tar.gz へ変更しないと、展開ツールがファイル形式を正しく認識しないいかもしれません (209 参照)。
windows のファイル拡張子が .tar となっても、名前を変更して winzip を使うとうまく行きます。
展開プログラム
NanoWeb は PHP で作成されたウェブサーバです。メモリ使用量が Apache などとくらべて軽くなっています。 DokuWiki だけでなく、Nagios や Double Choco Latte も正常に動作します。
ただし、上記の Apache ウェブサーバ を使う方法の説明どおりにやった後に、dokuwiki.php を修正する必要があります。というのも、ウェブサーバの場所 (URL) を自動では認識 しない からです。
URL の自動認識は、すべての環境で有効となるわけではありません。特に、URL の rewriting を激しく行っている場合や、フォーワード機能が使われている際にはだめです。さらに、”relative dir” (相対ディレクトリ)という言葉がすこし紛らわしいです。というのも、絶対 パスをここに書く必要があるからです。つまり、次の例のように、スラッシュではじめてスラッシュで終わる必要があります。 – Doogie - 27. May 2005
次の行を、
$conf['basedir'] = ''; //relative dir to serveroot - blank for autodetection
このように変更する。
$conf['basedir'] = '/dokuwiki/'; //relative dir to serveroot - blank for autodetection
末尾のスラッシュは絶対 必要です!! 注意してください。
次の事項は、WEB サーバをレンタルしている人のほとんどに当てはまります。
Screencast もご覧いただけます。
dokuwiki-YYYY-MM-DD/data ディレクトリに、 空のファイル changes.log を作成するconf フォルダにある dokuwiki.php ファイルを編集し、自分の wiki を設定する (設定オプション 参照)。または、新しく conf/local.php ファイルを作成し、 dokuwiki.php から変更したい部分を持ってくる (こちらの方法を推奨) 。後者の方法だと、新リリースがでたときに dokuwiki.php ファイルが上書きされても、変更したところが無くなることはない/data/ ディレクトリに新規ディレクトリを作成し、 meta という名前にリネームするdokuwiki-YYYY-MM-DD 内をすべて、好みのFTPツールを使って ウェブホストにアップロードするcheck オプションを次のようにつけて、設定のチェックを行う。 http://www.example.com/dokuwiki/doku.php?do=checkウェブホストの設定ページ(たとえば、free.fr )に行って設定するか、コマンドラインの FTP や Filezilla の右クリックでもって CHMOD を行う
Warning: session_start(): open(/tmp/php-ses/sess_215aaa2a389d6a10eee8c57939b486b6, O_RDWR) failed: No such file or directory (2) in /nfs/cust/6/36/44/644636/web/decuong/inc/init.php on line 53
// 次の行のあとに if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__)).'/'); // 以下を加える session_save_path(DOKU_INC.'tmp');
dokuwiki/data/ ディレクトリ下のファイルとディレクトリの権限をすべて rwxrwx— つまり 770 に変更するのが簡単check オプションを次のようにつけて、設定のチェックを行う。 http://www.example.com/dokuwiki/doku.php?do=check説明どおりにインストールすれば、基本的に DokuWiki は そのまま で動作します。
(上記の問題(ディレクトリやファイルがないとか、アクセス権が不十分であるとか))はきっと今後のリリースで修正させるだろう)提案だが、それらの今無いファイルやディレクトリをアーカイブに含められないか?空白文字ひとつのファイルを使うとか。また、do=check を行うと、/data のすべてのディレクトリの書き込み・読み込み権限をチェックさせるようにしないか?Warning: include() [function.include]: Unable to access /home/s/o/s/sosml/www/lib/tpl/default/main.php in /home/s/o/s/sosml/www/inc/actions.php on line 103 Warning: include(/home/s/o/s/sosml/www/lib/tpl/default/main.php) [function.include]: failed to open stream: No such file or directory in /home/s/o/s/sosml/www/inc/actions.php on line 103 Warning: include() [function.include]: Failed opening '/home/s/o/s/sosml/www/lib/tpl/default/main.php' for inclusion (include_path='.:/usr/local/php5/lib/php') in /home/s/o/s/sosml/www/inc/actions.php on line 103
touch data/changes.log chmod 777 data/changes.log chmod 777 conf/acl.auth.php chmod 777 conf/users.auth.php mkdir data/meta chmod 777 data chmod 777 data/attic chmod 777 data/cache chmod 777 data/locks chmod 777 data/media chmod 777 data/meta chmod 777 data/pages
Sergio - 13.06.2006 共有サーバでは、これは必要なステップのようです。セキュリティ問題やこの問題を解決する別の方法について何かあれば追加してください。共有サーバに dokuwiki をインストールしているユーザも多いと思うので
アップグレードを行う前には、チェンジログ を参照して、アップグレードに当たって注意する点が無いかどうか確認するようにしてください。実行中の dokuwiki のバージョンを調べるには、DokuWiki が生成したページの HTML のソースの <meta name=“generator” content=“DokuWiki 2005-02-06” /> のようなところを見てください 4)
Windows ユーザは注意。UTF-8 の Unix 形式で保存できるエディタを使うこと。 Crimson Editor や Textpad など。
アップグレードのもっとも簡単な方法は、次の通り。
changes.log ファイルと data/, attic/ および media/ ディレクトリの中身をバックアップから新しくインストールしたディレクトリへコピーするchanges.logは、 data/ ディレクトリ内に置くdata/ ディレクトリにある。data/pages/ ディレクトリではないattic/ および media/ ディレクトリは、data/ 内に置くconf/local.php を新しいディレクトリにコピーするusers.auth の内容は users.auth.php に、acl.auth の内容は acl.auth.php にそれぞれコピーするinterwiki やスマイリーの設定に変更を加えているなら、アップグレード後再設定します。
2005-02-06 以前版をアップグレードした場合は、データを UTF8 へ変換 する必要があります。
アップグレード後、DokuWiki の動作におかしい点が見られたら、data/.cache/ および media/.cache/ ディレクトリ内のキャッシュファイルを削除してみてください。また、ブラウザが古い CSS をキャッししていないかも確認してください。
覚え書きです。2005-05-17 から 2005-07-13 へアップグレードしたところアクセス管理機能に問題が起きました。http://wiki.splitbrain.org/wiki:discussion:acl?s=users%5C.auth#user_registration_-_can_t_register で報告しています。2005-05-13へ戻してから、もう一度やってみたところ、上手くいったようです。ヒントは2つ。(a) アップグレードした側へファイルを移動する際、chmod で 777 になっているか確認する。そうでないと、書き込みできない。 (Windows では、ファイルやフォルダの読み取り専用のフラグが無しになっていることに相当する。エクスプローラおよび IIS の read/write/full アクセスが適切なユーザやグループに設定されているかどうかも確認する。 (b) 設定ファイルの更新にあたっては、UTF-8 対応のエディタを使うこと ( Crimson Editor や Textpad など)。 {David Ing, 2005/07/17}
この方法は非公式なやりかたです。私 (redeeman, visitor) は、2005-07-01 から 2005-07-13 へアップグレードするのに使った方法を、ここに発表したいと思います。
私のやりかたは、diff つまりパッチをつくるコマンドを使います。このコマンドはどの unix システムにもあります。ググれば、win32 バージョンを見つけることもできると思います。
パッチをつくるには、まず、2つのバージョンを展開します。”dokuwiki-2005-07-01” と “dokuwiki-2005-07-13” ができました(これは、私がバージョン変更したもので、皆さんがアップグレードする版とは違うかもしれません)。そして、diff コマンドを実施して、パッチを作ります。
diff -Naur dokuwiki-2005-07-01 dokuwiki-2005-07-13 > doku.diff
パッチができました。これには、2つのディレクトリの差異だけを示しています(たとえば、wiki ページについては何も示していませんが、これで良いのです)。そして、パッチを適用します。何かと干渉することはありません。しかし、注意しないといけないのは、conf/ ディレクトリのファイルを変更してある場合には、それらファイルのバックアップをして、古い版の元のファイルをコピーしておかないと、パッチが上手くいかないかもしれません。パッチがあたったら、変更点をもとどおりに編集します。ただし、これは、dokuwiki 標準版の php ファイルが変更されている場合だけです。
どのファイルにパッチがあたるのかチェックするには、 –dry-run をつけて実行します。dukuwiki がインストールされているディレクトリに移動しておき、次を実行します。
patch -p1 --dry-run </path/to/doku.diff
問題ないようであれば、–dry-run をつけないで実行します。
patch -p1 </path/to/doku.diff
すべてが完了して動作したら、次も行うと良いでしょう。
footer.html を編集して適切なライセンスにする.htaccess の URL 書き換え規則を有効にし、適切な設定を行うstyle.css を好みにあわせて変更する複数 wiki や wiki ファームについては、 freelists.org archives で、 このスレッド や このスレッド、 それに ここ で簡単ですが示されています。 さらに Andi は、$conf['title'] を利用してインストールごとに異なるクッキーが生成されるように変更を行ったと述べています。
名前空間は、ひとつのインストール内でコンテンツを分割するためにものです。複数インストールとは、それぞれが別個にアップグレードが必要であるということです。複数のインスタンスで、コードを共有するものではありません、debian 等のパッケージによるインストールは複数インストールを処理できません。しかし、こういう手間はかける価値のあるものです。Apache を使った GNU/Linux インストールに適用できるアプローチを紹介します。他の状況でも適用できるでしょう。
はじめの2行は1度だけ、あとの3行はインストールごと複数回繰り返します。
whoo5) のよる複数 wiki の別の方法。
@ini_set("session.cookie_path", DOKU_BASE);
を init.php(inc\init.php) の
@ini_set('arg_separator.output', '&');
の次に挿入する。
そして、好きにコピーを行う。シンプルです。
english version: 2006-08-17 20:33.
Add your email here if you created translated or modified whole or part of this page. このページを作成・変更した方は、次にメールアドレスを追記してください。