ネットワークサーバの構築のページに戻る

Apacheサーバの設定

Apacheは広くつかわれているWWWサーバで、多くのOSで バイナリパッケージをインストールすることができるので簡単に インストールできます。 ここではこの Apache サーバの設定方法を説明します。

設定ファイル

apacheの設定ファイルはhttpd.confです。このファイルは標準の インストールでは/usr/local/apache/confにありますが、 OSによっては/etc/apache/にあったりします。 どこにあるかわからない場合は以下のコマンドを使って探してください。

# find / -name httpd.conf -print

httpd.confの設定

httpd.confの場所がわかったら、 そのファイルの内容を編集して設定を行います.

必ずしなければならない設定

以下の内容は必ず設定してください.

設定する部分内容
Portサーバが接続を待つポート番号
Port 80
ServerAdminサーバの管理者のメールアドレス
ServerAdmin root@fc-lab.com
ServerNameサーバの管理者のメールアドレス
ServerName www.fc-lab.com
DocumentRootページを入れるディレクトリ
DocumentRoot "/usr/local/apache/htdocs"

ページのアクセス制限に関する設定

次にCGIやSSIなどが使えるかどうか設定します。 この設定はディレクトリごとに行うことができます。 デフォルトの設定を行っているのは以下のところです。

<Directory />
    Options FollowSymLinks ExecCGI Includes
    AllowOverride AuthConfig Limit
</Directory>

デフォルトの設定を特定のディレクトリのみ設定を変更したい場合は そのディレクトリを <Directory /usr/local/apache/htdocs>とか <Directory /home/*public_html> のように指定して設定を書き加えます.

Options

Optionsのところで設定できるものは以下のとおりです.

None許可しない
All MultiViews を除き、すべてのオプションが利用可能です。
ExecCGI CGI スクリプトの実行を許可します。
FollowSymLinks サーバは、このディレクトリ内でシンボリックリンクをたどるようになります。
Includes サーバインクルードを許可します。
IncludesNOEXEC サーバインクルードを許可しますが、CGIスクリプトの #exec コマンドと #include コマンドを不許可にします。
Indexes もし、URLのマッピング先がディレクトリであるリクエストを受けた場合に、 そのディレクトリ内に DirectoryIndex (e.g. index.html)がなければ、 サーバはディレクトリ内のリストを書式化して返します。
MultiViews Content negotiated の MultiViews を許可します
SymLinksIfOwnerMatch サーバは、ターゲットのファイルかディレクトリがへの シンボリックリンクがサーバは、 ターゲットのファイルかディレクトリが同じユーザidによって所有されている シンボリックの場合のみ、リンクにをたどります。

AllowOverride

これは該当のディレクトリを.htaccessファイルにより アクセス制限などの設定をオーバーライドできるかを指定するものです。

AuthConfig 認証ディレクティブの使用を許可する (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, require 等)
FileInfo ドキュメントタイプを制御するディレクティブの使用を許可する (AddEncoding, AddLanguage, AddType, DefaultType, ErrorDocument, LanguagePriority 等)
Indexes ディレクトリインデックスを制御するディレクティブの使用を許可する (AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName 等)
Limit ホストアクセスを制御するディレクティブの使用を許可する (allow deny order).
Options 特定のディレクトリに対する特徴の使用を許可する (Options and XBitHack).

このようにしてオーバライドを許すと、 特定のディレクトリの.htaccessの中に、

AddType text/x-server-parsed-html .html 

を追加するとSSIが使えるようになりますし、 ユーザ認証なども行わせることができるようになります。

拡張子ごとの処理方法の設定

CGIやSSIを行わせるファイルの拡張子を以下のように指定します.

<IfModule mod_mime.c>
    AddType application/x-httpd-php3 .phtml .php3

    AddHandler cgi-script .cgi

    AddType text/html .shtml .html
    AddHandler server-parsed .shtml .html
</IfModule>

これで.cgiという拡張子のファイルがあれば、それはCGIとして 実行されますし、.htmlと.shtmlという拡張子のファイルであれば SSIが実行されます。

ここで.plという拡張子のファイルもCGIとして実行させるためには 上記の設定を"AddHandler cgi-script .cgi .pl"とすればOKです。

またURLとしてディレクトリを指定した場合に取り出される ページを以下のように設定します.

<IfModule mod_dir.c>
   DirectoryIndex index.html index.phtml index.shtml
</IfModule>

もし.htmという拡張子のものを送信するためには、 DirectoryIndexのところに.htmを追加します.


[ホーム]     [サーバの構築]