====== FreeBSD7.1RにDokuWikiをインストール ======
FreeBSD7.1RにDokuWikiをインストールする手順。
===== インストール環境の例 =====
^OS|FreeBSD 7.1R|
^HTTPD|Apache 2.2.9 ( mod_rewrite インストール済み )|
^PHP|Version 5.2.6 ( [[FreeBSD7.1r:php5:gd library|GD Library]] & [[FreeBSD7.1R:PHP5:gzip Support|ZLIB support]] インストール済み )|
==== 事前に使えるようにしておくツール ====
[[FreeBSD7.1R::wget|wget]] ( /usr/ports/ftp/wget )
==== サンプルにおけるディレクトリ構造の例(あくまでも例) ====
^サイトのURLの例|http://www.vdobv.com/|
^このサイトを管理するユーザ名|webmaster|
^このユーザのカレントディレクトリ|~/|
^ブラウザで http://www.vdobv.com/ にアクセスした時に表示するサーバ上のディレクトリ|~/public_html|
===== インストール手順 =====
パソコンで、ダウンロード⇒解凍⇒FAT転送⇒パーミッション変更⇒設定をするのはとても面倒なので、サーバコンソール、もしくは、パソコンから TeraTerm を利用して行うと楽。
本家サイト ( http://www.dokuwiki.org/ ) にアクセスして、右上の言語選択 ( Translations of this page ? ) から ja を選択する。
すると日本語で記述されたドキュメントが開く。
このページにおおよそのことが記載されている。
ここでは、とりあえず動かすための方法を記録する。
==== ダウンロード ====
今回は、**dokuwiki-2008-05-05.tgz** を使う。
ファイルをダウンロードする場所は、ユーザ ( ここでは webmaster ) のカレントディレクトリとする。
実際の設置先は、~/public_html とする。
[[FreeBSD7.1R::wget|wget]] が使えないときはインストールする。
# su - webmaster
Password:
%cd ~/
%wget -c http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2008-05-05.tgz
%tar zxvfp dokuwiki-2008-05-05.tgz
%cp -R dokuwiki-2008-05-05/ ~/public_html
↑dokuwiki-2008-05-05/ の末尾の / を忘れずに。
==== インストール ====
ブラウザで、http://www.vdobv.com/ にアクセスしてみると、
{{:wikis:dokuwiki001.png?400}}
などと表示されるが、そのまま run the installer というリンクをクリックする。が、なんか怒られた。
{{:wikis:dokuwiki002.png?400}}
画面右上の Choose your language で ja を選択して [Update] を押すと、日本語表記になるので分かりやすいかもしれない。
{{:wikis:dokuwiki003.png?400}}
なお、私の場合は、表示されるエラーの内容がすべて、次のようなものだった。
■英語メッセージ
/usr{DOCUMENT_ROOT}/public_html/conf/ is not writable by DokuWiki.
You need to fix the permission settings of this directory!
■日本語メッセージ
/usr{DOCUMENT_ROOT}/public_html/conf/ に書き込みできません。
このディレクトリの権限を確認して下さい。
1つ1つクリアしていくことにする。
%cd ~/public_html
%chmod 777 conf
%chmod 777 data
%chmod 777 data/pages
%chmod 777 data/attic
%chmod 777 data/media
%chmod 777 data/meta
%chmod 777 data/cache
%chmod 777 data/locks
%chmod 777 data/index
%chmod 777 data/tmp
[再試行] をクリックしてエラーがなくなると、DokuWiki Installer というページが表示される。
==== 初期設定 ====
{{:wikis:dokuwiki004.png?400}}
^Wiki名|サイトのタイトル|
^ACLを使用する(推奨)|ACL ( Access Control List ) はユーザのアクセス管理をするかどうか。|
^スーパーユーザー|全権限をもつ管理者の名前。半角がよい【重要】|
^フルネーム|ふるね~む。|
^メールアドレス|自分のメールアドレス|
^パスワード|スーパーユーザ用のパスワード【重要】|
^確認|もっかい同じパスワード【重要】|
^ACL初期設定|パブリックWiki ( 閲覧は全ての人が可能、書き込み・アップロードは登録ユーザーのみ ) でも選でおく。|
んで、[保存] ボタンをクリック。
{{:wikis:dokuwiki005.png?400}}
「install.php を削除してください」という文章があるので **今すぐ** 消すべし。
%cd ~/public_html
%rm install.php
ここで、ブラウザで、http://www.vdobv.com/ にアクセスしてみる。
{{:wikis:dokuwiki006.png?400}}
トップページ ( start ) が表示された。OKだ。
英語のページが表示されちゃったって場合は、後で設定できる。
そうそう、ダウンロードしたファイルは、もう不要だからサクッと削除しておこう。
%cd ~/
%rm -fr dokuwiki-2008-05-05
%rm dokuwiki-2008-05-05.tgz
===== 設定 =====
まずは、全権限を持つ管理者で [Login] する。
==== 英語版を日本語版にする ====
英語版の DokuWiki が表示されても、あわてないこと。
[Admin] ボタンを押して、Configuration Settings をクリック。
Language を、ja に変更して、ページ最下部の [Save] ボタンを押すと、おお、きたきた。
==== とりあえず全ページ変更不可にする ====
画面下部の [管理] ボタンを押した後「アクセスコントロール管理」を押す。
「現在のACLルール」を図のように、@ALL @user 共に「読取」に変更して [更新] ボタンを押しておく。
{{:wikis:dokuwiki007.png?400}}
==== 特定ページをユーザが編集できるように開放する ====
[[#とりあえず全ページ変更不可にする]] という項目で、DokuWiki の全ページを管理者以外が編集できないようにした。
ところが、Pukiwiki などにおける SandBag は、DokuWiki の場合、[[PlayGround:PlayGround]] のようで、Wiki構文の「練習の場」だ。
ここでは PlayGround のアクセス権をユーザに開放してみる。
「管理」⇒「アクセスコントロール管理」の順に押し、次に様にする。
アクセス権限を変更したいファイル(またはフォルダ)を選択して、「権限を追加」のランで「@user」を選ぶ。
{{:wikis:dokuwiki008.png?400}}
「新規エントリ」で、「作成」または「アップロード」あたりをチェックし[保存]を押す。
{{:wikis:dokuwiki009.png?400}}
これで、PlayGround: 配下がユーザに開放されたはずだ。
図では、PlayGround:* を設定したが、PlayGround:PlayGround の1ページのみを開放したい場合は、画面左上で該当のファイルを選択してから権限設定すればよい。
ここで、実際に「PlayGround:PlayGround」を編集しようと思うと、次の様にしかられる**場合がある**。
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。
もし変更したい場合は管理者に連絡してください。
通常は、DokuWiki のみでアクセス権を設定することができる。
ところが、インストール時にサイト管理のユーザ名 ( 例では webmaster ) でファイルをコピーした為に、はじめから存在する playground ( ディレクトリ ) のファイル所有者は、ユーザ名 ( 例では webmaster ) になっている。これは、www ( HTTPD のユーザ名 ) からしたら有効でない。
こんな場合は、ファイルの所有者を www にするか、あるいは、パーミッションを変更する。下記のどちらか一方でよい。
%cd ~/public_html/data/pages/
%chown -R www playground
あるいは、
%cd ~/public_html/data/pages/
%chmod -R 666 playground
==== トップページは start でよいか? ====
DokuWiki の場合のトップページは、start となっている。これを変更する場合は、
あらかじめ新しいスタートページを作成しておいてから、
[管理] ⇒「サイト設定」の順に押し、「基本」 ⇒「スタートページ名」を変更する。
[保存] ボタンを押すことを忘れずに。
==== もろもろ設定 ====
その他、設定管理の画面で変更しておくとよいもの(いずれも使い方次第だが)。
「基本」⇒「ベースURL」にトップページのアドレス(末尾のスラッシュは付けない)を入力。(例では http://www.vdovb.com)
「表示」⇒「現在位置を表示」をON。
「表示」⇒「最初の見出しをページ名とする」をON。
「認証」⇒「新規ユーザー登録を通知するメールアドレス」に自分のメアド。
「リンク」⇒「外部リンクの表示先」を「_blank」。
==== 高度な設定 ====
=== アドレスのリダイレクト ===
たとえば、http://www.vdobv.com/doku.php?id=wikis:dokuwiki ( このページ ) のアドレスが、
http://www.vdobv.com/wikis/dokuwiki となったら、いろんな意味:-Oでとっても嬉しいかもしれない。
ただし、この機能は、Apache と共に mod_rewrite がインストールされていることが必要。
設定管理の画面で、「高度な設定」⇒「URLの書き換え」を「.htaccess」とする。
さらに、 .htaccess.dist を .htaccess にコピーして編集する( [[FreeBSD7.1R:vi|vi]] が嫌いな人は、慣れたものを使えばよい。ee など。)。
%cd ~/public_html
%cp .htaccess.dist .htaccess
%vi .htaccess
書き換える部分は、次に示す行番号の # をとる。
空行も含めてカウントした、5行目、16行目、26行目、27行目、29行目~36行目。
下記のソースは見本で、便宜上、行番号を付ける。
0001:## Enable this to restrict editing to logged in users only
0002:
0003:## You should disable Indexes and MultiViews either here or in the
0004:## global config. Symlinks maybe needed for URL rewriting.
0005:Options -Indexes -MultiViews +FollowSymLinks
0006:
0007:## make sure nobody gets the htaccess files
0008:
0009: Order allow,deny
0010: Deny from all
0011: Satisfy All
0012:
0013:
0014:## Uncomment these rules if you want to have nice URLs using
0015:## $conf['userewrite'] = 1 - not needed for rewrite mode 2
0016:RewriteEngine on
0017:#
0018:## Not all installations will require the following line. If you do,
0019:## change "/dokuwiki" to the path to your dokuwiki directory relative
0020:## to your document root.
0021:#RewriteBase /dokuwiki
0022:#
0023:## If you enable DokuWikis XML-RPC interface, you should consider to
0024:## restrict access to it over HTTPS only! Uncomment the following two
0025:## rules if your server setup allows HTTPS.
0026:RewriteCond %{HTTPS} !=on
0027:RewriteRule ^lib/exe/xmlrpc.php$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
0028:#
0029:RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L]
0030:RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L]
0031:RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L]
0032:RewriteRule ^$ doku.php [L]
0033:RewriteCond %{REQUEST_FILENAME} !-f
0034:RewriteCond %{REQUEST_FILENAME} !-d
0035:RewriteRule (.*) doku.php?id=$1 [QSA,L]
0036:RewriteRule ^index.php$ doku.php
=== Google Sitemap を作る設定 ===
DokuWiki は Google, Yahoo, Microsoft などのサーチエンジンに向けた XLS 形式の sitemap を自動生成することができる。
「高度な設定」⇒「アーカイブの圧縮方法」を「gzip」にする。
「高度な設定」⇒「Googleサイトマップ作成頻度(日数)」に適当な数字を入れる。
さらに、次のようにして、空の sitemap.xml.gz ファイルを用意しておく。
%cd ~/public_html
%touch sitemap.xml.gz
%chmod 666 sitemap.xml.gz
試しに sitemap を作ってみたい場合は、次のアドレスをブラウザで表示する。
''%%http://yourserver/lib/exe/indexer.php?debug=1%%''
ファイルが作られない場合は、[[FreeBSD7.1R:PHP5:gzip Support|ZLIB support]] を入れること。
なお、圧縮形式ではなく、テキストXML形式のsitemapを作りたい場合は、「アーカイブの圧縮方法」を「圧縮しない」に変更する。もちろん、sitemap.xml の作成とパーミッションを書き込み可能にしておくことを忘れずに。
参考:[[Wikis:DokuWiki:sitemap]]
=== その他 ===
使い方次第で設定をするとよい。
「高度な設定」⇒「URLの名前空間の区切りにスラッシュを使用」をON。
「高度な設定」⇒「canonical URL(正準)を使用」をON。
==== スタイルシートの変更 ====
=== 背景色、文字色などの変更 ===
背景色、文字色を変更したい場合は、~/public_html/lib/tpl/default/style.ini を編集する。
=== 見出しの変更 ===
見出し(H1~H5)に下線を付けたり変更したい場合は、~/public_html/lib/tpl/default/design.css を編集する。
==== Formatting Syntax ( Wiki構文の説明 ) を日本語版に差し替える ====
文書の編集画面で、「Formatting Syntax」をクリックすると、英文のWiki構文の説明が表示される。これを、本家サイトにある日本語版に差し替えたいと思う。
しかし、実際に「Formatiign Syntax」を編集しようと思うと次の様に、しかられる。
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。
もし変更したい場合は管理者に連絡してください。
これは、次の様にすることで編集が可能となる。
%cd ~/public_html/data/pages/wiki
%chmod 666 syntax.txt
DokuWiki 上でページを差し替えたら、パーミッションを戻しておく。
%cd ~/public_html/data/pages/wiki
%chmod 644 syntax.txt
==== Fatal error: Call to undefined function: preg_match() ====
Fatal error: Call to undefined function: preg_match()
PHPをバージョンアップした後に、PCRE関連のインストールを忘れたことがあった。
今となっては、どれが原因だったのかわからないので、関連しそうなものを列挙しておく。
/usr/posts/devel/pcre/
/usr/posts/devel/php5-pcre/
これらがバージョンアップされていたら make reinstall した後、アパッチを再起動してみる。
===== 最後に ====
DokuWiki の日本語マニュアルが公式サイトにある。何か困ったことがあったら閲覧するとよい。
[[http://www.dokuwiki.org/ja:dokuwiki|DokuWiki]]