スポンサードリンク

2012年2月20日月曜日

サイトアクセス制限1

よく会員限定サービスにアクセスするときに
表示される認証画面を自分のサイトにも導入したい。

1. Apacheサーバの設定でBASIC認証システムを使う方法
2. PHPでBASIC認証手順を記述する方法

2つ方法があることが分かったので、
まずは、1.Apacheサーバの設定を使用する方法を試してみよう。

以下に手順を備忘録。

<手順概要>
1. 会員限定したいサービス用にディレクトリを作成する
2. パスワード情報ファイル(.htpasswd)を作成する
3. Apacheの設定ファイルにディレクトリとパスワード情報の設定を追加する。

<詳細手順>
1.スーパーユーザになる
(コマンド)
$su -

2. 会員限定したいサービス用にディレクトリを作成する
(コマンド)
#mkdir -p /var/www/html/memberonly
※Webアクセスされるデフォルトのディレクトリが/var/www/html/である場合

2. パスワード情報ファイル(.htpasswd)を作成する
(コマンド)
#htpasswd -c /etc/httpd/conf/.htpasswd (任意ユーザ名)
※このファイルは基本的にどこに作成してもよい。
ただ、Apache用の設定なので、/etc/httpd/conf以下がよいと思われる。

3. Apacheの設定ファイルにディレクトリとパスワード情報の設定を追加する。
(コマンド)
#vi /etc/httpd/conf/httpd.conf

<Directory "/var/www/html/memberonly">
    AuthType Basic                            <- Basic認証を使うよ!と指示
    AuthName "Site Manager"               <- ここは何でもよい
    AuthUserFile /etc/httpd/.htpasswd  <- htpasswdファイルの絶対パスを指定
    Require user (任意ユーザ名)             <- htpasswdを作るとき指示したユーザ名
</Directory>

4. Apacheを再起動
(コマンド)
#service httpd restart

<動作確認>
1.ブラウザからmemberonlyにアクセスしてみる
http://localhost/memberonly

2.ユーザ名・パスワードを入力する画面が表示されたら成功!

以上

0 件のコメント:

コメントを投稿