べーしっ君
またエントリに関係ないタイトルを付けて…。
さて、思わぬ3連休が来たのでまったりしてるワタクシでした。
まー、月末は地獄ですがね('A`)
一昨日のエントリーにて、御大のオーラ式動画を見たい方は
拍手にどうぞって書きましたが、じゃあ書いた場合にどうやって配信するか…
って考えたら、うん、拍手紹介もここでしてしまう時点で
希望者だけに配布って無理じゃんってことに気づきました。
というわけで、RO内で教えるかメッセで教えるかくらいしか出来なくなりました。
因みに希望者は紅さん一人だけです。
でもメッセで見ないので教えられませんでした。
で、今後動画があるURLを教えられる機会があった時の為に
ファイル自体は鯖にうpしてありますが
特定の人だけに渡したくても、総当りで探される場合を想定して
(普通、そんな労力使ってまで欲しいものでもないが)
BASIC認証をかけることにしました。
URLがビンゴしても、BASIC認証を抜けなければダウンロード出来ません。
つーわけで、今回はWinXP+Apache2でBASIC認証のことについて語ります。
相変わらずこの辺使った事がある人以外は
まったく分からない話なので追記にします。
追記に行く前に拍手紹介しときます。
23:27 (´∀`)ノオーラ式の動画みたいですよーby紅羅椅
つーわけで、今度会ったらURL教えます。認証パスも含めてヽ(・ω・)ノ
17:24 オーラおめです♪♪ らぐほ。
ちょwwwwww オーラ吹いたの私じゃないwwwww(;^ω^)
姿かたちはまったく同じですが、オーラ吹いたの私の隣の人です。
鯖のお話は追記に続く〜。
既に色々なサイトでApacheを使ったBASIC認証の説明は出ていますが
Windowsマシンが鯖である場合の解説ページが
なかなか見つかりませんでした。
つーわけで、ここで説明。
鯖構築できるような人には、説明するまでもない程度の知識だけども。
まず、Apache2で.htaccessが使えるように設定します。
httpd.confにある
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be “All", “None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
って箇所を探して、斜体になってる部分を
斜体に書いてあるように書き換えてください。
次に、ちょいと下の方に行くと
#
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives. See also the AllowOverride
# directive.
#
AccessFileName .htaccess
って項目があるので、ここのAccessFileNameに.htaccessと書いてください。
別に自分が作ったファイルがhogehogefileとかいった
名前なら、それを書いてもいいけど。
で、このすぐ下に
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ~ “^\.ht">
Order allow,deny
Deny from all
</Files>
ってのがあるけど、こいつはhtaccessとか、ファイル名の最初に".ht"が
つくファイルはアクセス出来ないようにする設定です。
セキュリティ上、htaccessが見られては元も子もないので
この設定が無かった場合は必ず記述してください。
これらの編集が終わったら、一度Apacheを再起動します。
再起動すれば、.htaccessファイルを作って反映されるようになります。
で、ここからBASIC認証の設定に。
まず、自分が認証制限をかけたいフォルダがあるとします。
無ければBASIC認証かける必要ありません。ここで終了します(何
普通ならTOPページからかけて、会員制HPとか作りますが。
私の場合ですと、今回みたいに特定の人だけに
このフォルダの中身が見れるっていった場合に使います。
で、とりあえず特定以外に見られたくないファイルがあるとして
そのファイルを"naisyo"とかいったフォルダに突っ込むとします。
今回は、この"naisyo"フォルダにBASIC認証をかけます。
(因みに今回のオーラ動画、naisyoフォルダの中には作ってません。あしからず)
“naisyo"フォルダを作ったら、その中に.htaccessってファイルを作ります。
Windowsの仕様で「ドット+ファイル名」っていうファイルが作れないので
(ドットがつくとそれ以降は拡張子と判断され、
ファイル名が無いものと思われてしまう)
とりあえず".htaccess.txt"として作ります。
中をメモ帳かなんかで開いて、以下のように記述します。
AuthUserFile /サーバールート/htpasswd/.htpasswd
AuthName “BASIC認証時のダイアログボックスに出る文章"
AuthType Basic
Require valid-user
AuthUserFileにはBASIC認証時に認証するためのID、パスワードが入ってる
ファイルの場所を"サーバー側の絶対パス"で書きます。
このファイルは".htpasswd"って名前になってます。
以前のエントリーでApache2の導入方法を紹介しましたが、あの場合ですと
D:/usr/Apache2
が、サーバールートディレクトリなので
/ルート/任意のフォルダ/.htpasswd
ってな感じにします。
Apache2フォルダ以下のhtdocs
(HPファイルが突っ込んであるフォルダ)以下にも置くことは出来ますが
他者が閲覧できる可能性も無きにしも非ずなので
他者がまったく閲覧できない場所に置いておく方が安全です。
(htdocsより上はwebに公開していないのでアクセスできない)
次のAuthNameは、BASIC認証時にブラウザが出してくる
ポップアップで出るダイアログボックス
(IEとかでID、パスがいるページで出てくるウィンドウ)
に表示される文章です。
ID、パスに関する言葉でも、死ねばいいのにとかいった言葉でも
何でもいいですが、何か日本語は文字化けしやすいらしいので
本当は英数字推奨です。ウチは日本語でも化けなかったので日本語にしました。
更にその次のAuthTypeは、サーバー認証のタイプです。
今回はBASIC認証を使いますので、Basicと記述します。
他の認証もありますが、ここでは説明しません。
簡単に導入できる認証程度で十分なのでBASIC認証で問題ありません。
最後のRequireは、ユーザー制限の設定です。
今回は、valid-userとしましたのでID、パスワードを入力さえできれば
ユーザー制限無しで誰でもおkという設定になります。
ユーザーを制限する設定ももちろんありますが、
今回は使わないので書きません。
以上の設定をしたら、.htaccessファイルを保存しますが、保存時に
ファイルの種類を全てのファイルといった指定にして
最後の.txtを抜いて保存すれば、多分ファイル名無くても保存できます。
出来ない場合は、メモ帳以外のテキストエディッタを使って
どうにかしてください。
次は上記のBASIC認証時に認証するためのIDとパスワードが入った
“.htpasswd"を用意します。
これを作るには、Apache2のbinというフォルダの中に
htpasswd.exeってファイルが入ってるので
これをコマンドプロンプトで
c:\> D:/usr/apache2/bin/htpasswd -mc D:/usr/apache2/.htpasswd ID名
New password: ********
Re-type password: ********
Adding password for user ID名
と入力すれば、上記の場合ですと
D:\apache2\に.htpasswdというファイルが出来ます。
ID名には自分が作りたいIDを入れます。半角英数字のみです。
passwordには文字通り、そのIDのパスワードを作ります。
そして出来た".htpasswd"を、先ほど".htaccess"で指定した
“.htpasswd"の置き場所に置けば設定完了です。
設定完了したら、今回の場合ですと、naisyoフォルダにアクセスしてみると
ってなウィンドウが出てきます。
ここで先ほど設定したIDとパスワードを入れれば、認証されて
その先へアクセス出来るようになります。
.htaccessが許可されているレンタルサーバーがあるのならば
同じように書けば、レンタルサーバーでも出来るので
もし制限かけたいフォルダがあるなら挑戦してみてください。
以上〜。