Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Basic認証設定

More than 5 years have passed since last update.

任意のURLに入ろうとしたときにアクセス制限をかけたい、ということで今回はBasic認証について調べてまとめました。

<環境>
CentOS 6.4
Apache 2.2.15

Basic認証とは

サイトやディレクトリへのアクセス制限方法のひとつ。限定されたユーザにのみサイトやページへのアクセスを許可したい場合に用いられる。

BASIC認証への道

ユーザへのパスワード発行

htpasswdコマンドを使ってユーザにパスワードを発行します。今回は初めて設定するということで以下のコマンドを使用しました。

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

オプション -c : 新しいパスワードファイルを作成する。既存ファイルがあった場合は上書きされる。

オプション -b : パスワードを対話式ではなくコマンドライン引数として入力できるようにする。

*すでにhtpasswdファイルがある場合かつそれに追記したい場合はオプション -c を外してください。

特定サイトへのBasic認証設定

エディタでApacheの設定ファイル /etc/httpd/conf/httpd.conf を開いてください。ここではviを使います。

vi /etc/httpd/conf/httpd.conf

そして最終行に下記を記述してください。

<Directory "/var/www/phpMyAdmin/">
      AuthUserFile /etc/httpd/conf/.htpasswd
      AuthGroupFile /dev/null
      AuthName "Basic Auth"
      AuthType Basic
      Require valid-user
</Directory>

上記例では phpMyAdmin にアクセスしようとしたときにBASIC認証が行われるように設定しました。

最後に、Apacheを再起動してください。

/etc/init.d/httpd restart

これでphpMyAdminのBasic認証設定が完了しました。

これで大丈夫!かと思ったらBasic認証は盗聴や改竄が簡単にできてしまうという欠点があるらしいです。これを防ぐためにDigest認証というのがあるみたい。。。後日調べてまとめてみようと思います。

最後までお読みいただきありがとうございました。

shell
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away