編集の要約なし
1行目: 1行目:
== 概要 ==
== 概要 ==
MediaWikiの運用・管理において必要となる設定や操作において、キャッシュの管理、削除ページの履歴の完全な削除、.htaccessを使用したBasic認証によるアクセス制限等の設定や拡張の導入以外の運用・保守に関するトピックを扱う。<br>
<br><br>
<br><br>


108行目: 109行目:
<br>
<br>
データベースの設定によっては、リビジョンを削除した後、SQLコマンド<code>OPTIMIZE TABLE text, archive</code>を実行してアーカイブすることもできる。<br>
データベースの設定によっては、リビジョンを削除した後、SQLコマンド<code>OPTIMIZE TABLE text, archive</code>を実行してアーカイブすることもできる。<br>
<br><br>
== .htaccessを使用したBasic認証 ==
バリューサーバにおいて、.htaccessを使用したBasic認証により、特定のディレクトリへのアクセスを制限することができる。<br>
<br>
Basic認証では、<u>.htaccess</u> ファイル (アクセス制御ルール) と <u>.htpasswd</u> ファイル (ユーザ名と暗号化されたパスワード) の2つのファイルが必要となる。<br>
<u>.htpasswd</u> ファイルは、セキュリティ上、Webからアクセスできない場所に配置する。<br>
<br>
<u>※注意</u><br>
* <u>LiteSpeedはApache互換の.htaccessをサポートしているため、以下の設定がそのまま動作する。</u>
* <u>ただし、.htaccessを変更した直後はキャッシュの関係で反映が遅れる場合がある。<br>うまく動作しない場合は、数分待ってから再度アクセスすること。</u>
<br>
==== サーバ上の絶対パスの確認 ====
<code>AuthUserFile</code> ディレクティブに指定するパスが不明な場合は、public_htmlディレクトリ内に一時的に以下のPHPファイルを配置して確認する。<br>
<br>
<syntaxhighlight lang="php">
<?php
// このファイル自身の絶対パスを表示する
echo __FILE__;
?>
</syntaxhighlight>
<br>
例えば、"/virtual/<アカウント名>/public_html/test.php" と表示された場合、ドキュメントルートの親ディレクトリは "/virtual/<アカウント名>/" となる。<br>
<br>
<u>※注意</u><br>
<u>確認後は、このPHPファイルを必ず削除すること。</u><br>
<br>
==== .htpasswdファイルの作成 ====
パスワードファイルを公開ディレクトリより上の階層に配置する。<br>
<br>
バリューサーバのドキュメントルートは <u>/virtual/アカウント名/public_html/</u> であるため、<br>
<u>.htpasswd</u> ファイルは、<u>/virtual/アカウント名/ (バリューサーバの場合)</u> の直下に配置する。<br>
<br>
パスワードのハッシュを生成する。(Winodws環境の場合はWSL、Linux環境等で実行する)<br>
htpasswd -cb .htpasswd <ユーザ名> <パスワード>
<br>
生成される <u>.htpasswd</u> ファイルの内容は以下のようになる。<br>
myuser:$apr1$xxxxx$xxxxxxxxxxxxxxxxxxxxxxxx
<br>
このファイルをFTPまたはファイルマネージャを使用して、<u>/virtual/<アカウント名>/.htpasswd</u>としてアップロードする。<br>
<br>
==== .htaccessファイルの作成 ====
保護したいディレクトリ (例: <u>/virtual/<アカウント名>/public_html/a/</u>) に、以下の内容で <u>.htaccess</u> ファイルを作成・配置する。<br>
<br>
<syntaxhighlight lang="apache">
# Basic認証の設定
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /virtual/<アカウント名>/.htpasswd
Require valid-user
</syntaxhighlight>
<br>
各ディレクティブの説明を以下に示す。<br>
* <code>AuthType Basic</code>
*: 認証方式としてBasic認証を使用することを宣言する。
* <code>AuthName</code>
*: ブラウザにログインダイアログが表示される時の領域名 (メッセージ) を指定する。任意の文字列でよい。
* <code>AuthUserFile</code>
*: <u>.htpasswd</u> ファイルのサーバ上の絶対パスを指定する。
*: "アカウント名"の部分は自身のバリューサーバのアカウント名に置き換える。
* <code>Require valid-user</code>
*: <u>.htpasswd</u> ファイルに登録されている全ユーザにアクセスを許可する。
<br>
==== 動作確認 ====
Webブラウザで対象のURLにアクセスする。<br>
ユーザ名とパスワードの入力を求めるダイアログが表示されることを確認する。<br>
<br>
* 正しい認証情報を入力した場合は、ページが表示される。
* キャンセルまたは誤った入力の場合は、<u>401 Unauthorized</u> エラーが表示される。
<br><br>
<br><br>