はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> Webサーバ >> Webページアクセス制限(.htpasswd & .htaccess)
動作確認 [ FC1 / FC2 / FC3 / FC4 / FC5 / FC6 / Fedora7 / Fedora8 / Fedora9 / Fedora10 / Fedora11 / Fedora12 / Fedora13 / Fedora14 / Fedora15 / Fedora16 / Fedora17 / CentOS4 / CentOS5 / CentOS6 ]
  1. Webページアクセス制限とは・・・
  2. apacheの設定
  3. apacheの再起動
  4. パスワードファイル(.htpasswd)の作成
    新規にパスワードファイルを作成し、ユーザーを登録
    既に作成済みのパスワードファイルにユーザーを追加
  5. アクセスファイル(.htaccess)の作成
  6. アクセス制限動作の確認

■ Webページアクセス制限とは・・・

通常、公開しているWebページは誰でも閲覧が可能となっています。
Webページを限られた人のみに閲覧をさせるにはどの様にすれば良いでしょうか?
これは、アクセス制限をかけたいパスに「.htaccess」というファイルを作成し、アクセス制限をかける設定を記入すれば簡単に出来ます。
ここでは、指定されたユーザとパスワードを入力することにより、制限をかけたWebページの閲覧方法を紹介します。

■ apacheの設定

設定ファイルの編集
# vi /etc/httpd/conf/httpd.conf

ドキュメントルートの指定(ここから)
<Directory "/var/www/html">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
    Options Includes ExecCGI FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
.htaccessの許可
    AllowOverride All

</Directory>
ドキュメントルートの指定(ここまで)

■ apacheの再起動

設定ファイル変更を有効にする為、apacheを再起動
【FC1 から Fedora15 / CentOS4 / CentOS5 / CentOS6 の場合】
# /etc/rc.d/init.d/httpd restart

【Fedora16以降 の場合】
# systemctl restart httpd.service

■ パスワードファイル(.htpasswd)の作成

■ 新規にパスワードファイルを作成し、ユーザーを登録

外部からアクセスできないパスへパスを作成する。
# mkdir /var/www/secure/

アクセス可能なユーザ名"linux"を作成する
# htpasswd -c /var/www/secure/.htpasswd linux
アクセス可能なユーザ名"linux"のパスワードを入力する
New password:
確認の為、上記と同じパスワードを入力する
Re-type new password:
Adding password for user linux
#

パスワードファイル作成の確認
# ls -la /var/www/secure/.htpasswd
-rw-r--r--    1 root     root           20  2月 10 12:38 /var/www/secure/.htpasswd

■ 既に作成済みのパスワードファイルにユーザーを追加

アクセス可能なユーザ名"fedora"を追加する
# htpasswd /var/www/secure/.htpasswd fedora
アクセス可能なユーザ名"fedora"のパスワードを入力する
New password:
確認の為、上記と同じパスワードを入力する
Re-type new password:
Adding password for user fedora

■ アクセスファイル(.htaccess)の作成

アクセス制限をかけたいパスを作成する(既存の場合はそのパス内に作成する)
# mkdir /var/www/html/security/

apacheプロセスがアクセスできる権限にする。(ディレクトリ作成時のデフォルトは「755」となっているので特に必要はありません。)
# chmod 755 /var/www/html/security/

所有者:グループをapacheに変更。(最低限、所有者はapacheにすること。読み取りだけでは問題ないが書き込みがある場合エラーとなる為)
# chown apache:apache /var/www/html/security/
*:上記「chmod」と「chown」について、当該動作検証のみであれば、必要ありません。
  今後、アクセス制限をかけたパスにて「書き込み」を行うスクリプトを設置する場合は必須となる。


.htaccessファイルを作成する
# vi /var/www/html/security/.htaccess
AuthUserFile /var/www/secure/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your UserName and password"
AuthType Basic
require valid-user

確認用のページを作成する
# vi /var/www/html/security/index.html
<html>
        <head>
        <META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
        <title>認証確認</title>
        </head>

        <body>
        認証が成立しページが表示されました。
        </body>
</html>

■ アクセス制限動作の確認

クライアントより[http://サーバのアドレス/security/]でアクセスして「ユーザ名」と「パスワード」を入力してOKボタンを押下します。

認証が成立されれば、下記の画面が表示されます(確認用で作成したページ)。

■ コンテンツ関連

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.