本文へジャンプ

[あくまでも]不慣れな人のためのベーシック認証

Posted by MONSTER DIVE

どうも。夏休みの宿題は、夏休みが終わってからやるMackyです。

新規でサーバを用意した際に、そのWebサイトを公開するまでは.htaccessを使用してベーシック認証でアクセス制限をかけますよね。
そのときに、サーバ担当やクリエイターにわざわざお願いするのもなー。と、自分で設定しちゃうことが多いワタクシのような人のための【不慣れな人向けベーシック認証のご案内】でございます。
※ 「講座」と宣言するほど掘り下げてませんので、ご案内で。笑

(ざっくりと).htaccessって?

サーバの設定を変更するのですから、概要や役割をキチンと理解して使用するのが勿論大切なのですが、詳細はGoogle先生に頼ってくださいね。っということで、ごくごく簡単にご説明をば。

「.htaccess(ドットエイチティーアクセス)」とは、「Apache(アパッチ)」を用いたWebサーバにて、ディレクトリ単位で動作の制御ができる設定ファイルです。
通常は「httpd.conf(サーバ設定を記述したファイル)」で各種設定を行いますが、行数にして1000行ぐらいはある(らしい)設定ファイルを不慣れな人が変更するのはガクブル以外のなにものでもないので、素直にサーバ管理者に「httpd.conf」で「.htaccess」を有効にしてもらいましょう。

ちなみに、.htaccessがよく使われるのは、

  • ベーシック認証
  • WebサイトのPC版/SP版の表示(ファイル)振分け
  • ドメイン移管した際などのリダイレクト
  • 特定IPアドレスやプロバイダからアクセスを制限する

辺りかなと思います。
書いていて、むしろこの部分を掘り下げた方がよいのでは? と思ってきましたが、そもそも「Apache」ってナニ? とか、「httpd.conf」で(設定)できるなら、そっちでやった方がよくない? なんて、ハリセンでツッコミ入れたくなるような人はいないと信じて、次へGoGo!!

(最低限!?)必要なモノ

  • やる気
  • ネット環境に繋がってるパソコン
  • ブラウザ
  • テキストエディター
  • FTPソフト、または、黒い画面と呼ばれてるターミナル等のソフト
  • サーバにアクセスする権限

(なんとなくの)手順

手順や詳細は、ググればたくさん出てきますので、サンプルもサラッと記載します。

1) .htaccessをつくる

AuthType Basic  
AuthUserFile /home/user/hogehoge/.htpasswd  
AuthName "ユーザー名とパスワードを入力してください"  
require valid-user  

1行目:ユーザ認証システムの種別となるAuthTypeに、Basic(認証)を指定
2行目:フルパス(絶対パス)で、.htpasswdを在り処を記述
3行目:該当ファイルへアクセス時に表示されるダイアログボックスに表示する文字列を記述
4行目:ユーザ認証の際に認証させるユーザを指定
※ valid-userは、.htpasswdに記述されているユーザ全て許可となります。

2) .htpasswdをつくる

userid:60DmpZ9umry1E

「ID:(暗号化した)password」を記載します。
このファイルはセキュリティ保持のため、サーバの公開領域(public_htmlやhtdocs)以降に設置しないこと。公開領域、非公開領域がわからないという場合は.htaccessを使って隠す方法もあります。

3) サーバに上記の2ファイルを転送・設置する

4) ブラウザでアクセスして設定完了しているかを確認する

(本当はコレがイチバン伝えたいこと)うまくいかなかったら、ココを確認

そうなんです! 本当はコレをみなさんと共有したかったのです。
ちゃんと設定したはずなのに、色々「アレ!?」なんてことがあった際に参考にしてくださいませ。

  • .htpasswdを在り処の「フルパス」とは、http://などから始まるURLではなく、先頭が「/」で始まるサーバ内でのフルパスでの指定です。URLのドメイン名より前の部分を削除すればサーバ内フルパスになる訳ではありませんので、ご注意を。
  • 「.htaccess」の最終行にはとりあえず改行を入れましょう。
  • パスワードの文字数はデフォルトでは8文字までしか認証に使用しないので注意しましょう。8文字以上を設定しても完全スルーされます。
    長いパスワードを設定したい場合はDigest(MD5認証)というのもありますが、制限などがあるようですので、そういうのもあるんだー。レベルのご共有まで。
  • 転送は「アスキーモード」で行いましょう。その後、設定を自動に戻さないとアップロードした画像とかが表示されないので要注意です!←コレでテンパった経験有りなワタクシです。笑
  • パーミッションは、604か644に設定しましょう。
  • ファイルの文字エンコーディングはEUC-JPやUTF-8(BOM無し)、改行コードはLFに設定しましょう。一般的な例なので、サーバ管理者に要確認。
  • 階層を跨いで同じ設定項目がある場合の優先順位は、より深い階層の設定が有効になりますので、こちらもご注意を。
  • 設定後、確認時はブラウザキャッシュのクリア、または、確認するブラウザを変えてみましょう。
  • 調べても試しても、どうしても解決しなかったら、親切な先輩かサーバ管理者に躊躇せず聞いてみましょう!

まとめ

htaccessEditor

.htaccessEditorのような、色々便利サイトもあるのですが、世の中の親切な人たちに感謝しつつ利用して作業を効率化するか、楽しんで設定を自分で作業しちゃうかはアナタ次第です。笑

西川貴教氏曰く。
どんなことであれ、人に教えを請うということは、恥ずかしさや、悔しさを伴うものだけど、それを乗り越えてこそ学び、得られるものがある!また「学ぶ」という行為そのものもだけど、「学ぼう」とする意思が人を成長させる... いくつになっても、まだまだ学ぶべきことがあるって、素晴らしい!
です。

はい! ワタクシも日々精進して学びたいとおもいます!!
みなさまも素晴らしき学びの日々を♪

Recent Entries
MD EVENT REPORT
What's Hot?