こんにちは、インフラエンジニアのryuです。
今回の記事ではApacheでBasic認証の設定手順を解説していきます。設定手順は簡単です。設定ファイルの編集と認証するユーザの作成、ファイルの権限を変える、このくらいです。Basic認証を設定したことのない方でも分るように解説していきます。
目次
ApacheでBasic認証の設定手順を解説
ApacheでBasic認証はどうやって設定するの?
今回の記事では、ApacheのBasic認証の設定方法を解説します。手順は以下の通りです。
- Apacheの設定ファイルでBasic認証を定義する
- Basic認証をするユーザーを作成
では、早速ApacehでBasic認証の設定手順を解説していきます。Linuxの環境構築がまだの方は、こちらでLinuxを操作しながら確認することができます。
(環境構築不要)Apacheでユーザー認証を設定してみよう | LinuxWeb講座③
Apacheの設定ファイルでBasic認証を定義する
まず、Basic認証を設定するディレクトリを指定します。Webサーバーは表示するコンテンツをディレクトリに保存します。その保存したディレクトリにアクセスする際は、Basic認証を使いますよ~という設定を行います。
まず、設定ファイルのapache2.configを開きます。
vi /etc/apache2/apache2.config
そして、設定ファイルの中を以下のように設定します。今回は、/var/wwwディレクトリに設定しています。つまり、ドキュメントルートは/var/www/に設定しておいてください。
<Directory /var/www/>
AuthUserfile /etc/apache2/.htpasswd
AuthName "basic"
AuthType Basic
Require valid-user
</Directory>
Basic認証の設定値解説
Basic認証設定の各項目について説明します。
- AuthUserfile /etc/apache2/.htpasswd → 認証するユーザの情報が書かれたファイルを指定
- AuthName “basic” → 認証時の画面にでるメッセージ。何でもよい
- AuthType Basic → Basic認証を使用する設定。他にもDigestなどがある
- Requre valid-user → 認証したユーザのみアクセスできる
設定ファイルについては、以上です。次の手順の説明をします。
Basic認証で使用するユーザーを作成
次は認証するユーザの情報を作成します。
ユーザ名とパスワードをファイルに登録します。。先ほどの設定ファイルで指定した”/etc/apache2/.htpasswd“にユーザ情報を保存します。
Basic認証のユーザーを作成
ユーザの情報を作成するには、以下のコマンドを入力してください。
htpasswd -c /etc/apache2/.htpasswd user
コマンドを入力すると以下の画面のようにパスワードの入力が求められるので、入力します。
“.htpasswd”ファイルの中身を確認すると、ユーザ名とパスワードが保存されていることが分かります。この情報を使用してBasic認証を行います。
htpasswdファイルの権限を変更する
次は、ファイルの権限を変更するです。先ほど、”/etc/apache2/.htpasswd”の権限を変更します。変更する理由は、apacheのプロセスを動作させているユーザが”/etc/apache2/.htpasswd”の読み取り権限がなく、読み取りができないからです。
“ls -la”コマンドを利用し、ファイルの権限を確認してみましょう。
確認できたら、ファイルの権限の変更を行います。以下のコマンドを入力してください。
chmod 644 /etc/apache2/.htpasswd
”644″はファイルのパーミッションです。これで、ファイルの所有者以外のユーザも読み取りが可能になります。
apache再起動
設定の変更をしたら、最後に再起動を行います。以下のコマンドを入力してください。
/etc/init.d/apache2 restart
これでBasic認証の設定が完了しました。
Basic認証の動作を確認してみよう!
設定が完了したら、動作するか確認してみましょう。自分が作成したWebサーバにアクセスしてください。アクセスすると、Webページが表示される前に、認証画面が表示されます。
先ほど登録したユーザで認証しましょう。成功するとWebページが正しく表示されます。
ApacheなどLinuxを勉強するならUdemy
ApacheなどLinuxを勉強するならUdemyがおすすめです。UdemyはITの講座が豊富にあるサイトです。参考書での勉強が苦手な方にはおすすめです。
以下のように、Linuxに関する講座が豊富にあります!
- セールだと1500円前後!
- 無料サンプル講義動画・無料講義動画あり!
- 気に入らなければ30日間返金保証!
ApacheでBasic認証まとめ
今回の記事ではApacheでBasic認証の設定手順を解説しました。まとめると以下のようになります。
- Apacheの設定ファイルでBasic認証を定義
- Basic認証のユーザーを作成
- Apache再起動
Basic認証は簡単に設定できると思います。Webサーバの認証はBasic認証以外にもあるので、興味のある方は調べてみてください。また、Basic認証とIPアドレス制限を組み合わせるやり方などもあるので、いろいろと応用が利きます。ぜひやってみてください。
Basic認証よりセキュリティの高いDigest認証については、こちらの記事で解説しています。
このようなインフラに関連する技術を当ブログで紹介しているので興味のある方は是非ご覧ください。
さらにlinuxについて勉強したい方はこちらの参考書がオススメです。