.htaccessでウェブサイトを保護をする方法

ウェブサイトへのアクセスをユーザー名とパスワードを持っている人のみに限定したい場合、 .htaccess を使用することでアクセス制限をすることができます。以下がその方法の一つです。

ステップ 1: .htpasswdファイルを作成

テキストエディターを開いて、ユーザー名、コロン(:)とパスワードを一行で記入してください。パスワードはhtaccessパスワード保護で使用するために暗号化をする必要があります。Linuxではapache2-utilsのツールである htpasswd を使用して暗号化をすることができます。他にも this のようなオンラインツールが存在します。

.htpasswd ファイルの中は以下の例のようなユーザー名と暗号化されたパスワードを含む文字列になります。

ryan:oeteHNuwJnH7k

ファイルを .htpasswd として保存し、インスタンス使用したいウェブサイトの vhosts/ の下にアップロードしてください ( ASCII または BINARY を使用してください)。htdocs/ フォルダにアップロードしないようにしてください。

/srv/data/web/vhosts/www.mysite.com/.htpasswd

ステップ 2: .htaccessファイルを作成

プレインテキストエディタで以下のように情報を入力してください。

AuthUserFile /srv/data/web/vhosts/yourvirtalhostname/.htpasswd
AuthName "Password Protected Area"
AuthType Basic

<limit GET POST>
require valid-user
</limit>

AuthUserFile の行に .htpasswd ファイルへのフルパスを記入するようにしてください。 AuthName の後のメッセージは編集することが可能です。

その後パスワード保護をしたいコンテンツがあるフォルダにこのファイルをアップロードしてください。 .htaccess ファイルは位置しているフォルダ(ディレクトリ)内で効力を持ちます。

例えば、仮想ホストのルートフォルダにファイルを置くことで、サイト全体を保護することができます。

/srv/data/web/vhosts/www.mysite.com/htdocs

または以下のようにサイト内の特定のコンテンツのみをパスワード保護することが可能です。

/srv/data/web/vhosts/www.mysite.com/htdocs/myprivatestuff/