2018年2月2日金曜日

ApacheでBasic認証を設定する方法

Apache HTTPサーバを立ち上げたあと、特定のページに認証を設定する方法を紹介します。

Ubuntu 16.04です。

まず、.htpasswdを作成します。.htpasswdは、ユーザ名とパスワードを記録するファイルです。

$ sudo htpasswd -b -m -c .htpasswd username password

これで、カレントディレクトリに .htpasswd が作成されます。上記の username と password は、任意のユーザ名とパスワードを指定してください。

このファイルを/var/www/htmlに置くとします。

次に、Apacheの設定ファイルを編集します。apt-getでインストールしたなら、Apacheの設定ファイルは /etc/apache2/apache2.conf だと思います。

<Directory "/var/www/html/">
        AuthType Basic
        AuthName "Enter username and password"
        AuthUserFile /var/www/html/.htpasswd
        Require user username
</Directory>

このように、認証の種類(Basic)、認証時のダイアログに表示する文章、.htpasswdへのパス、認証するユーザ名を指定します。
Authには、さきほど作成した.htpasswdへのパスを指定しましょう。また、Require userには、.htpasswdファイル作成時に指定したユーザ名を指定しましょう。

これでApacheを再起動して、ブラウザから/var/www/htmlディレクトリにアクセスすると(厳密には、ブラウザから、/var/www/htmlディレクトリにマップされているURLにアクセスすると)、認証ダイアログが表示されます。

Apacheの再起動は以下です。

$ sudo service apache2 restart

0 件のコメント:

コメントを投稿

JavaScriptで10進数と16進数を変換する方法

JavaScriptで10進数と16進数を変換する方法を紹介します。 まず、16進数を、10進数に変換する方法です。 以下のサンプルコードでは、16進数の"DB"や"0A"を、10進数に変換しています。 var a = pa...