11月
8
2013

Apacheの初期設定すべき内容 (httpd.conf)

Apacheの初期設定すべき内容をまとめました。
マルチドメインを想定して、バーチャルホストの設定もしています。

設定時のApacheのバージョンは、2.2.15です。

ApacheやOS等のバージョンを非表示にする

Apacheはデフォルトで、Apache、OS、PHPなどのバージョンを
HTTPレスポンスヘッダを含めたり、デフォルトのエラーページに表示させたりします。
この情報を最小限に抑止するために、「ServerTokens」、「ServerSignature」を下記の通り設定します。

ServerTokens Prod
ServerSignature Off

使用しないデフォルト設定をコメントアウト

htmlディレクトリは使用しないため、コメントアウト。

#<Directory "/var/www/html">
#    Options Indexes FollowSymLinks
#    AllowOverride None
#    Order allow,deny
#    Allow from all
#</Directory>

iconsディレクトリは使用しないため、コメントアウト。

#Alias /icons/ "/var/www/icons/"
#<Directory "/var/www/icons">
#    Options Indexes MultiViews FollowSymLinks
#    AllowOverride None
#    Order allow,deny
#    Allow from all
#</Directory>

cgi-binディレクトリは使用しないため、コメントアウト。

#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
#<Directory "/var/www/cgi-bin">
#    AllowOverride None
#    Options None
#    Order allow,deny
#    Allow from all
#</Directory>

ディレクトリインデックス機能は使用しないため、コメントアウト。

#IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8
#AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
#AddIconByType (TXT,/icons/text.gif) text/*
#AddIconByType (IMG,/icons/image2.gif) image/*
#AddIconByType (SND,/icons/sound2.gif) audio/*
#AddIconByType (VID,/icons/movie.gif) video/*
#AddIcon /icons/binary.gif .bin .exe
#AddIcon /icons/binhex.gif .hqx
#AddIcon /icons/tar.gif .tar
#AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
#AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
#AddIcon /icons/a.gif .ps .ai .eps
#AddIcon /icons/layout.gif .html .shtml .htm .pdf
#AddIcon /icons/text.gif .txt
#AddIcon /icons/c.gif .c
#AddIcon /icons/p.gif .pl .py
#AddIcon /icons/f.gif .for
#AddIcon /icons/dvi.gif .dvi
#AddIcon /icons/uuencoded.gif .uu
#AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
#AddIcon /icons/tex.gif .tex
#AddIcon /icons/bomb.gif core
#AddIcon /icons/back.gif ..
#AddIcon /icons/hand.right.gif README
#AddIcon /icons/folder.gif ^^DIRECTORY^^
#AddIcon /icons/blank.gif ^^BLANKICON^^
#DefaultIcon /icons/unknown.gif

コンテントネゴシエーション機能は使用しないため、コメントアウト。

##AddHandler type-map var

SSIは使用しないため、コメントアウト。

#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml

マルチドメイン対応のVirtualHostを設定

※環境に合わせて設定値を変更してください。

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin webmaster@tutty.info
    DocumentRoot /var/www_chroot/tutty.info/www
    ServerName tutty.info
    ErrorLog /var/www_chroot/tutty.info/logs/tutty.info-error_log
    CustomLog /var/www_chroot/tutty.info/logs/tutty.info-access_log combined
    <Directory "/var/www_chroot/tutty.info/www">
        AllowOverride All
        Options       FollowSymLinks
        Order         allow,deny
        Allow         from all
   </Directory>
</VirtualHost>

補足

私が普段使用しているWeb関連のディレクトリ構成は、下記の通りです。
ドメイン単位でディレクトリを分けています。

# Apacheログディレクトリ
 /var/www_chroot/(ドメイン名)/logs/
# ドキュメントルート
 /var/www_chroot/(ドメイン名)/www/
# ドキュメントルート外(非公開用)
 /var/www_chroot/(ドメイン名)/work/

※ルートフォルダに、ドメイン名のシンボリックリンクを張ると使いやすいです。
※必要に応じて変更してください。

1 Comment + Add Comment

コメントする

メールアドレスは公開されません。

このエントリーをはてなブックマークに追加