お名前の共用サーバーSDでベーシック認証の仕方。フルパスの調べ方【コピペでOK】

低価格でオススメの、お名前.comのレンタルサーバー。開発中などでサイトにパスワードをかけたいときの方法を紹介します。

htaccessとhtpasswdで設定する方法

  1. .htpasswdにアイパスを書き
  2. .htaccessにBasic認証する旨を書く
  3. .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のファイルを削除すれば大丈夫です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です