a2enmod module を実行するだけで簡単に行うことが可能です; モジュールを無効化するコマンドは a2dismod module です。実際のところ、これらのプログラムは /etc/apache2/mods-enabled/ 内に実際のファイル (/etc/apache2/mods-available/ 内に保存されている) を指すシンボリックリンクを作成 (削除) しているだけです。
/etc/apache2/ports.conf の中で設定されています)、/var/www/ ディレクトリに含まれるページを提供します (/etc/apache2/sites-enabled/000-default の中で設定されています)。
NameVirtualHost *:80 directive in the /etc/apache2/ports.conf file). In addition, a default virtual host is defined in the /etc/apache2/sites-enabled/000-default file; this virtual host will be used if no host matching the request sent by the client is found.
/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 userNew 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/