a2enmod module
を実行するだけで簡単に行う事が可能です; モジュールを無効化するコマンドは a2dismod module
です。実際のところ、これらのプログラムは /etc/apache2/mods-enabled/
内に実際のファイル (/etc/apache2/mods-available/
内に保存されている) を指すシンボリックリンクを作成 (削除) しているだけです。
/etc/apache2/ports.conf
の中で設定されています)、/var/www/
ディレクトリに含まれるページを提供します (/etc/apache2/sites-enabled/000-default
の中で設定されています)。
/etc/apache2/ports.conf
ファイルの NameVirtualHost *:80
指示文がこれに対応します)。加えて、/etc/apache2/sites-enabled/000-default
ファイルの中でデフォルトの仮想ホストが定義されています; クライアントによって送信された要求に一致するホストが見つからない場合、この仮想ホストが使われます。
/etc/apache2/sites-available/
にファイルを追加します。falcot.org
ドメインで運用されるウェブサイトをセットアップするには、以下のファイルを作成し、a2ensite www.falcot.org
を使って仮想ホストを有効化するだけで簡単に可能です。
例11.16 /etc/apache2/sites-available/www.falcot.org
ファイル
<VirtualHost *:80> ServerName www.falcot.org ServerAlias falcot.org DocumentRoot /srv/www/www.falcot.org </VirtualHost>
CustomLog
指示文を追加すればこの挙動を変える事が可能です)。そのため、ログファイルのフォーマットをカスタマイズして、仮想ホストの名前を含むようにする事が道理にかなっています。これを行うには、/etc/apache2/conf.d/customlog
ファイルを作成してすべてのログファイルに対する新しいフォーマットを定義します (LogFormat
指示文を使います)。また、/etc/apache2/sites-available/default
ファイルから CustomLog
指示文を削除 (またはコメントアウト) しなければいけません。
Directory
ブロックが含まれます; これを使うことで、提供されるファイルの位置に従って、サーバの挙動を変える事が可能です。Directory
ブロックには通常 Options
と AllowOverride
指示文が含まれます。
例11.18 Directory ブロック
<Directory /var/www> Options Includes FollowSymlinks AllowOverride All DirectoryIndex index.php index.html index.htm </Directory>
DirectoryIndex
指示文には、クライアントからディレクトリを要求された場合に応答として送信するファイルのリストを指定します。リスト内の最初に見つかったファイルが、応答として使われます。
Options
指示文には、有効化するオプションを指定します。None
値はすべてのオプションを無効化します; 対して All
は MultiViews
を除いてすべてのオプションを有効化します。利用可能なオプションは以下です:
AllowOverride
指示文は .htaccess
ファイルを使って有効化または無効化されたすべてのオプションをリストします。このオプションは一般に ExecCGI
を制限するために使われる事が多いです。管理者はウェブサーバ (www-data
ユーザ) の権限でプログラムを実行する事を許可するユーザを選択します。
例11.19 認証要求を行う .htaccess
ファイル
Require valid-user AuthName "Private directory" AuthType Basic AuthUserFile /etc/apache2/authfiles/htpasswd-private
/etc/apache2/authfiles/htpasswd-private
ファイルには、ユーザとパスワードのリストが含まれます; このファイルを操作するには通常 htpasswd
コマンドを使います。例えば、以下のコマンドを使うことで、ユーザを追加するかユーザのパスワードを変更します:
#
htpasswd /etc/apache2/authfiles/htpasswd-private user
New password: Re-type new password: Adding password for user user
Allow from
と Deny from
指示文を使うことで、あるディレクトリへのアクセスを制御 (とサブディレクトリへのアクセスを再帰的に制御) します。
Order
指示文を使うことで、Allow from
と Deny from
指示文を評価する順番をサーバに伝えます; 最後に一致したものが優先されます。具体的に言えば、Order deny,allow
を使うと、Deny from
に一致しないホストまたは Allow from
に一致するホストからのアクセスを許可します。反対に、Order allow,deny
を使うと、Allow from
に一致しないホスト (または Deny from
に一致するホスト) からのアクセスを拒否します。
Allow from
と Deny from
指示文には、IP アドレス、ネットワーク (例えば 192.168.0.0/255.255.255.0
、192.168.0.0/24
、192.168.0
など)、ホスト名、ドメイン名、全員を意味する all
キーワードを使う事が可能です。
/etc/awstats/awstats.conf
ファイルをカスタマイズして設定を行います。Falcot 管理者は以下のパラメータだけを修正し、他はそのままの状態にしています:
LogFile="/var/log/apache2/access.log" LogFormat = "%virtualname %host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot" SiteDomain="www.falcot.com" HostAliases="falcot.com REGEX[^.*\.falcot\.com$]" DNSLookup=1 LoadPlugin="tooltips"
LogFile
と LogFormat
パラメータを使って、ログファイルの場所とログファイルに含まれる情報の書式を指定します; SiteDomain
と HostAliases
は主要ウェブサイトに与えられている復数の名前をリストします。
DNSLookup
を 1
に設定するべきではありません; トラフィックの少ないサイトでは、Falcot の設定と同様に、DNSLookup
を設定することで、解析結果に生 IP アドレスではなく完全なマシン名が含まれるようになり、読みやすくなります。
/etc/awstats/awstats.www.falcot.org.conf
などの設定ファイルを作ってください。
例11.21 仮想ホスト用の AWStats 設定ファイル
Include "/etc/awstats/awstats.conf" SiteDomain="www.falcot.org" HostAliases="falcot.org"
/usr/share/awstats/icon/
ディレクトリに保存されている多くのアイコンを使います。ウェブサイトでこれらのアイコンを使えるようにするためには、以下の指示文を Apache の設定に追加する必要があります:
Alias /awstats-icon/ /usr/share/awstats/icon/