Mediawiki

提供: fukudat.net
2020年5月19日 (火) 09:54時点におけるFukudat (トーク | 投稿記録)による版 (→‎セキュリティ)
ナビゲーションに移動検索に移動

セキュリティ

LocalSettings.php を変更する。

編集のためにログインを必須とする

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

新しいユーザを登録できないようにする

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

上記2つを両方を設定すると,すでに登録されている人以外は編集できない.つまり,他人は勝手に編集できない.

このように設定しても,管理者アカウント(WikiSysopなど)でログインすれば, Special:Userlogin から新規ユーザを登録することができる.

匿名ユーザのアクセスできるページを制限する

$wgGroupPermissions['*']['read'] = false;
$wgWhitelistRead = array ("Main Page", "Special:Userlogin");

こうすると、匿名ユーザはこの array に書かれたページしかアクセスできなくなる.この例では、Main Page,Special:Userlogin の二つのページ以外は読むことすらできなくなる.

日本語でインストールした場合には,以下のように日本語でのページ名前に合わせること.

$wgWhitelistRead = array ("メインページ", "特別:ユーザログイン");

短いURL

インストールした直後は、wiki の記事の URL が https://fukudat.net/wiki/index.php/ページタイトル と indexl.php が見えてかっこ悪い。 短く https://fukudat.net/wiki/ページタイトル と表示するための方法。

詳細は https://www.mediawiki.org/wiki/Manual:Short_URL に書かれているのだが、正直めんどくさいが、実は簡単なツールが用意されている。

[1] にアクセスして、自分の wiki のアドレス (例: https://fukudat.net/wiki/index.php) を入力。 root アクセスの有無を答えると、web server の設定ファイルや、wiki の LocalSettings.php を変更すべき点を教えてkくれる。

私のケースでは、root アクセスがあるので、/etc/apache2/sites-enabled/ のしたの VirtualHost 定義中に

<Directory /var/www/html>
        RewriteEngine On
        RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]
        RewriteRule ^/?$ %{DOCUMENT_ROOT}/w/index.php [L]
</Directory>

LocalSettings.php に

$wgScriptPath = "/w";
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";

を追加すれば良いことがわかった。

外部リンク