低価格でオススメの、お名前.comのレンタルサーバー。開発中などでサイトにパスワードをかけたいときの方法を紹介します。
目次
htaccessとhtpasswdで設定する方法
- .htpasswdにアイパスを書き
- .htaccessにBasic認証する旨を書く
- .htaccessに、.htpasswdへのサーバールートからの絶対パスを記載する
.htpasswdの内容
ユーザー名:暗号化パスワード
これだけです。
.htpasswdとは
IDとパスワードを書きこむファイル。.htaccess用のパスワード作成ツール(どこでもいい。こことか「http://www.luft.co.jp/cgi/htpasswd.php」)がネットにたくさん出回っているのでそこでコードを生成しましょう。
.htaccessの内容
AuthUserfile /フルパス/.htpasswd
AuthGroupfile /dev/null
AuthName “Please enter your ID and password”
AuthType Basic
require valid-user
AuthUserfile /フルパス/.htpasswd
サーバーのルートディレクトリからの.htpasswdへのパスを指定する。上述した方法で取得した絶対パスを記述します。
AuthGroupfile /dev/null
このままコピペしてください。グループごとにアクセスを許可する、という指定。「/dev/null」とは、そのようなファイルは存在しないという意味。つまりグループごとでのアクセス制限はしないという意味。
AuthName “Please enter your ID and password”
ダイアログに表示される文章を指定。適当。日本語だと文字化けすると思います。
AuthType Basic
コピペで大丈夫です。AuthTypeを指定。「Basic(ベーシック認証)」と「Digest(ダイジェスト認証)」の2種類があって、Digestのほうが安全らしい。
require valid-user
コピペで。ユーザーが誰であろうと、入力したIDとパスワードが合っていればアクセスできるという意味です。特定ユーザーだけにアクセスさせたい場合は「require user xxx」とかする。
パーミッションの設定
ファイルのパーミッションはプロパティから変更できます。604。だめなら644
その他注意事項
ファイルの最後では改行したほうがいいかも。
「ホームからの絶対パス」の調べ方
<?php echo __FILE__; ?>
この内容を記述したphpファイル(適当にtest.phpとかで作成)を、ドメインのルートディレクトリに置きます。index.htmlとかがある場所ですね。
アドレスバーに、「ドメイン名/cover」と入力すると、絶対パスがブラウザに表示されます。
最後に.htaccessと.htpasswdを設置して完了
.htaccessと.htpasswdをドメインのルートディレクトリに置きます。
絶対パスを調べるために作成したtest.phpは必要ないので削除します。
これでベーシック認証の設定は完了です。
試しにサイトにアクセスしてみてください。
ユーザー名とパスワードを尋ねられるかと思います。
解除したいときは、.htaccessと.htpasswdのファイルを削除すれば大丈夫です。
コメントを残す