ユーザー名とパスワードが登録されたファイルを作成することで、特定のユーザーにのみWebページの閲覧を許可します。アプリやシステムに制限をかけ、情報を保護する目的で利用されます。
ここで説明するのは、Webページ公開の場合の「ベーシック(Basic)認証」と呼ばれるユーザー認証の設定方法です。
設定には以下の二つのファイルが必要です。
「.htpasswd」ファイル
「.htaccess」ファイル
学外に公開するWebページにのみ設定できます。学内にのみ公開するWebページには設定できません。
情報処理教室のPCで有効な方法です。自宅など学外で設定する場合は以下のサイトを参考にしてください。
[Apacheソフトウェア財団] Apache チュートリアル: .htaccess ファイル(※本学でCGIは利用できません)
[Apacheソフトウェア財団] Apacheチュートリアル: 認証、承認、アクセス制御
設定後は必ず動作確認を行ってください。
1. ターミナル(Open SSH、MSYS、Git Bashなど)を起動
2. 大学WWWサーバー www.cis.twcu.ac.jp に ssh コマンドでログイン
※先頭の「%」は入力しません。
【例】 % ssh www.cis.twcu.ac.jp -l (ユーザー名)
3. ユーザー認証の設定をするファイル、ディレクトリ(フォルダ)に移動
※先頭の「%」は入力しません。「cd」の後ろには空白が必要です。
% cd (ディレクトリ名)
【例】 % cd WWW
【解説】「cd」は、指定されたディレクトリに移動するコマンドです。上の例では、WWWのディレクトリに移動します。
4.「 htpasswd 」コマンドにオプションの ”-c''をつけて、ユーザー認証用のIDと暗号化されたパスワードが記述された設定ファイルを作成
(ファイル名は任意ですが、.htpasswdとすることが多いようです)
% htpasswd -c(ファイル名)(ユーザー認証用ID)
5. コマンド入力後、確認のため同じパスワードを2回入力
【例】 % htpasswd -c .htpasswd user1
【解説】
「-c」は新規に作るという意味です。ファイル名の先頭に必ず「 . 」(ピリオド)をつけます。
「 . (ピリオド)」で始まるファイルはファイルマネージャーで一覧表示されないことがあります。表示設定を変更してください。
ユーザー認証用IDは、大文字・小文字を区別します。
ユーザー認証用IDを二つ以上設定する場合は、【例】のように入力します。コマンド入力後は、パスワードの入力を2回求められます。
【例】 % htpasswd .htpasswd user2
【解説】ファイル名(例の場合は .htpasswd)は、最初に作ったファイル名を指定します。
ここでは、ターミナルを利用した方法を解説します。
(WinSCP(Webサーバーへのファイル転送設定)を利用し、WWWサーバーに.htaccessファイルを転送する方法もあります)
1. 大学WWWサーバー www.cis.twcu.ac.jp に ssh コマンドでログイン
※「.htpasswd」ファイルを作成後に引き続き「.htaccess」ファイルを作成する場合は不要です。
2. ユーザー認証を設定するHTMLファイルが保存されているディレクトリ(フォルダ)に移動(確認)
3. テキストエディターを使用して、以下の内容を記述した .htaccess ファイルを作成
※設定内容は環境に合わせて変更してください。
【.htaccess ファイルの入力例】
AuthType Basic
AuthUserFile /home/(ログインID)/WWW/.htpasswd
AuthName "Enter Passward"
Require valid-user
【解説】
「AuthType」では認証タイプを指定します。ここでは「Basic」です。
「AuthUserFile」は、「.htpasswd」のファイルを作成するで作ったファイルの保存場所を指定します。絶対パスで指定します。
「AuthName」は、表示させるメッセージなどをダブルクォーテション("")で囲みます。日本語で入力すると文字化けする可能性があります。
「Require valid-user」は、「.htpasswd」のファイルを作成するで作った「.htpasswd」に記述されたユーザー認証IDとパスワードが一致したユーザーすべてに、アクセスを許可する意味です。
全角スペースが入らないよう注意してください。大文字・小文字を区別してください。