Windows XPにてMediaWikiをPostgresSQL 8.3を使って動かす
参考図書:PostgreSQL徹底入門 第2版
8.3で動作が高速化されたPostgreSQLについて勉強する目的で,PostgreSQL8.3と組み合わせてWikiを動作させる方法を実践したので記述しています.また,手元でいろいろ勉強できるようにWindowsをターゲットプラットフォームにしています.
Wikiシステムとしては8.3への対応がはっきりしていたmediawikiを用いました.
使うもの:mediawiki 1.12.0,以下Windows版バイナリ PHP5.2.5 Apache2.2.8 PostgresSQL 8.3
準備 Apache2とPHP5が動くようにする
Apacheのインストール
・入手 http://httpd.apache.org/download.cgi Apacheのダウンロードページより apache_2.2.8-win32-x86-no_ssl.msiをダウンロード.・msiを実行し,インストール開始
・インストール途中での入力など
・Server Infomationは特にこだわっては入力しない(実質スタンドアロンで使うため)つまり:
・Network Domain:localdomain
・server name : localhost
・Administrator's Email Address:webmaster@localhost.localdomain
・ラジオボタンもfor all Users,On port 80... のまま
・インストールタイプはTypicalでよしPHPのインストール
・入手 http://www.php.net/downloads.php PHPのダウンロードページ
にてPHP 5.2.5 Installer版(php-5.2.5-win32-installer.msi)をダウンロード・msiを実行しインストールを開始
・どのWebサーバに合わせたモジュールをインストールするか聞かれるので"Apache2.2"を選ぶ
・どこにApacheの設定ファイルがあるかを聞かれるので,apacheのインストールで特に変更をしていないのであれば,
C:/Program Files/Apache Software Foundation/Apache2.2/conf
を入力.これによりApacheの設定ファイル(httpd.conf)に自動的にPHPを呼び出すための設定が書き込まれる.・インストール内容の選択ウインドウで,extensionをクリックし,下記の2つを選択する.
・PostgreSQL
・Multi-Byte String
特にPostgreSQLエクステンションをインストールしないとmediawikiのコンフィグレーションの初めでPHPがDB対応になっていないとして,先に進めなくなる.・インストール終了後,PHP.ini を編集する(スタートメニューのPHP 5->php.iniを選択)
・ファイルの最後でPostgre用のDLLなどの指定が行われているか確認する
extension=php_pgsql.dll
extension=php_mbstring.dll
・文字コードの指定(特に指定しないでも動くように見える)
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_output = UTF-8以上までやった段階で,PCをリブートするか,
apacheのアイコンをタスクトレイに出しているなら,右クリックメニューでOpen Apache Monitor を選択してでてくるWindowの右のrestartボタンを押す.
これによりPHPスクリプトをWebサーバから呼び出すことが出来る.
PostgresSQLのインストール
・入手 http://www.postgresql.jp/PostgreSQL/8_3/8_3_0 日本Postgreユーザ会のダウンロードページよりWindows版インストーラ(postgresql-8.3.0-1.zip)をダウンロード
・zipを解凍し,2つあるmsiのうちpostgresql-8.3.msiを実行する
・インストーラ実行中の入力は管理者パスワードを入力する以外,他はデフォルトのままインストール
(文字コード関連の指定もあるが,特にいじらず)
MediaWikのインストール&設定
・入手 http://www.mediawiki.org/wiki/Download mediawikiのダウンロードページからmediawiki-1.12.0.tar.gzをget
・解凍ソフトで展開し,c:/medawiki-1.12.0という名前で保存Subversionを使って,リポジトリからセットアップし,最新版にアップデートしながら運用する方法もあるが,ここではアップデートの手動運用もDBのメンテナンスに絡んで勉強したいのでパッケージをインストール
備忘:http://meta.wikimedia.org/wiki/Help:Upgrading_MediaWiki.Apacheの設定ファイルhttpd.confを編集(スタートメニューのApache HTTP Sever 2.2 -> Configure apache server -> edit the Apache httpd.conf configuration fileで呼び出せる)
#<IfModule mime_module>の次の行に
AddType application/x-httpd-php .php
を加えておく# <- これをやらなくても動くhttpd.confにMediawikiの場所を教えるために
<IfModule alias_module>の次の行に
Alias /mediawiki "C:/mediawiki-1.12.0"
(以下略)
と下記のタグを記述する
<Directory "C:/mediawiki-1.12.0">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>さらに
<IfModule dir_module>の次の行に
DirectoryIndex index.html index.php
(以下略)と記入し,再度apacheをリスタート.念のためブラウザのキャッシュもクリアする.
これでhttp://localhost/mediawiki/index.phpにアクセスするとmediawikiの画面になったら成功.
Please set up the wiki first.とあるリンクを押して,Wikiページの設定に入るWikiの設定
・基本的な設定
・WikiName:Wikiに自分の好きな名前を付ける
・Languageとして" ja - 日本語"を選択
・Copyright:ややこしいことを考えずにデフォルトのまま" No licence metadata"
・Admin username: admin (忘れそうなので変えた)
・Password: wiki1(パスワードを決める)
・Password confirmに同じパスワードを入れる・Object cacheing: No cahching
・メール関連の設定はすべてDisableにする(スタンドアロンで使うため)
・データベースの設定
・Database type: PostgreSQL
・database host: localhost
・database name: wikidb1 (後々足すことを考えて名前を変更)
・db username: wikiuser
・db password: wiki1 (次のDB password confirmも同様)
・Superuser account :チェック
・Superuser name: postgres
・Superuser password: g(Posgreのインストールのときに入れたもの)
・PostreSQL specific options(そのまま,以下のとおり)
・Database port:5432
・Schema for mediawiki: mediawiki
・Schema for tsearch: public・上記を確認後Install MediaWiki!ボタン
なお,Installボタンを押したら,自動的にPosgreの操作などもやってくれた.pgsqlコマンドを使って直接操作が必要になるかと思っていたのに.つまらん.
仕上げ
・c:/mediawiki-1.12.0/configにあるLocalSetting.phpを 一つ上の c:/mediawiki-1.12.0にコピーする
・ついでに110行付近にある $wgDefaultSkin を例えば 'modern'等にするなどして遊ぶ
・さらに,セキュリティ的には configディレクトリ自体を削除したほうが良いらしいが,これは保留.