Apache環境でのベーシック認証

.htpasswdファイルを作成する

ベーシック認証のIDおよびパスワード情報を格納する.httpasswdファイルを作成する

htpasswd -c -b /etc/httpd/conf/.htpasswd ユーザ名 パスワード

ファイルのパスはDirectoryRoot内にならないよう注意する すでにある.htpasswdに追記する場合は-cコマンドを外す -bコマンドによりコマンドライン上で直接ユーザ名およびパスワードを決定する


ベーシック認証設定

httpd.confを開く

vim /var/www/html/httpd.conf

httpd.confの最終行に以下の記述を追加する

<Directory "接続の際に認証を行いたいファイル及びディレクトリの絶対パス">
      AuthUserFile /etc/httpd/conf/.htpasswd #先程設定した.htpasswdの絶対パス
      AuthGroupFile /dev/null
      AuthName "Basic Auth"
      AuthType Basic
      Require valid-user
</Directory>

AuthUserFile -> 先程作成した .htpasswdファイルの絶対パス AuthGroupFile -> グループごとにアクセスを許可する、という指定。/dev/nullは存在しないグループを指定している。グループごとでのアクセス制限はしないという意味。 AuthName -> 認証画面のポップアップで表示される文字列 AuthType -> 認証のタイプ Basicの他にはDigest認証というものがある Require -> valid-userですべてのユーザに認証を表示させる


Apacheを再起動する

sudo systemstl restart httpd

サイトに接続した際、ベーシック認証画面がポップアップすれば成功