Mac OS X Leopardでpukiwiki

気が向いたので、pukiwikileopardで動かそうと思った。

まずは、httpd.confを編集してPHPが動くようにする

Mac OS X 10.5 Leopard で PHP を動作させるには - kazumich.log
を参考にしました。
/etc/apache2/httpd.conf の、

#LoadModule php5_module libexec/apache2/libphp5.so

の箇所からコメントアウトを解除して、Web共有を停止→共有すればいいみたい。httpd.confのオリジナルは/etc/apache2/original/httpd.confにあるので、httpd.confがわけわからなくなったらそこから戻す。

ちなみに、phpのバージョンは5.2.8だった。

macmini:~ sugarball$ php -v
PHP 5.2.8 (cli) (built: Feb  5 2009 21:21:13)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

ついでに、apacheのバージョンも確認しておいた。

macmini:~ sugarball$ httpd -v
Server version: Apache/2.2.11 (Unix)
Server built:   Feb  3 2009 01:54:45

他、覚書。DocumentRoot(Webサーバのルートディレクトリ)

DocumentRoot "/Library/WebServer/Documents"

しかし、/Library/WebServer/Documents を見てみると、いろんなファイルが入っている。ブラウザでindex.html.ja.iso2022-jpにアクセスしても、内容が変わらないのだけど、これは一体どういう設定が利いているのだろうか。

macmini:~ sugarball$ ls -l /Library/WebServer/Documents/
…
-rw-rw-r--  1 root  admin   1630 Oct 16  2008 index.html.ja.iso2022-jp
…

とりあえず、ブラウザで

としても結果は同じだった。ちなみに、 index.html.en を指定すると英語のページが表示された。

補足。httpd.confの設定はここが参考になる。
http://home.k05.itscom.net/aperuto/httpd.html

PHPの動作確認

/Library/WebServer/Documentsディレクトリにtest.phpなるファイルを作る。

<html><body>
<?phpinfo()?>
</body></html>

これでブラウザで http://IPアドレス/test.php にアクセスして、PHPのバージョンが表示されればOK。あとは、このままだとサーバの情報がダダ漏れなので、test.phpを削除しておくこと。

pukiwikiのインストールとか

とりあえず、pukiwikiをダウンロード(1.4.7 euc*1して、/Library/WebServer/Documents/pukiwiki として配置してみた。
ブラウザで確認したところ、

Runtime error
Error message :

Directory is not found or not writable (DATA_DIR)
Directory is not found or not writable (DIFF_DIR)
Directory is not found or not writable (BACKUP_DIR)
Directory is not found or not writable (CACHE_DIR)

とのこと。書き込めないみたい。そりゃそうか。

というわけで、公式サイトを参考に色々設定する。
PukiWiki/Install/インストール方法 - PukiWiki-official

管理者の名前

//$modifier = 'anonymous';
$modifier = 'sugarball';

管理者パスワード

//$adminpass = '{x-php-md5}!';
$adminpass = '{x-php-md5}' . md5('47bce5c74f589f4867dbd57e9ca9f808');

のように変更。文字列「47bce5c74f589f4867dbd57e9ca9f808」は、文字列「aaa」をmd5で暗号化したもの。つまり、md5で暗号化されたパスワードを記入する。
文字列をmd5で暗号化する方法は、

macmini:~ sugarball$ md5 -s aaa
MD5 ("aaa") = 47bce5c74f589f4867dbd57e9ca9f808

とすればOK。

あとは、PukiWikiのファイル一覧に従って、パーミッションの設定を行う。

ここまでやると、pukiwikiLeopard上で動作した。どうやら、phpが動作していれば、httpd.confなんかは特に編集が必要ないっぽい。

動作確認

新規ページの作成、ページの編集ができたので問題無いっぽい。しかし、LAN内のMacMiniで動かしているから動作がメチャクチャ速いw

おまけ(Windows Vistaのhosts編集)

Windows Vistaのhostsは C:/Windows/System32/drivers/etc フォルダにある。hostsファイルを編集するには、テキストエディタを「管理者として実行」すること。(でないと、上書きできない)
hostsを編集することで、ブラウザで「http://macmini/pukiwiki/」のようにホスト名でアクセスできるようになる。

課題。

  • コマンドラインからapacheを停止/起動できるようにする
  • 外出先から安全にアクセスできるようにする
    • Zebedeeを使ってトンネル通信
    • サーバのsshの設定
  • プロバイダからは動的IPを与えられているので、外出先でも変更されたIPを知ることができるようにする
  • 外出先で使うクライアントの工夫
    • サーバのIPを取得し、hostsを変更するスクリプトの作成(IPが変わっても、ホスト名でアクセスしたい)
  • どうでもいいけどさっさとportsインストールしてSubversionRedmine使えるようにしろよ
  • macでサーバ立てる場合、文字コードはどっちがええの?EUC-JP?UTF-8*2

*1:2010年4月追記:UTF-8版の方がいい気がします

*2:文字コードUTF-8にして、改行コードはLF(UNIX)にしたらいいと最近は思ってる