案内編論文編書籍編雑記編

メディアウィキのホスティング

どのレンタルサーバーが、メディアウィキを使ったサイトをホスティングするのに一番良いか、いろいろ探して、比較検討した結果、私はドリームホストを選ぶことにしました。このページでは、ドリームホストのサーバーにメディアウィキをインストールする上で役に立つ情報を掲載します。

1. ドリームホストの長所と短所

ドリームホストの共用サーバー・プラン(Happy Hosting Plan)の長所としては、以下の点を挙げることができます。

  1. メディアウィキを簡単にインストール/アップグレードができる。
  2. メディアウィキで LaTeX を用いた数式表示が可能である。
  3. SSH を用いたメディアウィキのバックアップと復元が可能である。
  4. メールによる無料サポートが充実している。
  5. 容量、転送量、ドメイン数、データベース数、メール数が無制限。
  6. 97日間の試用期間があり、料金は定額(119.40ドル/年)で割安。
  7. ドメインが一つ無料で取得できて、契約期間中は無料で維持できる。

ここではまた、ワードプレス(WordPress)その他多くの無料ソフトがワン・クリックでインストール/アップグレードできます。

短所としては、

  1. 1サーバーあたりのユーザの割り当てが多い共用サーバーである。
  2. サーバーのメモリとCPUのリソース消費量に制限がある。
  3. メディアウィキのような動的サイトは表示が遅い。
  4. サポートは英語のみである。

といったところです。英語の読み書きができない人は、国内サーバーを使いましょう。

静的サイトをホスティングするのなら、大規模なものであっても、ドリームホストで問題はないが、メディアウィキのような動的サイトのホスティングには、ドリームホストは適していないという意見をよく聞きます。動的サイトの表示がどれくらい遅いかは、実際に ドリームホストがホスティングしているサイトをご覧になって、確かめてください。

なお、Happy Hosting Plan で、サーバーのメモリとCPUのリソース消費量が一定限度を超えるようになると、DreamHost PS と呼ばれる、メモリの使用量に応じて課金されるバーチャル・プライベート・サーバへの移転が勧められるようになります。DreamHost PS は高額であるため、切り替えは慎重にしたいところです。

ドリームホスト はよくダウンするという噂も耳にしますが、Best Hosting ratings の DreamHost Uptime Report によると、アップタイム率は、99.534%(2009年8月17日現在)であり、値段の割には低くないと思います。

2. メディアウィキをインストールする方法

ドリームホストでメディアウィキを新規にインストールするには、まず

  1. ドメイン登録サイトで、ネームサーバーを“NS1.DREAMHOST.COM”、“NS2.DREAMHOST.COM”、“NS3.DREAMHOST.COM”に設定する。
  2. “Tool Box”内にある“Manage Domains”をクリックし、ホスティングするドメインを追加する。必要なら、メールアドレスの設定も行う。
  3. “Tool Box”内にある“Manage Users”をクリックし、ユーザを登録する。その際、“User Account Type”を“Shell account”にする。

という準備作業を終えます。このうち要注意なのは三番目で、ここを飛ばしたり、ここで登録していないユーザネームでデータベースを作ったりするとうまくインストールすることができません。また、ここで設定したユーザネームとパスワードをしっかり覚えておきましょう。

次に、“Tool Box”内にある“One-Click Installs”をクリックし、“Install new website software - Advanced mode”を選び、必要事項をインプットして、“Install it for me now!”をクリックします。データベースも、登録したユーザネームで一緒に作られます。

なお、「メディアウィキで多言語対応サイトを作る方法」で書いた、バーチャルパスを使ったURL短縮方法は、ドリームホストでは使えません。しかし、“.htaccess”ファイルを使うことによって、言語コードごとのフォルダに直接メディアウィキをインストールし、URLにドメイン名/言語コード/ページタイトルという必要最小限の情報だけを階層順に表示させることはできます。ですから、“Install to”とあるところで、言語コードを指定します。例えば、

http://www.ドメインネーム.com/ja

というようにします。

インストールが完了してから10分ほどで、“Success installing MediaWiki on your site!”というメールが送られてきます。メールに含まれているURLには、ファイル名が省略されているので、以下のように“index.php”を補って、アクセスします。

http://www.ドメインネーム.com/ja/config/index.php

“Environment checked. You can install MediaWiki.”と出てきたら、メールが送られてくるので、そこに含まれた情報を使って、“Site config”の設定をします。以下、要注意のオプションに注釈を加えましょう。

  • Object caching:Memcached や eAccelerator などのキャッシュ機能ソフトをインストールしていない場合は、No caching をチェックする。
  • E-mail notification about changes:Enabled for changes to user discussion pages only にチェックを入れると、ディスカッションに投稿があると、メールで知らせてくれる。
  • E-mail address authentication:たいていのユーザは、メールアドレスを教えることを嫌うので、Disabled にチェックしたほうがよいが、荒らし対策を厳密にしたいなら、Enabled にチェックしたほうがよい。
  • Superuser account:新規データベースを作成する権限がない場合は、チェックを入れない。
  • MySQL specific options Database table prefix:メールには、“wiki_”を入れることが推奨されていますが。一つのデータベースに一つの MediaWiki をインストールする場合は、不要。
  • Storage Engine:規模の大きなサイトを運営するときには、並行性の高い InnoDB を選択するほうがよい。
  • Database character set:英語以外のサイトでは、Unicode (UTF-8) が用いられる。新規に UTF-8 のサイトを作るときには、MySQL 4.1/5.0 UTF-8 を選択する。

設定を終えたら、“Install Mediawiki!”というボタンをクリックします。“Installation successful!”と出れば、インストールは成功です。

次に、FTPクライアントソフト(ドリームホストで推奨されているのは、FileZilla)を用いて、“config”フォルダ内にある“LocalSettings.php”を上位のディレクトリに移動します(セキュリティ上の理由から、移動元からは消去します)。例えば、上の例ですと、“ja”のフォルダに入れることになります。これをテキストエディタで開き、必要な修正を加えます。

48-49行目に、次のような箇所があります。見つからないときは、“ScriptPath”で検索してみてください。

$wgScriptPath = "/ja";
$wgScriptExtension = ".php";

両者の間に次の太字の1行を書き加えます。

$wgScriptPath = "/ja";
$wgArticlePath = "$wgScriptPath/$1";
$wgScriptExtension = ".php";

次に、テキストエディタで、

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /ja/index.php?title=$1 [L,QSA]

と書いて(太字の部分は自分が作ったフォルダ名に書き換える)、ファイル名を“.htaccess”にして、保存し、“LocalSettings.php”があるのと同じディレクトリにアップロードします。

その後、“Installation successful!”の後にある“follow this link to your wiki”のリンクをクリックします。すると、

http://www.ドメインネーム.com/ja/メインページ

というURLで、メインページが立ち上がります。なお、拡張機能の導入ローカル設定インターウィキ設定スキンの変更など、メディアウィキのさらなるカスタマイズに関しては、各該当ページのインストラクションをご覧ください。

3. LaTeX入力の数式を画像変換表示させる方法

LaTeXのマークアップを使って数式を入力し、その数式を自動的に画像へと変換させて表示させる機能は、メディアウィキでは、デフォルトの機能として装備されています。しかし、ほとんどのレンタルサーバーでは、SSHが利用できないとか、ラスター化ソフトがインストールされていないなどの理由により、これが使えません。この点でも、ドリームホストはかなり例外的です。

ドリームホストでこの機能を有効にするには、まずシェル・アクセスを可能にしなければなりません。コントロールパネルの“Tool Box”内にある“Manage Users”で“User Account Type”が“Shell account”になっていることを確認しましょう。ウィンドウズ・ユーザの場合、SSHクライアントソフトがないので、PuTTYなどの適当なソフトをインストールする必要があります。

PuTTYのインストールの方法や使い方に関しては、このページに詳しく書かれていますが、その概略をまとめます。

1. PuTTY Download Page から、PuTTY,Pageant,PuTTYgen の三つをダウンロードし、それぞれをインストールします。以下“C:\BIN”にインストールしたとして話を進めます。なお、PuTTY だけでも、パスワードを使ってログインすることができるのですが、セキュリティ上の問題があるので、ここではキー交換方式によるログイン方法を紹介します。

2. コントロールパネルの“Tool Box”内にある“Manage Domains”をクリックし、“WebFTP”をどれか一つクリックし、ルートディレクトリに“.ssh”というフォルダを作ります。さらに“Chmod”を使って、フォルダの属性を700にします。

3. PuTTYgen を使ってパブリックキーとプライベートキーを生成します。public key,key fingerprint,key comment,key passphrase の四つの情報は、メモしておきましょう。

4. パブリックキーは、拡張子なしの“authorized_keys”という名前で保存し、“.ssh”フォルダ内にアップロードし、“Chmod”を使って、ファイルの属性を600にします。“Edit”を使って、ファイルを開くと次のように、頭と尻尾がない不完全なパブリックキーしかないことに気が付きます。

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-日付"
不完全なパブリックキー
---- END SSH2 PUBLIC KEY ----

そこで、PuTTYgen 内にある“Public key for pasting...”の部分をコピーアンドペイストし、不完全なパブリックキーを完全なパブリックキーに置き換えます。他方で、プライベートキーは“key.ppk”という名前で“C:\BIN”に保存します。

5. Pageant を起動し、キーパスフレーズを入力します。Pageant のアイコンがタスクトレイに現れていることを確認しましょう。Pageant のショートカットを作り、右クリックして、プロパティを選び、リンク先を

C:\BIN\pageant.exe C:\BIN\key.ppk

というようにしておくと、ショートカットをクリックすることで、プライベートキーが一緒に開かれるようになります。

6. PuTTY を開いて、以下の設定をします。

  • Session>>Host Name:ホスト名を入力。
  • Session>>Connection type:sshを選択。
  • Terminal>>Keyboard>>The Functional keys:Linuxを選択。
  • Connection>>Data>>Auto-login username:ユーザネームを入力。
  • Connection>>Data>>Terminal-type string:linuxを選択。
  • Connection>>SSH>>Preferred SSH Protocol Version:2 Only を選択。
  • Connection>>SSH>>Auth>>A. method:PageantとSSH-2を選択。
  • Connection>>SSH>>Auth>>A. parameter:プライベートキーを指定。

設定が終わったら、セッションに名前をつけて保存します。こうしておくと、次回から、そのセッションをロードして開くだけなので、手間が省けます。ロードした後、オープンをクリックし、パスワード入力なしでログインできれば、キー交換方式によるログインは成功したことになります。

数式のレンダリングをするためには、math ディレクトリを make する必要があります。まず、開いたコンソール上で、“pwd”というように入力して、enter を押します。すると現在のディレクトリが表示されます。

[server]$ pwd
/home/current/directory/
[server]$

そこから、math ディレクトリをナビゲートします。例えば、

[server]$ cd ドメインネーム.com/ja/math/

というように入力して、enter を押します。成功すれば何もリターンされません。“pwd”で、math ディレクトリに到着したことを確認してから、

[server]$ make

というように入力して、enter を押します。

コンパイルに成功したら、ローカル設定を変更します。

$wgUseTeX = false;

とあるところを

$wgUseTeX = true;
$wgTexvc = './math/texvc';
$wgMathPath = "{$wgUploadPath}/math";
$wgMathDirectory = "{$wgUploadDirectory}/math";
$wgTmpDirectory = "{$wgUploadDirectory}/tmp";

に変更します。次に、“images”フォルダ内に以下のディレクトリを作り、属性を“755”にします。

/images/math
/images/tmp

以上で、準備は完了です。メディアウィキに、例えば、

<math>\sum_{n=0}^\infty \frac{x^n}{n!}</math>

と書いてみましょう。画像に変換されて表示されているはずです。

4. SSHでバックアップファイルをリストアする方法

データベースのサイズが7MB未満なら、phpMyAdmin のエクスポート/インポートを用いることで、簡単にバックアップと復元ができます。しかし、7MB以上の場合(ほとんどの場合)、エクスポートは、phpMyAdmin でできるものの、インポートには、SSHを使わなければいけません。

まず、エクスポートを使って、データベースのバックアップをしましょう。ドリームホストにホスティングさせるのなら、phpMyAdmin でエクスポートする時には、“DROP TABLE”にチェックを入れずに実行します。古いデーターベースを削除するには、「構造」の画面から、すべてのテーブルにチェックを入れ、「削除する」を選択して、実行すればよいでしょう。

別サーバーにサイトを移転する時には、データベース本体の他、“images”、“skins”、“extentions”などのフォルダ内に入れている独自ファイル、および設定済みの“LocalSettings.php”を保存します。どこに独自ファイルがあるか不確かな時は、FTPクライアントソフトを用いて、サイトを丸ごとダウンロードしておくとよいでしょう。

SQLファイルをダウンロードしたら、次に、それを、FTPクライアントソフトを用いて、リモートサーバーのホームディレクトリ(ユーザがアクセスできる最上位のディレクトリ)にアップロードします。その後、Putty を使って、SSHにログインし、以下のようなコマンドを出します。

mysql -h mysql.ドメイン名.com -u ユーザネーム -pパスワード データベース名 < ファイル名.sql

太字の日本語の部分を自分の情報に置き換えます。なお、“-p”とパスワードとの間にスペースを入れてはいけません。これをコピーし、画面上で右クリックすると、ペイストできます。Enter を押して、無反応なら成功です。

別サーバーにサイトを移転する時には、“images”、“skins”、“extentions”などのフォルダ内に入れている独自ファイル、および設定済みの“LocalSettings.php”を所定の場所にアップロードします。これで、サイトの移転は完了です。

5. メディアウィキをアップグレードする方法

メディアウィキを最新版にアップグレードする時には、Goodies > One-Click Installs > Upgrade or remove previouslly installed software をクリックします。アップグレードすると、旧版は、“.old”の付いたフォルダに移され、最新版が元のフォルダにインストールされます。データベースもそっくり新版に移転されるので、事前にバックアップする必要はありません。

アップグレードを完成させるには、SSHを用いて、二つのスクリプトを実行する必要があります。まず、Putty を使ってログインし、

cd ドメインネーム.com/ja

というコマンドで、アップグレードするディレクトリに行きます。次に、

nano -w AdminSettings.php

というコマンドで“AdminSettings.php”を開き、以下の3行を書き加えます。

<?
$wgDBadminuser = $wgDBuser;
$wgDBadminpassword = $wgDBpassword;

その後、Writeout(Ctrl-o) +Enter で保存し、Exit(Ctrl-x) で終了します。次に、以下のディレクトリに移動します。

cd maintenance/

最後に以下のコマンドを実行します。

php update.php

6. AWStats をインストールする方法

インストールの方法には、静的方法と動的方法の二つがありますが、動的方法はサーバに負担がかかるので、ここでは静的方法を採用することにします。

まず、ここから最新版(6.9)をダウンロードし、解凍し、ファイル名を“awstats”にして、サーバーのルートディレクトリ、“/home/ユーザーネーム/”にアップロードします(以下、自分のユーザネームに置き換えてください)。階層構造は、次のようになります。

/home/ユーザーネーム/awstats

'data'というディレクトリを作りパーミッションを変更。

cd ~/awstats mkdir data chmod 755 data

以下のコマンドにより、ファイルを /home/ユーザーネーム/awstats/wwwroot/cgi-bin/ から /home/ユーザーネーム/awstats/ へと移動。

mv ~/awstats/wwwroot/cgi-bin ~/awstats

ドメインフォルダ、"ドメインネーム.com"(以下、自分のドメインネームに置き換えてください)に“statistics”フォルダを作る。

mkdir ~/ドメインネーム.com/statistics

icon,css,jsの三つのファイルをコピーして、移転。

cp -r ~/awstats/wwwroot/{icon,css,js} ~/ドメインネーム.com/statistics

awstats/cgi-bin/ フォルダ内の awstats.model.conf をコピーして、 awstats.ドメインネーム.com.conf へと移転。

cp ~/awstats/cgi-bin/awstats.model.conf ~/awstats/cgi-bin/awstats.ドメインネーム.com.conf

パーミッションを変更。

chmod 644 ~/awstats/cgi-bin/awstats.ドメインネーム.com.conf

編集のために、このファイルを開く。

vi ~/awstats/cgi-bin/awstats.ドメインネーム.com.conf

ファイル内の以下のパラメータを変更する。

  1. LogFile="/home/ユーザーネーム/awstats/tools/logresolvemerge.pl /home/ユーザーネーム/logs/ドメインネーム.com/http/access.log*|"
  2. LogFormat="%host?%other?%other?%time1?%methodurl?%code?%bytesd?%
    refererquot?%uaquot"
  3. SiteDomain="ドメインネーム.com"
  4. HostAliases="www.ドメインネーム.com"
  5. DNSLookup=0
  6. DirData="/home/ユーザーネーム/awstats/data/"
  7. DirIcons="icon"
  8. SaveDatabaseFilesWithPermissionsForEveryone=0
  9. DefaultFile="index.php index.html"

“Esc”キーを押した後、“:x”とタイプし、“Enter”キーを押します。これにより変更が保存され、エディタが閉じられます。

“.pl”ファイルのパーミッションがすべて755であることを確認してから、以下のコマンド(1行)で、インストールを完成させます。

perl /home/ユーザーネーム/awstats/tools/awstats_buildstaticpages.pl -config=ドメインネーム.com -update \ -awstatsprog=/home/ユーザーネーム/awstats/cgi-bin/awstats.pl -dir=/home/ユーザーネーム/ドメインネーム.com/statistics/

以下のURLにアクセスして、正しくインストールされていることを確認します。

../statistics/awstats.ドメインネーム.com.html

次に、統計をアップデートするために、コントロールパネルから、

Goodies > Cron Jobs > Add New Cron Job

へと進み、クローンジョブの設定を行います。毎日、統計をアップデートするには、例えば、以下のように入力します。

  • Title: AWStats Daily Update
  • Email output to:(ブランクのままにする)
  • Command to run: 0 3 * * * /usr/bin/perl /home/ユーザーネーム/awstats/tools/awstats_buildstaticpages.pl -config=ドメインネーム.com -update -awstatsprog=/home/ユーザーネーム/awstats/cgi-bin/awstats.pl -dir=/home/ユーザーネーム/ドメインネーム.com/statistics/ >/dev/null 2>&1
  • Use locking:(チェックを入れる)
  • When to run: Daily (Every day at midnight)

統計ページのURLを短くするには、“ドメインネーム.com/statistics/”へ、以下のように記した .htaccess ファイルをアップロードします。

DirectoryIndex awstats.ドメインネーム.com.html

こうすれば、“http://www.ドメインネーム.com/statistics/”という短いURLで統計の概要を見ることができます。

[投稿者:永井俊哉]
ブログ内移動
カテゴリー内移動
お知らせ

このページでのコメントの受付は終了しました。本ページに関して、御意見、御質問、御批判をお持ちの方で、私に回答を求める方は、システム論フォーラムに投稿してください。

Sponsored Links
Books