Wikiサーバは一杯ありますが、WikiPediaで使うために作られたのがMediaWikiというパッケージ
本体はPHPで書かれていて、データベースにPostgreSQLか、MySQLを要求します。最近のVersionでは、MySQLだけになってるのかも?
以前、自宅サーバにMediaWikiをインストールだけして、「おぉー動いた動いたーぁ」ってやったままほったらかしてたんですが、久々にアクセスしてみたら、接続できなくなってる!どーして??ということで調べてみた。
なお、MediaWikiのバージョンは1.19.2
結果、問題は2つ発生しておりました。
- Apache の設定に誤り
Apacheを動かしているサーバは、/home/wwwdoc ディレクトリでホームを公開しており、MediaWiki のスクリプト郡は /usr/local/www/mediawiki/ に配置していた。つまり、httpd.conf で Alias をつかってサイト構造を作るひつようがあったわけですが、
Alias / /home/wwwdoc/php/
<Directory "/home/wwwdoc">
<略>
</Directory>
Alias /mediawiki /usr/local/www/mediawiki/
<Directory "/usr/local/www/mediawiki">
<略>
</Directory>
こんな書き方をしちゃってたわけです。
この設定で http://SERVER/mediawiki にアクセスすると、/home/wwwdoc/php/mediawiki にアクセスしちゃうんですね。
正しくはこう
Alias /mediawiki /usr/local/www/mediawiki/
Alias / /home/wwwdoc/php/
さきに /mediawiki に対する Alias を解釈させてあげないといけないのでした。
- MediaWikiのSettingの誤り
Wiki スクリプト郡ファイルのルートに LocalSettings.php というファイルがあり、これがデータベースへの接続などの動作設定が入っているわけですが、この中にベース URL の設定があります。
$wgServer = "http://SERVER";
という変数があるのですが、サーバのIPアドレスを変えたときに、ここを変え忘れていたらしい。
今のサーバの IP アドレスに変更することでちゃんと動作しました。