2013年5月4日土曜日

ファイル/フォルダをパスワード認証付きで公開する

目的

apacheウェブサーバ上で、ファイルやフォルダをパスワード認証付きで公開したい。
#フォルダ構成
/var/www                    #公開ディレクトリ(DocumentRoot)
/var/www/secret_docs        #非公開ディレクトリ
/var/www/secret_docs/a.txt  #非公開ファイル
/var/www/secret_docs/b.txt  #非公開ファイル



方法

.htaccess の作成
Apacheでは、DocumentRoot以下の各フォルダの公開設定を、そのフォルダ直下の.htaccessというファイルで指定できる。 まずrootで以下のファイルを/var/www/secret_docs/.htaccessに置く。
AuthType Basic
AuthName passwd
AuthUserFile /root/.htpasswd
require user <username>
.htpasswd の生成
パスワードファイル.htpasswdを作成する。上の設定では/root/.htpasswdに置くように設定したので、以下のコマンドでファイルを生成。
# htpasswd /root/.htpasswd <username>
ファイル/root/.htpasswdが存在しない場合は、新しく生成するためにhtpasswd -cとする。 パスワードが聞かれるので、入力して終了する。

以上で、/var/www/secret_docs以下のファイル"a.txt","b.txt"がそれぞれパスワード付きで公開できた。ブラウザで

http://www.<yourhostname>/secret_docs/a.txt
にアクセスし、ユーザー名、パスワードが聞かれれば成功。

もし"secret_docs"フォルダごと公開したい場合は.htaccessに以下を追記

# /var/www/secret_docs/.htaccess に追記
Options Indexes
すれば、フォルダ内のファイル一覧を表示することができる。

0 件のコメント:

コメントを投稿