.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/