1. TOPTOP
  2. Webサービス
  3. Apache

Basic認証をしたいときはApacheに.htaccess,.htpaasswdを直接書き込む

|

apache

さて。ドットインストールのお問い合わせシステムを
作っているときにつまずいたことを1つ。

ドットインストール #11 Basic認証を設定しよう

この動画でつまずいたことは、アクセス制限のためのファイル、

  • .htaccess
  • .htpaasswd

の置き場所です。

つまずいた内容

ドットインストールの動画では、.htaccessと.htpaasswdのファイルを編集し、
アクセス制限したいフォルダと同じフォルダに入れているが、
動画の通りやっていても、私の場合アクセス制限がかからなかった。

ちなみに私は自宅サーバーを用意しており、以下の環境です。

  • Linux(CentOS6.0)
  • Apache2.2

解決方法

1.htaccessの内容を #vi /etc/httpd/conf/httpd.confに記述。
2.htpasswdの内容  #vi /etc/httpd/conf/passに記述.
(passは.htaccessのAuthUserFileで指定した任意のファイル名)

解決方法の補足

1.htaccessの内容をhttpd.confに直接書き込むということです。
具体的には次のとおりです。

<Directory /var/www/html/contacts_php/admin>
    AuthUserFile /etc/httpd/conf/pass
    AuthType Basic
    AuthName Password
    Require valid-user
</Directory>

※/contacts_php/adminのadminファイルにアクセス制限。

2..htpaasswdの内容をAuthUserFileで指定したファイルに
直接書き込みました。コマンドは次のとおり。

#htpasswd -c /etc/httpd/conf/pass user
New password hogehoge

要は、動画のとおりにならんかったら、
Basic認証の設定に関するファイルは、
Apacheの設定ファイルに直接書き込むのを
試してみるのも良いのではないでしょうか?