MediaWikiの設定

提供:あわ自由帳

LocalSettings.phpの設定

ローカルタイムの設定

時刻表示をローカルの標準に合わせる。

# デフォルトのタイムゾーンを設定する
$wgLocaltimezone = "Asia/Tokyo";
$oldtz = getenv("TZ");
putenv("TZ=$wgLocaltimezone");

UTCでタイムゾーンのオフセットを計算(サーバーがローカルタイムでUTC表示する場合)

# オフセットは分単位です
$wgLocalTZoffset = date("Z") / 60;
putenv("TZ=$oldtz");

サイトの左上に表示されるロゴ画像を変更

デフォルトのサイズは135px×135pxです.

$wgLogo = "$wgScriptPath/images/wiki.png";

ファイルのアップロード

ファイルのアップロードを可能にしたい場合,設定が必要です.設定を行うと,ツールボックスに「アップロード」へのリンクが現れます.なお,この設定を行った場合,デフォルトでは,ログインユーザのみ,アップロードの利用が可能になります.

$wgEnableUploads = true;

サーバ上のMediaWikiをインストールしたディレクトリ直下にあるimagesディレクトリに書き込み権限を付与します.

アップロードできる拡張子の種類を増やすにはLocalSettings.phpに次の変数を追加し,配列に使用を許可する拡張子を追加します.

$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'pdf', 'svg');

履歴統合機能

MediaWikiには、標準では無効となっている履歴統合機能がコア内に存在している。これを有効化する場合は LocalSettings.php に以下の行を追加する。

$wgGroupPermissions['sysop']['mergehistory']     = true;

標準ではこの機能は管理者に割り当てられている。

グループの権限設定

グループの権限設定は,wgGroupPermissions変数に値を設定することで可能です.書式は次のとおりです.

$wgGroupPermissions['グループ名']['権限'] = true|false;

たとえば,未ログインユーザに編集を禁止させる場合,次のように記述します.

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

未ログインユーザにページ作成を禁止させる場合,次のように記述します.

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

設定例

## 利用者グループの権限

## 新規ユーザの登録停止
$wgGroupPermissions['*']['createaccount'] = true;

## 訪問者の権限を制限する
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createtalk'] = false;
$wgGroupPermissions['*']['createpage'] = false;
$wgGroupPermissions['*']['writeapi'] = false;
$wgGroupPermissions['user']['move-subpages'] = false;
$wgGroupPermissions['user']['writeapi'] = false;
$wgGroupPermissions['user']['minoredit'] = false;
$wgGroupPermissions['user']['move'] = false;
$wgGroupPermissions['user']['move-rootuserpages'] = false;
$wgGroupPermissions['user']['upload'] = false;
$wgGroupPermissions['user']['reupload'] = false;
$wgGroupPermissions['user']['reupload-shared'] = false;
$wgGroupPermissions['user']['purge'] = false;

## 編集の制限

## Eメールアドレスで確認されたユーザのみ編集できる
# メールアドレスの確認が済んだ利用者をグループに属させる
$wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED;
# グループを利用者一覧から隠す 
$wgImplicitGroups[] = 'emailconfirmed';
# 最後に、お望みのグループに true を設定する
$wgGroupPermissions['emailconfirmed']['edit'] = true;

## ページ作成の制限

## Eメールアドレスで確認されたユーザで、4日以上たった利用者のみページを作成できる
$wgGroupPermissions['*'            ]['createpage'] = false;
$wgGroupPermissions['user'         ]['createpage'] = false;
$wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED;
$wgGroupPermissions['emailconfirmed']['createpage'] = true;
$wgGroupPermissions['autoconfirmed']['createpage'] = true;
$wgAutoConfirmAge = 86400 * 4; # Four days times 86400 seconds/day

ログイン時はSSLにすべてのユーザーをリダイレクト

## ログイン時はSSLにすべてのユーザーをリダイレクトする
$wgSecureLogin = true;

外部リンクを新しいウィンドウで開く

## 外部リンクを新しいウィンドウで開く
$wgExternalLinkTarget = '_blank';

日本語マッピングの変更をしたい場合

マッピング一覧Special:Allmessagesから該当のマッピングを変更すればよい