Gentoo Linux/MediaWiki

提供: KuroWiki
移動先: 案内検索

インストール

MySQL、php、各種 convert モジュールを emerge で入れておくこと。

 # emerge mediawiki
 # webapp-config -I -h localhost -d mediawiki mediawiki 1.19.x

/var/www/localhost/htdocs/に作成される。-d オプションでディレクトリ名を変更すれば無限に作成できる。

アップデート

# emerge --sync
# emerge -u mediawiki
# cd /var/www/htdocs/
# webapp-config -U -h localhost -d mediawiki mediawiki 1.XX.X

ブラウザで、/mw-config/ にアクセスする。

ショートURLにする

Localsettings.php

$WgArticlePath = "$wgScriptPath/$1";

そのURLのルートディレクトリに.htaccessを作成

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^wiki/(.+)$ /wiki/index.php?title=$1 [PT,L,QSA]

複数の MediaWiki に対してショートURLを適用するには、上記1セットで記述する。

interwiki の変更

gentoo-wiki:Main Page へのリンクが interwiki に設定されているが、初期状態では URL が間違っていたため変更する。

mysql に root でログインする。

# mysql -u root -h localhost -p

MediaWiki のデータベースに接続する。(ここではMediaWikiのDB名はmediawikiとする)

USE mediawiki

データベースの内容を確認。

mysql> select * from mediawiki_interwiki where iw_prefix = 'gentoo-wiki';
+-------------+---------------------------+--------+-----------+----------+----------+
| iw_prefix   | iw_url                    | iw_api | iw_wikiid | iw_local | iw_trans |
+-------------+---------------------------+--------+-----------+----------+----------+
| gentoo-wiki | http://gentoo-wiki.com/$1 |        |           |        0 |        0 |
+-------------+---------------------------+--------+-----------+----------+----------+
1 row in set (0.00 sec)

http://gentoo-wiki.com/$1は、http://wiki.gentoo.org/wiki/$1 が正しいので置換する。

mysql> replace into mediawiki_interwiki values ('gentoo-wiki','http://wiki.gentoo.org/wiki/$1','','','0','0');
Query OK, 2 rows affected (0.11 sec)

正しく置き換わったか確認する。

mysql> select * from (自分のmediawikiDB名を指定する)_interwiki WHERE iw_prefix = 'gentoo-wiki';
+-------------+--------------------------------+--------+-----------+----------+----------+
| iw_prefix   | iw_url                         | iw_api | iw_wikiid | iw_local | iw_trans |
+-------------+--------------------------------+--------+-----------+----------+----------+
| gentoo-wiki | http://wiki.gentoo.org/wiki/$1 |        |           |        0 |        0 |
+-------------+--------------------------------+--------+-----------+----------+----------+

参考文献

細かい設定

タイムゾーン

$wgLocaltimezone = "Asia/Tokyo";
$wgLocalTZoffset = +540;

ページ名の先頭が大文字になる制限解除

Localsettings.php で設定する。

$wgCapitalLinks = false;

アカウント作成を制限する

Localsettings.php で設定する。

$wgGroupPermissions['*']['createaccount'] = false;

匿名編集を制限する

Localsettings.php で設定する。

$wgGroupPermissions['*']['edit'] = false;

拡張機能の追加

Gentooでは、以前インストールした時は拡張機能がいくつか標準でセットされていたのに、2013年11月時点ではセットされなくなった。ただ、extensions ディレクトリには拡張機能一式が入っているので、LocalSetting.php に追記するだけになった。

Cite

脚注機能を追加する。

Extension:Cite/Cite.php を参照。

ダウンロード

mw:Special:ExtensionDistributor/Cite で、MediaWiki のバージョンを選択してダウンロード。

セットアップ

Cite の tar ファイルをサーバにアップロードして、コマンドで展開する。

# tar -xzf wikimedia-mediawiki-extensions-Cite-XXXXXXX.tar.gz -C /var/www/localhost/htdocs/mediawiki/extensions

/var/www/localhost/htdocs/mediawiki/extensions に wikimedia-mediawiki-extensions-Cite-XXXXXXX ディレクトリが作成されるので、ディレクトリ名を Cite に変更しておく。

LocalSettings.php に以下を記載する。

require_once('extensions/Cite/Cite.php');

SyntaxHighlight_GeSHi

シンタックスハイライト機能を追加する。 SyntaxHighlight_GeSHi を参照。

ダウンロード

Syntaxhighlight_GeSHi
mw:Special:ExtensionDistributor/SyntaxHighlight_GeSHi で、MediaWiki のバージョンを選択してダウンロード。
Geshi をダウンロード
Geshi からダウンロードする。

セットアップ

SyntaxHighlight_GeSHi の tar ファイルをサーバにアップロードして、コマンドで展開する。

tar -xzf wikimedia-mediawiki-extensions-SyntaxHighlight_GeSHi-XXXXXXX.tar.gz -C /var/www/localhost/htdocs/mediawiki/extensions

/var/www/localhost/htdocs/mediawiki/extensions に wikimedia-mediawiki-extensions-SyntaxHighlight_GeSHi-XXXXXXX ディレクトリが作成されるので、ディレクトリ名を SyntaxHighlight_GeSHi に変更しておく。

GeSHi-1.0.8.11.zip を展開し、/var/www/localhost/htdocs/mediawiki/extensions/SyntaxHighlight_GeSHi/geshi にアップロード(docsディレクトリは不要なら削除して良い)。

LocalSettings.php に以下を追加。

require_once('extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php');

MsUpload

ダウンロード

通常ではファイルのアップロードは1つずつ行う必要があるが、複数ファイルを同時にアップロードできるようにする。 MsUpload を参照。

MsUpload エクステンションをダウンロード
http://www.ratin.de/msupload.html でダウンロード。

セットアップ

zip を展開して、MsUpload ディレクトリを mediawiki/extensions にアップロードし、LocalSettings.php に以下を追加。

$wgMSU_ShowAutoKat = false;     #autocategorisation
$wgMSU_CheckedAutoKat = false;  #checkbox: checked = true/false
$wgMSU_debug = false;
$wgMSU_ImgParams = '400px';     #default max-size for image insert
$wgMSU_UseDragDrop = true;      #show Drag&Drop Area?
require_once("$IP/extensions/MsUpload/msupload.php");

バックアップとリストア

バックアップ

データベースのバックアップは、コマンドで行える。

# mysqldump -u root -pPASSWORD DATABASE_NAME > filename.sql

-u(ユーザ名のオプション)の後ろはスペース有り、-p(パスワードのオプション)の後ろはスペース無しなので注意。-pオプションを指定しなかった場合、パスワードを要求される。

その他、LocalSetting.php、画像データは別途バックアップしておくこと。

リストア

リストア先は、初期設定の MediaWiki が動作する状態にしておく。

# mysql -u root -pPASSWORD DATABASE_NAME < filename.sql

LocalSetting.php は、リストア先のものを使用して、バックアップしたファイルに記述した内容をペーストしていく。

MySQL の文字セット問題

MySQL 4.1以降で MediaWiki を何も考えずにインストールすると、文字コードが latin1 でデータベースが作成されていたと思われる。

Gentoo で何も考えずに MediaWiki を使っていたところ、MySQL は 5.1であり status の characterset は全て utf8 にセットされていた。かつて、Ubuntu や Debian で MediaWiki をテストしたとき、そのような問題が発生したので、諦めていた記憶。

トラブルシューティング

ファイルをアップロード出来ない

ファイルをアップロードすると、アップロードできずに以下のメッセージが表示される。

ディレクトリ「mwstore://local-backend/local-public/8/89」を作成できませんでした。

MediaWiki インストールディレクトリの images に apache ユーザーが書き込みできないので、ユーザーとグループを apache に変更する。images ディレクトリ以下も apache に。

サムネイルが作成されない

ファイルをアップロードすると、サムネイルの表示領域に以下が表示される。

サムネイルの作成エラー: /bin/bash: /usr/bin/convert

LocalSettings.php の $wgImageMagickConvertCommand に指定された画像サムネイル生成コマンドがインストールされていない可能性がある。コンソールにログインして、上記の例では /usr/bin/convert があるかどうか確認する。 なければ、ImageMagick がインストールされていないのでインストールする。