質問: apacheで、ベーシック認証の設定をhttpd.confに記述する理由は? apacheで、ベーシック認証をアプリケーション毎に設定しようとしています。 方法としては、.htaccessを各アプリケーション毎に設定する方法と、httpd.confのコンテナに各アプリケーション毎の認証を設定する方法がある所までは解りました。 あるサイトでは、この2つの方法のうち、後者のhttpd.confに一括して記述する方法を推奨していました。 しかし、推奨する理由が書いていないのです。 私としては、理由もなく方法を選択するというのが気持ち悪く、納得したいのです。 どなたか理由をご存じないでしょうか。
回答: サーバ管理者であればhttpd.confの方が楽だし、どうなっているか俯瞰しやすいのではないでしょうか。どこでどういう設定をしているか、と言う事が一つの設定ファイルで分かるわけです。設定ファイルが分散してしまうと、何処でどう設定したか分からなくなる事もしばしば。 .htaccessは、管理者がユーザに権限を委譲する時に使うような場合を想定しています。そのフォルダ内の事はユーザに任せる、と言う事です。プロバイダ等ではこうするしか方法は無いですよね。サーバ管理者であればその必要が無い事は言うまでもありません。 .htaccessはhttpdサーバのルートフォルダ以下にありますので、ftpログインを許可している場合、仮にそのftpのパスワードが破られた場合は編集されてしまいます。通常、httpd.confはftpログインでは編集出来ない場所にあり、その他sshやtelnetでログインしても通常はroot権限でないと編集出来ない場所にありますから、セキュリティ的にもメリットがあります。