====== 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]]