wordpress ローカル環境(XAMPP)での BASIC 認証

2013年6月20日

ローカル環境(XAMPP)で BASIC 認証を使う際のメモ(WordPressの場合)。

サーバー環境で BASIC 認証を使う場合下記のような記述を .htaccess に追加してパスワードファイルを作成すればよいが、ローカル環境(XAMPP)の場合、パスワードの生成方法と保存場所の指定が異なる。

# wp-login.php にベーシック認証を設定
<files wp-login.php>
# 認証をかける領域名の指定。 ダイアログに表示される(任意の)文字列を指定。
AuthName "Login Password Required"
AuthType Basic
# パスワードファイルの指定
AuthUserFile /home/xxxxx/.htpasswd
require valid-user
</files>

関連ページ:「WP インストール時の注意点とセキュリティ

  • パスワードファイルの指定:ローカル環境での絶対パス
    AuthUserFile c:\xampp\etc\.htpasswd

    「xampp」フォルダの中に「etc」フォルダを作成して「.htpasswd」を保存する場合

  • パスワード:サーバー環境での場合、crypt 関数で作成できるが、ローカル環境(XAMPP)の場合は、Apache で用意されている「htpasswd.exe」を使って作成する。

関連ページ:「PHP で Basic 認証のパスワードを作る

「htpasswd.exe」でパスワードを生成

  • 書式:htpasswd オプション パスワードファイル名 ユーザー名
    新規に作成する場合はオプションに「-c」を指定
    既存のパスワードファイルにユーザーを追加する場合にはオプションには何も指定しない
  • 以下は XAMPP が C ドライブ直下にインストールされている場合に「user01」のパスワードを生成する例
    c:\xampp\apache\bin\htpasswd -c c:\xampp\etc\.htpasswd user01

    「user02」のパスワードを追加する場合(オプションを指定しない)「-c」を付けると、それまでに登録されていたユーザー情報が消えてしまう。

    c:\xampp\apache\bin\htpasswd c:\xampp\etc\.htpasswd user01
  • パスワードの入力を2回求められるので入力する。

.htaccess の記述例

以下は WordPress のログイン(wp-login.php)でベーシック認証を利用する場合の例。パスワードファイルは「c:\xampp」の中に「etc」フォルダを作成してそこへ保存するようにした場合。

<files wp-login.php>
AuthName "Login Password Required"
AuthType Basic
AuthUserFile c:\xampp\etc\.htpasswd
require valid-user
</files>