「Mediawiki」の版間の差分

提供: fukudat.net
ナビゲーションに移動検索に移動
28行目: 28行目:
 
$wgWhitelistRead = array ("メインページ", "特別:ユーザログイン");
 
$wgWhitelistRead = array ("メインページ", "特別:ユーザログイン");
 
</pre>
 
</pre>
 +
 +
== 短いURL ==
 +
インストールした直後は、wiki の記事の URL が <nowiki>https://fukudat.net/wiki/index.php/ページタイトル</nowiki> と indexl.php が見えてかっこ悪い。
 +
短く <nowiki>https://fukudat.net/wiki/ページタイトル</nowiki> と表示するための方法。
 +
 +
詳細は https://www.mediawiki.org/wiki/Manual:Short_URL に書かれているのだが、正直めんどくさいが、実は簡単なツールが用意されている。
 +
 +
[https://shorturls.redwerks.org/] にアクセスして、自分の wiki のアドレス (例: https://fukudat.net/wiki/index.php) を入力。
 +
root アクセスの有無を答えると、web server の設定ファイルや、wiki の LocalSettings.php を変更すべき点を教えてkくれる。
 +
 +
私のケースでは、root アクセスがあるので、/etc/apache2/sites-enabled/ のしたの VirtualHost 定義中に
 +
<pre>
 +
<Directory /var/www/html>
 +
        RewriteEngine On
 +
        RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]
 +
        RewriteRule ^/?$ %{DOCUMENT_ROOT}/w/index.php [L]
 +
</Directory>
 +
</pre>
 +
LocalSettings.php に
 +
<pre>
 +
$wgScriptPath = "/w";
 +
$wgScriptExtension = ".php";
 +
$wgArticlePath = "/wiki/$1";
 +
</pre>
 +
を追加すれば良いことがわかった。
  
 
== 外部リンク ==
 
== 外部リンク ==

2020年5月19日 (火) 09:51時点における版


セキュリティ

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

$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";

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

外部リンク