a2enmod module
を実行するだけで簡単に行うことが可能です。これに対して、モジュールを無効化するコマンドは a2dismod module
です。実際のところ、これらのプログラムは /etc/apache2/mods-enabled/
内に実際のファイル (/etc/apache2/mods-available/
内に保存されています) を指すシンボリックリンクを作成 (または削除) しているだけです。
/etc/apache2/ports.conf
の中で設定されています)、/var/www/html/
ディレクトリに含まれるページを公開します (/etc/apache2/sites-enabled/000-default.conf
の中で設定されています)。
/etc/apache2/sites-enabled/000-default.conf
ファイルの中でデフォルトの仮想ホストが定義されています。この仮想ホストはクライアントによって送信された要求に一致するホストが見つからない場合に使われます。
/etc/apache2/sites-available/
にファイルを追加します。falcot.org
ドメインで運用されるウェブサイトをセットアップするには、以下のファイルを作成し、a2ensite www.falcot.org
を使って仮想ホストを有効化するだけで簡単に可能です。
例 11.16 /etc/apache2/sites-available/www.falcot.org.conf
ファイル
<VirtualHost *:80> ServerName www.falcot.org ServerAlias falcot.org DocumentRoot /srv/www/www.falcot.org </VirtualHost>
CustomLog
指示文を追加すればこの挙動を変えることが可能です)。そのため、ログファイルのフォーマットをカスタマイズして、仮想ホストの名前を含むようにすることが道理に適っています。これを行うには、/etc/apache2/conf-available/customlog.conf
ファイルを作成してすべてのログファイルに対する新しいフォーマットを定義し (LogFormat
指示文を使います)、さらに a2enconf customlog
を有効化します。また、/etc/apache2/sites-available/000-default.conf
ファイルから CustomLog
指示文を削除 (またはコメントアウト) しなければいけません。
Directory
ブロックが含まれます。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
ファイルを使って有効化または無効化することを許可するすべてのオプションをリストします。AllowOverride
指示文は一般に 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
/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/