![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
注1:設定し終わったら、virtというアカウントを作ってください。アパッチを再起動するとエラーになりますので。 注2:各ホームディレクトリーに/cgi-binのデレクトリーも作成してください。尚、作成する時はrootでは無く、各ユーザーで作成してください。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
アクセス制御とは、任意のディレクトリーへのアクセスを制御することで、AccessFileNameディレクテブで設定したり、<Directory
>ディレクティブを利用し行います。制御できる内容は、特定のIPアドレスやドメインからのアクセスを禁止したり、逆に特定のIPアドレスのみ許可したり、CGIプログラムの実行を許可・禁止を行ったり、と様々に設定することが出来ます。細かい設定は、他の技術書を利用してください。ここでは主に利用する設定についてLessonを行うことに致します。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 「 httpd.conf 」 の設定です。 | 意味 |
| ### Section 2: 'Main' server configuration において <Directory /> Options None AllowOverride None </Directory> <Directory "/home/*"> AllowOverride All </Directory> |
ルートディレクトリーにおいて全てのオプションを無効にし、アクセス制御ファイルも無効にします。 ホームディレクトリー以降において、アクセス制御ファイルをて有効にします。 この部分が重要 |
| AccessFileName .htaccess | アクセスファイルを .htaccessのファイル名で利用する。(デフォルト) |
| AddHandler cgi-script .cgi .pl | CGIを一般のディレクトリーで有効にする場合設定ファイルがCGIであることをapacheに通知する。 |
アクセスファイル .htaccessを編集します。このファイルは、ディレクトリー単位でサーバーの機能の利用可否をhttp.confファイルを編集しなくても利用することが出来る便利なファイルで、ファイル名の先頭が"."ドットで始まっている為表示されません。windowsのテキストエディターで作成する場合は、あとでリネームしてください。
記述例
| 「 .htaccess 」 の設定です。 | 意味 |
| Options Indexes | ディレクトリーを表示させる場合 |
| Options ExecCGI | CGIの実行を許可する |
| Options All | MultiViewsを除き、全てのオプションが使用可能 |
AllowディレクティブとDenyディレクティブによるアクセス制限をホストやドメインで指定をします。以下設定例は、sample.conのドメインのホスト及び192.168.0.10以外はアクセスできない設定です。
| 「 .htaccess 」 の設定です。 |
| Order Deny,Allow Deny from all Allow from sample.con 192.168.0.10 |
ディレクトリーを表示させたい場合は、Options Indexesと記述するか、Options
Allと記述する。
このディレクトリーを表示させたいという意味は、こういうことです。ただしindex.htmlがあると表示されません。
CGIを利用したい場合
1.ScriptAliasを利用する場合は特に関係無いので指定したディレクトリを利用する。
2.他の一般のディレクトリーを利用する場合は、Options ExecCGIと記述するかOptions
Allと記述する。
それらを記述した 「 .htaccess 」ファイルを利用したいディレクトリーに保存する。
最後に、.htaccessファイルを入れたディレクトリーにアクセスして確かめてください。
まず、隠したいディレクトリーを作成します。今回は、turboの下にsecretと言うディレクトリーを作ります。(ここから先は全てturboユーザーで作成してください。)属性は755
パスワードを保存するディレクトリーを作成します。今回は、turboの下にpassと言うディレクトリーを作ります。実際にパスワードが格納されるファイル名を .htpasswd とします。
.htaccessファイルを作ります。
| .htaccess |
| # パスワード認証 #パスワードのある場所 AuthUserFile /home/turbo/pass/.htpasswd #ダイアログボックスに表示メッセージ AuthName "ユーザー名とパスワードを入力しください" #認証タイプ AuthType Basic #グループ認証 なし AuthGroupFile /dev/nill #アクセス権の許可 認証成功ユーザーに許可 require valid-user |
#はコメントを意味します。
それを /turbo/secret に保存してください。
パスワードファイルを新しく作ります。以下要領です。
ユーザーIDを user1 パスワードを user1 として作成する場合の例

2行目でパスワードを入力、3行目で同じパスワードを入力、4行目は、user1が出来たメッセージ
次に二人目を作成する場合。ユーザーIDをuser2 パスワードを user2 とした場合の例

二人めからは、-c オプションを付けないことに注意してください。
以上の方法で3人4人と作成してください。
最後にindex.htmlファイルを作成し、/turbo/secret に保存してください。
それでは、http://sample.con/secret/index.html にアクセスにて見ましょう。
httpd.confの設定方法
#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options"
directive.)
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
![]()
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml .html
上記のように#を外し、.htmlを追加する
.htaccessファイルを作る
Options Includes
を記入し、動作させたいディレクトリーに置くただしLessn7で学習した内容が必要です。
後は、HTML文にSSIを記述すればOK
ただし、サーバーに負荷がかかるので注意!