以下、作業用メモです。
WordPressサイトにBASIC認証を設定
BAISC認証設定手順の一例を載せる。
- .htaccessファイルの作成
まず、WordPressのインストールディレクトリに.htaccess
という名前のファイルを作成します。このファイルはApacheサーバーの設定を制御するためのものです。 - .htaccessファイルへの記述
次に、.htaccess
ファイルに以下のような内容を記述します。
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
ここで、AuthUserFile
の部分はパスワードファイルのパスを指定します。この例では/etc/apache2/.htpasswd
としていますが、適切な場所に変更してください。
- .htpasswdファイルの作成
次に、上記で指定したパスに.htpasswd
という名前のファイルを作成します。このファイルは認証に使用するユーザー名とパスワードを保存するためのものです。 - .htpasswdファイルへのユーザー名とパスワードの追加
.htpasswdファイルには、以下のような形式でユーザー名とパスワードを追加します。
username:password
ただし、パスワードは平文ではなく、Apacheが提供するhtpasswd
コマンドを使用して暗号化したものを設定します。例えば、ユーザー名が’user’でパスワードが’password’の場合、以下のコマンドで追加できます。
htpasswd -b /etc/apache2/.htpasswd user password
- Apacheサーバーの再起動
最後に、設定を反映させるためにApacheサーバーを再起動します。Debianでは以下のコマンドで再起動できます。
sudo systemctl restart apache2
以上で、WordPressサイトにBASIC認証が追加されます。これらの手順はコマンドラインから行いますので、SSH等でサーバーにログインする必要があります。
apache2配下の「.htpasswdファイル」について
.htpasswd
ファイルは、BASIC認証で使用するユーザー名とパスワードを保存するためのものです。このファイルには、以下のような形式でユーザー名とパスワードを追加します。
username:password
ただし、ここでいうpassword
は平文ではなく、Apacheが提供するhtpasswd
コマンドを使用して暗号化したものを設定します。例えば、ユーザー名が’user’でパスワードが’password’の場合、以下のコマンドで追加できます。
htpasswd -b /etc/apache2/.htpasswd user password
このコマンドを実行すると、/etc/apache2/.htpasswd
というパスに.htpasswd
ファイルが作成され(または既存のものが更新され)、その中に暗号化されたパスワードが保存されます。これにより、BASIC認証時に正しいユーザー名とパスワードを入力しなければアクセスできないようになります。
なお、この.htpasswd
ファイルはウェブから直接アクセスできない場所に保存することが推奨されています。これは、万が一ウェブサイトに脆弱性があった場合でも、このファイルが漏洩しないようにするためです。具体的な保存場所はサーバーの環境やセキュリティポリシーによりますので、適切な場所を選びましょう。
複数のBASIC認証設定と、範囲限定
既存の.htaccess
ファイルがある場合は、そのファイルに追記する形でBASIC認証を追加することが可能です。ただし、複数のBASIC認証を設定する場合、それぞれの認証が適用されるディレクトリを明確にする必要があります。
例えば、/var/www/html
ディレクトリ全体に適用されるBASIC認証が既にあり、その中の/var/www/html/blog
ディレクトリだけに追加でBASIC認証を設定したい場合は、以下の手順で設定できます。
/var/www/html/blog
ディレクトリに移動します。- そのディレクトリ内に
.htaccess
ファイルを作成(もしくは既存のものを編集)します。 - その
.htaccess
ファイルに、新たなBASIC認証の設定を記述します。具体的には、新たなAuthUserFile
で指定するパスワードファイルを作成し、そのパスをAuthUserFile
に設定します。
これにより、/var/www/html/blog
ディレクトリにアクセスする際だけ追加のBASIC認証が求められるようになります。ただし、この設定では/var/www/html
ディレクトリへのアクセス時にも元々のBASIC認証が求められますので、2段階の認証となります。
なお、この手順もあくまで一例であり、具体的な設定はサーバーの環境やセキュリティ要件によります。
※ちなみにアイキャッチ画像はbingに生成してもらいました。