昨日は MySQL をインストールするところから始めて、MediaWiki を動かすところまで書いたけど、そのあと Windows マシンで運用している既存の wiki の引越しもしたのだった。今日はその手順について、(うろ覚えで)書く。
データベースとファイルのバックアップ
まずはデータベースの中身をファイルに吐き出させる。msqldump をいうコマンドを使うんだけど、パスが通ってなかったのでフルパスで指定。
^o^ > C:\VertrigoServ\Mysql\bin\mysqldump -u root -p wiki > wiki.sql
それから、アップロードしたファイルが保存されているフォルダを zip で固める。
^o^ > cd \www\wiki
^o^ > zip -r images.zip images
2つのファイルを持って、Ubuntu のマシンに移動。
データベースの更新とファイルの配置
Windows マシンから持ってきた wiki.sql ファイルを MySQL に読み込ます。
takatoh@nightschool $ mysql -u root -p wiki < wiki.sql
それから、images.zip を展開。すでに images フォルダがあるけどそのまま上書きする。
takatoh@nightschool $ cd /var/www/html/wiki
takatoh@nightschool $ unzip images.zip
これで一応完了。
エラー発生
ところがブラウザでアクセスしてみると、エラーが発生した。画面には「A database query error has occurred. This may indicate a bug in the software.」とか出ている。どうもデータベースのエラーのよう。ググってみたら↓このページを見つけた。
cf. [RESOLVED] Database error in upgrading from 1.18 to 1.22
どうやら、mw-config/index.php にアクセスしてインストールをやり直せってことらしい。そのとおりにする。インストールの画面になり、進めていくとLocalSettings.php の中の $wgUpgradeKey の値を入力しろと促されるので入力する。そしたら何やらデータベースをアップグレードしているようになり、完了。
再度ブラウザでアクセスすると、ちゃんと表示された。
画像が表示されない
これは単にファイルのパーミッションの問題だった。images フォルダを展開、上書きした時に所有者が takatoh になってしまって、wiki のユーザーからアクセスできないようになっていた。なので、次のようにして解決。
takatoh@nightschool $ sudo chown -R 2246:500 images
takatoh@nightschool $ sudo chmod -R 755 images
Windowsマシンからだと表示がおかしい
Ubuntu マシンから、localhost でアクセスするぶんには問題は解決したけど、Windows マシンからアクセスすると表示がおかしい。おかしいというのは、本文は表示されるんだけど、スタイルシートなんかが読み込まれていない感じ。
ググって見つけたページがここのコメント欄。
cf. XAMPP1.81が社内のLANに公開できない – QA@IT
LocalSettings.php の中の $wgServer の値が localhost になっているのが原因らしい。次のようにホスト名に変えた。
$wgServer = "http://nightschool";
これで、無事 Windows マシンからもちゃんと使えるようになった。