Basic認証の設定方法を調べてみた

Basic認証とは(Wikipediaより)

Basic認証(ベーシックにんしょう、Basic Authentication)とは、HTTPで定義される認証方式の一つ。基本認証と呼ばれることも。 Basic認証では、ユーザ名とパスワードの組みをコロン “:” でつなぎ、Base64でエンコードして送信する。このため、盗聴や改竄が簡単であるという欠点を持つが、ほぼ全てのWebサーバおよびブラウザで対応しているため、広く使われている。

公開前などのサイトへの不特定多数のアクセスを避けたい。そんなときによく使われているのがBasic認証です。

前提条件

今回はWordpressのサイトにBasic認証を設定することにします。

Apache、Wordpressはインストールされているものとします。

WordPressは”/var/www/html/”以下にインストールされていることにします。

設定方法

1.Basic認証用のユーザーを作成します。例えば、ユーザー名「myuser」、パスワード「mypassword」の場合は以下のようにします。

sudo htpasswd -c /etc/httpd/.htpasswd myuser

このコマンドを実行すると、ユーザー名とパスワードが、/etc/httpd/.htpasswdに保存されます。

2.Apacheの設定ファイルを変更します。

WordPressをインストールしているディレクトリへBasic認証の記述をします。

今回は”httpd.conf”の中に設定します。

sudo vim /etc/httpd/conf/httpd.conf

上記のコマンドでファイルを開きファイル内で、以下のように変更します。

<Directory /var/www/html/wordpress>
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/httpd/.htpasswd
    Require myuser
</Directory>

これで、Basic認証が設定されました。/var/www/html/wordpressディレクトリ内のファイルにアクセスすると、ユーザー名とパスワードが求められるようになります。

3.Apacheを再起動します。

sudo systemctl restart httpd

これで、Basic認証が有効になります。