世間はすっかり冬に……
かじかむ手でブログを書く季節。手袋買わないと……
さて、このたび、特に意味はないんだけど、MediaWikiを導入したWikiサイトを作りたくなった。
MediaWikiは、Wikipediaなどで使われているフリーのWikiソフトの一種だ。
Wikiソフトにはいろいろあるけど、MediaWikiはテンプレートとかカテゴリとかで自由自在だからね。
そこで、いつもお世話になっているXdomainの無料サーバーに、MediaWikiを導入することはできるのか!?
気になったので調べてみると、どうやら微妙なライン。
ならば、実際にやってみるしかあるまい、と俺は無料の「PHP・MySQLサーバー」を借りて試してみたのだった。
MediaWikiの解説ページ
少ない!
ググってみて、もっといろいろ情報があるだろうと思っていたが……
とりあえず、MediaWikiのサイトには日本語の情報もある、と思いきや……
翻訳が進んでない……
個人サイトでも細々と解説されているが、それらだけで(英語を読まずに)導入するのはかなり難しそうだ。
じゃあ、せっかくだし俺がやってやるぜ!
MediaWikiの動作要件
MediaWiki(記事執筆時点でバージョン1.28.0)の動作要件は以下のページ。
- PHP 5.5.9以降
- MySQL 5.0.2以降(またはその他DB)
- GD - 画像のサムネイル作成に必要
- TeX - 数式のインライン表示に必要
- Sendmail - システムがメールを送信するのに必要
- SSH - メンテナンススクリプトの実行に必要
そして、XdomainのPHP・MySQLサーバー機能の仕様は以下のページ。
- PHP 7.0.x / 5.6.x
- MySQL 5.0.95
- GD - PHP・MySQLサーバー機能では確かめてないけど、WordPress機能にはあった
- TeX - 不明
- Sendmail - 不明、たぶん使えない
- SSH - 使えない
※記事執筆時点
……ということで、SSHに対応してないこと以外は、大丈夫そう。
いや、それが一番肝心な気がするのだが……
ともかく、やれるだけやってみよう。
データベースの準備
Xdomainにログインしたら、
- 「無料レンタルサーバー」
- 「PHP・MySQLサーバー」の「管理パネルログイン」(初回は「利用開始」)
- 「データベース」の「MySQL設定」
- 「MySQL追加」
の順にクリックして、MySQLのデータベースを新規作成する。文字コードはUTF-8で。
次に「MySQLユーザ設定」に行き、ユーザーを一人分追加。
次に、先ほど作った「MySQLデータベース名」のところの「追加可能ユーザ」から、今作ったユーザーを選び、「追加」をクリック。
そのユーザーが「権限設定ユーザ」に設定されたらOK。
データベース名とユーザー名、パスワードは大事だから忘れないように。
手動でファイルを突っ込む
さて、ではいよいよMediaWikiをサーバーに入れますか。
MediaWikiのサイトの解説は英語ばっかなので、まずは参考サイトその1。
いや、その気になれば読めるけど……
「さくら」のレンタルサーバーでの解説だが、データベースの設定では参考になった。
しかし、MediaWikiをサーバーに入れるのに、コマンドラインスクリプトを使っているではないか!
そのほうが楽なんだろうけど……
しかし、Xdomainの無料レンタルサーバーでは無理だ。
仕方ないので、参考サイトその2。
このサイトの方法では、MediaWikiの配布パッケージをダウンロードし、解凍し、サーバーに普通に突っ込んでいる。
ローカルのサーバーだけど。
なんだ、スクリプトなんかいらないじゃん!
ということで、MediaWikiのサイトから配布パッケージをダウンロード。
これを解凍するには7zipを解凍できるソフトが必要だが、俺は困らなかった。
とりあえず、「w」とかいうフォルダを作ってそこに解凍しよう。
解凍したら、XdomainのサーバーにFTPでアップロード……
そうそう、FTPアクセスをするには、あらかじめ初期設定が必要だったな。
「MySQL設定」の近くにあった「FTPアカウント設定」から、「有効」に変更しよう。
ファイルが多すぎてアクセス制限を食らったのか、1時間の中断を挟みつつ、アップロード完了。
小分けにしてアップロードしたほうがいいかもね。
さて、これで自分のサイトのルート以下 /w/...
にファイルがセッティングされたわけだが。
というわけで、さっそくそのURLにアクセスしてみよう。
例:http://xxxxx.php.xdomain.jp/w/
そこでWikiの初期設定をすることになるので、さっきの「参考サイトその1」か「その2」を参考にしてくれ。
データベースの設定では、さっきXdomainのサイトで設定した情報が必要。
つまり「データベース名」、「データベースのユーザー名」、「データベースのパスワード」など。
「データベースのホスト」は、「MySQL設定」のページの「MySQL情報」にある通り。
文字セットとか文字コードは、ひたすら「UTF-8」で。
成功?
ところで、設定していると気になってくるとは思うが、ページの上部にエラーメッセージが出てくる。
is_dir()
がどうとか。
おそらくXdomainのサーバーの仕様によるものだと思うが、どんなに調べても対処できなかった。
まあ、 Error:
ではなく Warning:
だし、一応動いてるっぽいし、無視しちゃおう。
ということで、またXdomainの設定に行き、「MySQL設定」の近くにあった「php.ini設定」のページへ。
「php.ini設定変更」に行き、 display_errors
をOFFに変更すると、エラーメッセージは表示されなくなる。
エラーがなくなるわけではない。
さて、Wikiの初期設定の最後まで行くと、「LocalSettings.php」をダウンロードするように言われるので、ダウンロードして「w」フォルダに入れておく。
このファイルは、Wikiの設定をいろいろ弄るときに編集することになる。
これでMediaWikiのインストールは完了し、メインページなどにアクセスできるようになる。
URLの形式を変える
さあ、MediaWikiのインストールが完了すると、メインページを作ったり、サイトのアイコンを作ったり、その前に自分のアカウント(最初に作られたアカウントが「管理者」および「ビューロクラット」になる)を作ったりすることになるが、この時点でURLの形式は以下のようになっているだろう。
http://xxxxx.php.xdomain.jp/w/index.php?title=メインページ
一方、Wikipedia日本語版のメインページのURLは以下のようになっている。
https://ja.wikipedia.org/wiki/メインページ
Wikipediaが https なのはともかく、こっちもクエリ文字列のないすっきりしたURLにしたいよね?
Xdomainでは .htaccess が使えるので、これは実現可能だ。
まず「.htaccess」という名前のプレーンテキストファイルを作り、以下の通りに記述する。
# URLの書き換え
RewriteEngine On
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]
RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L]
次に「LocalSettings.php」を開き、上のほうにある $wgScriptPath
という部分を探したら、その行を以下のように書き換える。
$wgScriptPath = "/w";
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;
これらを行うと、WikipediaのようなURL形式になり、さらにドメイン直下にアクセスするとメインページに転送されるようになる。
メインページに転送させたくない場合は、「.htaccess」の4行目を消せばいい、と思う。
メンテナンススクリプト
MediaWikiの配布パッケージに「チェックユーザー」の機能は含まれていないので、これをWikiサイトに実装するにはExtension(拡張機能)を導入しなければならない。
チェックユーザーの導入方法はこのブログの以下の記事で解説している。
ところで、チェックユーザーのような拡張機能を導入するには「メンテナンススクリプト」を使わなければならない場合があり、これにはSSHが必要だという。
しかし、Xdomainの無料サーバーではSSHが使えない。
そこで代わりに、ブラウザであるURLにアクセスするという方法があるらしい。
またも翻訳が……
この方法は、Wikiのデータベースが「大きすぎる」場合には使えないらしい。
なぜなら、データベースが「大きすぎる」と、ブラウザのアクセスがタイムアウトしてしまうため、らしい。
どの程度からが「大きすぎる」のかはサーバーによるが、とにかくこの方法がもし使えなければ、黙ってSSHが使えるサーバーに乗り換えるしかない、らしい。
で、その方法とは、Wikiのサイトの「mw-config」にアクセスするというもの。
そのURLは、Wikiをインストールしたフォルダが「w」なら、以下のようなURLになる。
http://xxxxx.php.xdomain.jp/w/mw-config/
ここにアクセスすると、MediaWikiをインストールした時と同じようなページに辿り着くので、そこから設定を開始する。
※いきなり「インストールが完了しました」とか言われたら、「インストールを再起動」というリンクをクリックする。「入力した保存データをすべて消去して、インストール作業を再起動しますか?」なんて物騒なことを聞かれるが、OKして構わない。
その後、言語を選択した後、ちゃんと「既存のウィキ」の更新画面に行くので、ほとんど何も変更せずに再度インストールをすればよい。
その際、「アップグレード キー」を聞かれるが、これは「LocalSettings.php」内の以下のような1行に記載されている。
$wgUpgradeKey = "....";
この1行を探し、クオーテーションマーク内の文字列をコピーすればよい。
MediaWikiの再インストール
MediaWikiのサイトをインストールし直したい場合、例えば上記の方法ではアップグレードは可能だが、一からのインストールはできない。
そこで、最初のインストール時にただファイルをアップロードしたように、サーバー上のファイルを一旦すべて消してから再度アップロード、という方法でもいいが、より簡単な方法は「LocalSettings.php」だけを消すことだ。
そして再度このWikiのURL(例:http://xxxxx.php.xdomain.jp/w/)を訪れると、初期のインストール画面となり、再インストールが可能になる。
まとめ
今回は、Xdomainの無料サーバーにMediaWikiを導入することができる、ということを示すことができた。
さらに、初期設定を通じてMediaWikiのサイトを運用するためのノウハウを得ることもできた。
もっと言えば、MediaWikiのサイトを運用するためには、メインページやカテゴリ、基礎的なテンプレート群の作成など、まだまだやるべきことは多いのだが、それらはまたの機会ということで。
で、Wikiなんか作って何するの?って……
……「実証」かな?
ともかく、せっせと作ってるから、そのうち公開するかも。
せっせと頑張りすぎて、艦これのイベントをすっぽかしたのは内緒。
それでは今回はこの辺で。
こめんと