ConoHa VPS への MediaWikiのインストール

提供: tknotebook
移動: 案内検索

メインページ>コンピュータの部屋>ConoHa VPS を使ってみた

ConoHa VPS にこの MediaWiki をインストールした時の手順を残しておきます(2014/10/27 時点での手順)。

準備

  • あらかじめ MySQL の DB を作成しておきます。ユーザ名、パスワード、データベース名をメモしておいてください。
mysql -u root -p
create database データベース名;
create user ユーザ名 identified by 'パスワード';
grant all on データベース名.* to ユーザ名
  • サイトのサイト名、サイトの管理者のパスワードを決めておいてください。

MediaWikiのダウンロード

www.mediawiki.org より MediaWikiをダウンロードし、ファイルを展開します。

  • ConoHaにコンソールでログインします。
  • インストール先のディレクトリに移動します。
cd /var/www/html
  • MediaWiki.org より MediaWiki を取得します。下記の例はバージョン 1.22.6 の場合。
wget http://releases.wikimedia.org/mediawiki/1.22/mediawiki-1.22.6.tar.gz
  • 取得したtarボールを展開します。
tar zxvf mediawiki-1.22.6.tar.gz
  • 展開すると 長い名前のディレクトリができるので短い名前に変えます。
mv mediawiki-1.22.6 mw

パーミッションの変更

ファイルのオーナとグループをApacheにします。

chown -R apache:apache mw

MediaWikiの初期設定

index.php を起動してDBとの接続パラメータの設定やサイト名などを設定します。

  • サイトのURL/mw/ にブラウザでアクセスして、初期設定を行います。この際、非公開サイト設定ではうまくゆかないので、とりあえず公開サイトで設定を進めること。ここでサイト名や、管理者のログインパスワード、DBのパラメータ設定を尋ねられるので、あらかじめ決めておいたものを入力してください。
  • 初期化が完了すると、ブラウザが LocalSettings.php をダウンロードするので、これを mw ディレクトリに置いてください。ConoHaの場合 Teraterm の画面にファイルをドロップして SCP するのがお手軽だと思います。

サイトのURL/mw/ にブラウザでアクセスして、MediaWikiがちゃんと開けばひとまず成功です。

アクセス権限の設定

Wikiは誰でもアカウントなしに編集できることが原則ですが、これを変えたい場合は LocalSettings.php を以下のように編集します。 該当行が既に存在していれば修正、なければ追加します。

  • 未ログインでの編集を不可にする。
$wgGroupPermissions['*' ]['edit'] = false;
  • 一般利用者の編集を不可にする。
$wgGroupPermissions['user' ]['edit'] = false;
  • 管理者の編集を可にする。
$wgGroupPermissions['sysop']['edit'] = true;
  • アカウントの新規作成を不可にする。
$wgGroupPermissions['*']['createaccount'] = false;
  • 未ログインで参照不可(プライベートサイト、または公開前の準備期間等で使う)
$wgGroupPermissions['*']['read'] = false;

ファイルアップロードの変更

既定ではファイルのアップロードはできないので、できるようにします。

  • ファイルをアップロードできるようにする。
$wgEnableUploads = true;

数式を使えるようにする

MediaWikiは本来 TeX をインストールして、数式をイメージに変換して表示しますが、お手軽な方法として MathJax を使う方法があります。 ここでは http://www.mediawiki.org/wiki/Extension:MathJax に載っている方法を紹介します。

注: このリンク先ではすでに Extension:MathJax はすでにアーカイブされ、SimpleMathJax を使うことを薦めていますが、記法に違いがあるため、現在導入を見合わせています。Extension:MathJax では数式がセンタリングされ、式番号や式番号の参照が簡単にできるので、ちょっと手放せません。

  • エクステンションファイルの設置
    ~/www/mw/extensions に MathJaxフォルダを作成し、 MathJax.php と mwMathJaxConfig.js を置く。
  • LocalSettings.php の書き換え
    以下の2行を追加
    require_once( "$IP/extensions/MathJax/MathJax.php" );
    $wgParserCacheType = CACHE_NONE;

数式は Mathjax の要領で Latex でページに書き込めばよいです。

サーバ名の書き換え

MediaWiki の LocalSettings.php には $wgServer という変数があり、リダイレクト時にホスト名を返すのに使われるようです。

ドメイン取ってVPSにホスト名を割り当てる前に、MediaWikiをインストールしてしまうと、MediaWikiはこの変数にホストのIPアドレスをセットしてしまうようです。これにははまりました。

リダイレクトが起きるとブラウザ上のホスト名がIPアドレスに切り替わってしまい実に不細工なことになるのです。

$wgServer = "http://157.7.238.232";

などとなっているのを

$wgServer = "http://www.nakamuri.info";

というように書き換えてください。

重要です。

再度変更があります。SSL化する場合は 追記3を参照

追記 1

2014年11月4日

MediaWikiの「最近の更新」というページは、ログインすれば見やすい形式に設定できますが、未ログインユーザには使えません。 しかし既定の[最近の更新]はあまりにも詳しすぎて醜いので、ちょっと使えないです。そこで新形式というのを試してみました。

以下の設定を LocalSettings.php に追記します。

$wgDefaultUserOptions['usenewrc'] = 1;

なかなかシンプルでよいようです。

追記 2

「数式を使えるようにする」 2

2014年12月21日

「数式を使えるようにする」では MathJax を使う方法を紹介しました。

この方法はとても簡単ですが、外部にあるサーバを使ってクライアントサイドでレンダリングを行うので、 ブラウザや外部サーバが遅いと遅くなってしまいます。 数式だらけのページでは、かなり長い間 LaTex が表示されたままになってしまいます。

そこで、MediaWiki が TeX を使って数式イメージを作成する方法を試みてみました。これならキャッシュされた数式イメージが クライアントに送られるので、数式が即表示されます。

texlive をインストールする

CENTOS 6.5 には texlive はインストールされていないので、インストールします。 texlive はこれをインストールするだけで TeX 関連の全てのパッケージが揃う優れものです。

yum install texlive-*
================================================================================
 Package                         Arch   Version                   Repository
                                                                           Size
================================================================================
Installing:
 texlive                         x86_64 2007-57.el6_2             base    1.8 M
 texlive-afm                     x86_64 2007-57.el6_2             base     48 k
 texlive-context                 x86_64 2007-57.el6_2             base     58 k
 texlive-dvips                   x86_64 2007-57.el6_2             base    193 k
 texlive-dviutils                x86_64 2007-57.el6_2             base    210 k
 texlive-east-asian              x86_64 2007-57.el6_2             base    397 k
 texlive-latex                   x86_64 2007-57.el6_2             base     83 k
 texlive-texmf                   noarch 2007-38.el6               base    2.8 M
 texlive-texmf-afm               noarch 2007-38.el6               base    4.5 M
 texlive-texmf-context           noarch 2007-38.el6               base    2.7 M
 texlive-texmf-doc               noarch 2007-38.el6               base    175 M
 texlive-texmf-dvips             noarch 2007-38.el6               base    238 k
 texlive-texmf-east-asian        noarch 2007-38.el6               base    564 k
 texlive-texmf-errata            noarch 2007-7.1.el6              base    5.3 k
 texlive-texmf-errata-afm        noarch 2007-7.1.el6              base    5.4 k
 texlive-texmf-errata-context    noarch 2007-7.1.el6              base    4.7 k
 texlive-texmf-errata-doc        noarch 2007-7.1.el6              base    5.9 k
 texlive-texmf-errata-dvips      noarch 2007-7.1.el6              base    5.3 k
 texlive-texmf-errata-east-asian noarch 2007-7.1.el6              base    5.6 k
 texlive-texmf-errata-fonts      noarch 2007-7.1.el6              base    5.5 k
 texlive-texmf-errata-latex      noarch 2007-7.1.el6              base    5.4 k
 texlive-texmf-errata-xetex      noarch 2007-7.1.el6              base    4.7 k
 texlive-texmf-fonts             noarch 2007-38.el6               base     48 M
 texlive-texmf-latex             noarch 2007-38.el6               base    5.3 M
 texlive-texmf-xetex             noarch 2007-38.el6               base    137 k
 texlive-utils                   x86_64 2007-57.el6_2             base    253 k
 texlive-xetex                   x86_64 2007-57.el6_2             base    2.1 M
Installing for dependencies:
 dvipdfm                         x86_64 0.13.2d-41.1.el6          base    274 k
 dvipdfmx                        x86_64 0-0.31.20090708cvs.el6    base    344 k
 dvipng                          x86_64 1.11-3.2.el6              base     97 k
 gd                              x86_64 2.0.35-11.el6             base    142 k
 kpathsea                        x86_64 2007-57.el6_2             base    118 k
 libpaper                        x86_64 1.1.23-6.1.el6            base     34 k
 mendexk                         x86_64 2.6e-57.el6_2             base     49 k
 netpbm                          x86_64 10.47.05-11.el6           base    802 k
 netpbm-progs                    x86_64 10.47.05-11.el6           base    1.7 M
 openjpeg-libs                   x86_64 1.3-10.el6_5              base     60 k
 perl-PDF-Reuse                  noarch 0.35-3.el6                base     89 k
 poppler                         x86_64 0.12.4-3.el6_0.1          base    557 k
 poppler-data                    noarch 0.4.0-1.el6               base    2.2 M
 psutils                         x86_64 1.17-34.el6               base     46 k
 ruby                            x86_64 1.8.7.374-3.el6_6         updates 538 k
 teckit                          x86_64 2.5.1-4.1.el6             base    275 k
 tex-preview                     noarch 11.85-10.el6              base     50 k
 xdvipdfmx                       x86_64 0.4-5.1.el6               base    487 k
Updating for dependencies:
 ruby-libs                       x86_64 1.8.7.374-3.el6_6         updates 1.7 M

Transaction Summary
================================================================================
Install      45 Package(s)
Upgrade       1 Package(s)

Total download size: 255 M

かなり大きなサイズのインストールになりますが、TeX 関係はこれだけです。

ocaml をインストール

MediaWiki が TeX のレンダリングに使う texvc のコンパイルには ocaml が必要です。

 yum install ocaml.x86_64

================================================================================
 Package               Arch           Version                Repository    Size
================================================================================
Installing:
 ocaml                 x86_64         3.11.2-2.el6           base         5.2 M
Installing for dependencies:
 ocaml-runtime         x86_64         3.11.2-2.el6           base         1.3 M

Transaction Summary
================================================================================
Install       2 Package(s)

Total download size: 6.5 M
Installed size: 27 M

Extension:Math の インストール

/var/www/html/mw/extension に Extension:Math をインストールします。

cd /var/www/html/mw/extension
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Math.git

texvc をコンパイルします。

cd Math
make
cd texvccheck
make
cd /var/www/html/mw
chown -R apache:apache Math

LocalSettings.php を書き換え。末尾に

require_once "$IP/extensions/Math/Math.php";

を加えます。

Extension:Mathのためにデータベースをアップデートします。これは忘れがちなので、必ず実行してください。

php maintenance/update.php

スクリーンショット

MediaWiki数式表示.png

終わりに

この Extension:Math によるレンダリングですが、せっかくインストールしたものの 暫くは使っていませんでした。理由は

  1. MathJax と記法が違うので直すのが大変。
  2. 数式が左寄せになるので醜い。
  3. 数式番号を簡単に表示できないし、数式番号の参照もできない。

2, 3 はテンプレートを作ることで解決(表に数式と式番号を埋め込む)。記法を修正し、2014年12月29日 Extension:Math への移行が完了しました。やはりどこでも使える標準の記法の方が安心です。

追記3

2016.11.26

サーバを SSL化し、httpsからアクセスするようにした場合、$wgServer に プロトコル http が直に書いてあると 動きがめちゃめちゃになります。

$wgServer = "https://www.nakamuri.info";

としてもよいようですが

$wgServer = "//www.nakamuri.info";

というようにプロトコルを取ってもうまくゆきます。 この方法は SSL と 非SSLの双方で使えるので便利です。