ConoHa VPS への MediaWikiのインストール
メインページ>コンピュータの部屋>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 では数式がセンタリングされ、式番号や式番号の参照が簡単にできるので、ちょっと手放せません。
- エクステンションファイルのダウンロード
- http://people.cs.kuleuven.be/~dirk.nuyens/Extension_MathJax/ から2つのテキストファイル MathJax.php と mwMathJaxConfig.js をを取得する。
- エクステンションファイルの設置
- ~/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
スクリーンショット
終わりに
この Extension:Math によるレンダリングですが、せっかくインストールしたものの 暫くは使っていませんでした。理由は
- MathJax と記法が違うので直すのが大変。
- 数式が左寄せになるので醜い。
- 数式番号を簡単に表示できないし、数式番号の参照もできない。
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の双方で使えるので便利です。