2005年7月14日木曜日

(QEMU)Wikiに挑戦 --- FreeBSDでPukiWikiを動かしてみる

ライブドアが、ブログの次はWikiだ、と変なことを言い出しました。Wikiって、不特定多数がいる公の場で使うのは、微妙???なツールでして、Wikipediaは奇跡的に成功している稀有な例だと思います。社内の私の部署では、2年前から、PukiWikiを使っていて、うまく機能しています。ほかにも、開発プロジェクトごとに、PukiWikiでウェブサイトを使って、メンバー同士のコミュニケーションや情報共有に使ったりと、かなり重宝しています。会社内のような「クローズドな環境」では、Wikiはとっても便利です(会社内だと、不正行為を行うと処分されるし)。



せっかくインストールした、QEMUとFreeBSD。ここにPukiWikiでもインストールしてみますか。QEMU内で動いているPukiWikiへは、QEMUを実行しているパソコン以外にも、LANで接続している別のパソコンからもアクセスできますよ。



http://pukiwiki.org/



■ これまでのおさらい



PukiWikiを動かすには、PHPが必要です。
前回、PHP4をインストールしました。このPHP4でOKのはずです。





■ 準備



前回と同じです。



■ PHPを使えるようにする



前回までで、一応、apache2でPHP4のモジュールが動くようになっています。ちゃんとPHPを使えるようにするためには、httpd.confを書き換える必要があります。



/usr/local/etc/apache2/httpd.confを書き換えます。



PHP4のモジュールが読み込まれるようにする(太字になっている部分)。これは、portsでPHP4をインストールしたときに、すでに書き加えられているはずです。

LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule encoding_module    libexec/apache2/mod_encoding.so
LoadModule php4_module        libexec/apache2/libphp4.so


DirectoryIndex」に、index.phpを追加します。

DirectoryIndex index.php index.html index.html.var


AddType」で、PHPスクリプトの拡張子を登録します。

AddType application/x-tar .tgz



# PHP script
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


設定を反映させるために「apachectl restart」で、apacheを再起動します。



■ DocumentRootの整理



ports、packageでインストールしたapache2は、/usr/local/www/data/がDocumentRootになっていますが、シンボリックリンクになっていて、ちょっと気持ちわるいので整理して、まっさらなディレクトリにします。

freebsd# cd /usr/local/www
freebsd# ls -l data
lrwxr-xr-x  1 root  wheel  24 Jun 20 21:48 data -> /usr/local/www/data-dist
freebsd# mkdir data
freebsd# ls -ld data
drwxr-xr-x  2 root  wheel  512 Jul 13 22:14 data


■ PHPの動作確認をする



/usr/local/www/data/ttt.phpというファイル名で、以下のような内容のファイルを作成します。

<?
   phpinfo();
?>

ブラウザで、「http://localhost:10080/ttt.php」にアクセスします。つぎのように表示されれば、PHPがちゃんと使えるようになっています。



phpinfo





■ PukiWikiをインストールする
http://pukiwiki.org/ からたどっていった先の、
http://sourceforge.jp/projects/pukiwiki/files/
からダウンロードできるようです。とりあえず、バージョン1.4.6rcをダウンロードしました。



前に紹介した方法を使って、Windows上でダウンロードして、WebDAVの共有フォルダを通じて、QEMUのFreeBSDへファイルを持っていきます。



(QEMU)ApacheとWebDAVでファイル共有



とりあえず、/usr/local/www/以下でファイルを展開します。





freebsd# cd /usr/local/www/
freebsd# tar zxf /home/dav/pukiwiki-1.4.6_rc.tar.gz
freebsd# cd pukiwiki-1.4.6_rc/
freebsd# ls
.htaccess               cache                   lib
.htpasswd               counter                 plugin
COPYING.txt             default.ini.php         pukiwiki.ini.php
README.en.txt.gz        diff                    pukiwiki.php
README.txt              en.lng.php              rules.ini.php
UPDATING.en.txt.gz      image                   skin
UPDATING.txt            index.php               trackback
attach                  ja.lng.php              wiki
backup                  keitai.ini.php          wiki.en.tgz



PukiWikiのインストール方法は、PukiWikiのWebサイトに詳しくかかれているので、説明どおりやれば、できるでしょう。



http://pukiwiki.org/index.php?cmd=read&page=PukiWiki%2F%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%2F1.4%E7%B3%BB%E5%88%97-1.4.4%E4%BB%A5%E9%99%8D



まずは、pukiwiki.ini.phpを書き換えます。



Webサイトのアドレスを、明示的に指定します。なぜか、http://localhost:10080のようにポート番号を指定している場合、うまく自動設定できませんでした。

// Specify PukiWiki URL (default: auto)
$script = 'http://192.168.0.27:10080/wiki/';



ここに書いた192.168.0.27は、ホストOS(Windows)が動作しているパソコンのIPアドレスです。DNSが使えるLAN環境なら、ホスト名で書いてもかまいません。



QEMUを起動するときのオプションを変えて、10080番ではなく、80番でアクセスできるようにしてもいいかもしれませんね。



編集者の名前(Webサイトの管理者)

// Site admin's name (CHANGE THIS)
$modifier = 'ttt';



Webサイトの管理者のWebページアドレス。とりあえず適当に。

// Site admin's Web page (CHANGE THIS)
$modifierlink = 'http://freebsd.qemu.local/';



勝手にページが書き換えられないようにするために「凍結」するときに使う、パスワードの設定。
MD5で暗号化(ハッシング)したパスワードを登録することにします。たとえば「melonpan」をパスワードとする場合、以下のようにして、ハッシング後の文字列を求めることができます。



freebsd# echo -n "melonpan" | md5
26e775df3294848f1b6b501e2636438e



もとめた文字列を、以下のように{x-php-md5}につづけて書き込みます。

// CHANGE THIS
$adminpass = '{x-php-md5}26e775df3294848f1b6b501e2636438e';
//$adminpass = '{x-php-md5}1a1dc91c907325c69271ddf0c944bc72'; // md5('pass')
//$adminpass = '{CRYPT}$1$AR.Gk94x$uCe8fUUGMfxAPH83psCZG/'; // CRYPT 'pass'
//$adminpass = '{MD5}Gh3JHJBzJcaScd3wyUS8cg==';             // MD5   'pass'
//$adminpass = '{SMD5}o7lTdtHFJDqxFOVX09C8QnlmYmZnd2Qx';    // SMD5  'pass'



この部分に関して、PukiWikiのWebサイトにかかれている情報が、ちょっと変かもしれません(2005/7/13時点)。



pukiwikiのファイル全部を、/usr/local/www/data/wiki以下に移動させます。
PukiWikiにアクセスするときのURLは、「http://localhost:10080/wiki/」になります。
ファイルのオーナーとグループも変更します。



freebsd# pwd
/usr/local/www/pukiwiki-1.4.6_rc
freebsd# cd ..
freebsd# mv pukiwiki-1.4.6_rc/ data/wiki
freebsd# cd data/
freebsd# chown -R www:www wiki



PukiWikiのWebサイトに書いてあるとおりにやってもいいですが、とりあえず、これでも、だいたいOKみたいです。



ブラウザで、「http://localhost:10080/wiki/」にアクセスします。こんな画面がでれば、インストール成功です。



pukiwiki01



■ PukiWikiを使ってみる



インストールしたての時点で、最初に表示されるページ(FrontPage)は凍結されています。ページの上のほうに表示されているリンク「編集」をクリックしても、編集できないといわれてしまいます。



pukiwiki02



凍結されたページは、まず、凍結解除しないと、ページの内容を書き換えることができません。
リンク「凍結解除」をクリックします。パスワードには、先ほど設定したもの、先の例ではmelonpanを入力します。



pukiwiki03



編集するための画面になります。
このテキストエリア内に、自由に文章を書きます。



pukiwiki04



リンク「テキスト整形のルールを表示する」をクリックすると、どういう書式で書き込んでいくのかがわかります。



ところで、ページの上のほうにある「ヘルプ」をクリックしても、なぜかヘルプが表示されません。バグでしょうか?昔は、ヘルプが表示されたのですが・・・



書き込みが終わったら、[プレビュー]ボタンをクリックして内容を確認します。正しければ、そのページの下のほうに、編集画面と同じテキストエリアとボタンがあるので、[ページの更新]ボタンをクリックします。



pukiwiki05



HTMLがわかんなくても、PukiWikiを使えば、かんたんにウェブサイトを構築できますよ。



PukiWikiの書籍があるかな?と思って探したけど、すぐには見当たりませんでした。が、本などみないで、これまでずっと使ってきたので、まあ、それだけ、使い方は簡単である証拠かな、とも。。。



PukiWikiのWebサイトでは、このへんの書籍が紹介されていました。






PukiWikiを紹介したら、つぎは、やはり、アレですよね。XOOPS。



■追記



「ヘルプ」をクリックしても表示されない原因がわかりました。



mod_encodingを使うと、日本語のWikiNameの日本語エンコーディングがかわってしまって、正しくリンクをたどれないとか、表示されるURLが違う、とか、いろいろ問題が発生するようです。



「ヘルプ」が表示できないだけでなくて、日本語のWikiNameを使うだけで、正しくページが表示されなくなるので、かなり被害甚大です。



質問箱/367 を参照のこと。



pukiwikiのlib/init.phpを書き換えると、問題が解決されました。
/usr/local/etc/php.iniは、無関係でした。



0 件のコメント:

コメントを投稿