[ #14] 2009.03.03 00:20 : Apache2の基本設定_1
DebianGNU 5.0(lenny)のインストール時にtaskselのステップで「ウェブサーバ」を選択しておけば、Apache自体の基本的な設定を含めて自動的に行ってくれるため、インストール直後の再起動の後、ブラウザを起動してURLに「localhost」を指定すればとりあえずの動作確認ができます。
そのまんまを使って、ディレクトリ「/var/www」にファイル「index.html」などのコンテンツを置いていけば使えるわけですが、なかなかそうもいかないでしょう。 つまり、いろいろな理由からカスタマイズしよう!ってことになります。
Debian上では、Apache2のカスタマイズ用コンフィグレーションファイル等はディレクトリ「/etc/apache2」以下にまとめて置かれています。
根っこにあたるものは「/etc/apache2/apache2.conf」です。 細かいことはヌキにして、このファイルから更にディレクトリ「/etc/apache2/sites-enabled」に格納されたものを読み込みながら起動されます。 既定で「/etc/apache2/sites-enabled/000-default」というコンフィグレーションファイルが置かれているので、マズはそれを適当に変更してカスタマイズできます。
実際にはコンフィグレーションファイル
「/etc/apache2/sites-enabled/000-default」は、「/etc/apache2/sites-available/default」
へのシンボリックリンクになっています。 すなわち、コンフィグレーションファイルの実体はディレクトリ「/etc/apache2/sites-available」に格納されているということです。
つまり「/etc/apache2/sites-enabled/000-default」をエディタなどで修正変更すれば、結果として「/etc/apache2/sites-available/default」に修正変更がなされるということですな。
実際には修正変更をする前に。コンフィグレーションファイル「default」のコピーを採っておくのがお行儀の良いやり方だと思います。
ひとつのWebサーバ機に複数のWebサイトを置くような場合、サブドメインをいくつか置くような場合には、各々のWebサイトのためのコンフィグレーションファイルをディレクトリ「/etc/apache2/sites-available」に作成して、それらコンフィグレーションファイルへのシンボリックリンクをディレクトリ「/etc/apache2/sites-enabled」に作成することになります。
さてさて、、 Webサイトの(index.html等)コンテンツファイル群をディレクトリ「/var/www」ではなく「/var/webdef」に格納する場合には、予めディレクトリファイル「/var/webdef」を作成しておき、そのディレクトリの所有者と保護モードを確認したうえで、コンフィグレーションファイル「/etc/apache2/sites-available/default」に記述されたWebコンテンツ格納場所のルートディレクトリ指示を「/var/webdef/」に書き換えればOK、最後にApache2の再起動(コンフィグレーションファイルのリロード)ということになります。
# /etc/init.d/apache2 reload
ウマクいきますかな? \(  ̄■ ̄)/
<< 2009/03/17 :追記 >>
「Apache2のカスタマイズ」というタイトルを「基本設定」に変えました( ̄▽ ̄)ゞ 「カスタマイズ」の意味を軽い気持ちで使っていたかもしれません。 Apache2のソースプログラムを入手して変更を加えているわけでもなく、モジュールに手を加えているワケでもありません。 単にインストール直後の状態に簡単な修正を加えて、それらしく使えるようにするための設定変更メモを掲げただけですので・・・。
<< 2009/04/08 :追記 >>
ディレクトリ「/etc/apache2」のナカにディレクトリ「sites-available」と「sites-enabled」があります。
「sites-available」にはサーバ上に置かれたWebサイトのコンフィグレーションファイルを置くわけですが、それらすべてを有効にする必要はなく、それらのコンフィグレーションファイルのうち実際にApache2で公開するWebサイトのためのコンフィグレーションファイルのシンボリックリンクを「sites-enabled」に置くようにします。
ディレクトリ「sites-enabled」にシンボリックリンクを置くには、コマンド ln を使った手作業でもできますが、コマンド a2ensite を使うのがお行儀の良い操作方法かもしれません。 コマンド a2dissite は、コマンド a2ensite の逆を行うためのものです。
例えば、コマンド ln を使う場合には
# cd /etc/apache2/sites-enabled
# ln -s /etc/apache2/sites-availabled/MYWEB 123-MYWEB
のようにしてシンボリックリンクを作成します。
コマンド a2ensite の説明は
# man a2ensite
で参照できます。
<< 2009/09/04 :追記 >>
理由はイロイロですが、HTMLファイルの中でSSIの include を使っています。
Debian lenny のインストール時の「ソフトウェアの選択とインストール」で「ウェブサーバ」を指定して apache をインストールした場合、このSSIの利用に必要なモジュールがロードされるようにはなっていません。
HTMLファイルの中でSSIの include を使うためには
# a2enmod include
を実行しておく必要があります。 これを実行すると /etc/apache2/mods-enabled/include.load がセットされます。
そのまんまを使って、ディレクトリ「/var/www」にファイル「index.html」などのコンテンツを置いていけば使えるわけですが、なかなかそうもいかないでしょう。 つまり、いろいろな理由からカスタマイズしよう!ってことになります。
Debian上では、Apache2のカスタマイズ用コンフィグレーションファイル等はディレクトリ「/etc/apache2」以下にまとめて置かれています。
根っこにあたるものは「/etc/apache2/apache2.conf」です。 細かいことはヌキにして、このファイルから更にディレクトリ「/etc/apache2/sites-enabled」に格納されたものを読み込みながら起動されます。 既定で「/etc/apache2/sites-enabled/000-default」というコンフィグレーションファイルが置かれているので、マズはそれを適当に変更してカスタマイズできます。
実際にはコンフィグレーションファイル
「/etc/apache2/sites-enabled/000-default」は、「/etc/apache2/sites-available/default」
へのシンボリックリンクになっています。 すなわち、コンフィグレーションファイルの実体はディレクトリ「/etc/apache2/sites-available」に格納されているということです。
つまり「/etc/apache2/sites-enabled/000-default」をエディタなどで修正変更すれば、結果として「/etc/apache2/sites-available/default」に修正変更がなされるということですな。
実際には修正変更をする前に。コンフィグレーションファイル「default」のコピーを採っておくのがお行儀の良いやり方だと思います。
ひとつのWebサーバ機に複数のWebサイトを置くような場合、サブドメインをいくつか置くような場合には、各々のWebサイトのためのコンフィグレーションファイルをディレクトリ「/etc/apache2/sites-available」に作成して、それらコンフィグレーションファイルへのシンボリックリンクをディレクトリ「/etc/apache2/sites-enabled」に作成することになります。
さてさて、、 Webサイトの(index.html等)コンテンツファイル群をディレクトリ「/var/www」ではなく「/var/webdef」に格納する場合には、予めディレクトリファイル「/var/webdef」を作成しておき、そのディレクトリの所有者と保護モードを確認したうえで、コンフィグレーションファイル「/etc/apache2/sites-available/default」に記述されたWebコンテンツ格納場所のルートディレクトリ指示を「/var/webdef/」に書き換えればOK、最後にApache2の再起動(コンフィグレーションファイルのリロード)ということになります。
# /etc/init.d/apache2 reload
ウマクいきますかな? \(  ̄■ ̄)/
<< 2009/03/17 :追記 >>
「Apache2のカスタマイズ」というタイトルを「基本設定」に変えました( ̄▽ ̄)ゞ 「カスタマイズ」の意味を軽い気持ちで使っていたかもしれません。 Apache2のソースプログラムを入手して変更を加えているわけでもなく、モジュールに手を加えているワケでもありません。 単にインストール直後の状態に簡単な修正を加えて、それらしく使えるようにするための設定変更メモを掲げただけですので・・・。
<< 2009/04/08 :追記 >>
ディレクトリ「/etc/apache2」のナカにディレクトリ「sites-available」と「sites-enabled」があります。
「sites-available」にはサーバ上に置かれたWebサイトのコンフィグレーションファイルを置くわけですが、それらすべてを有効にする必要はなく、それらのコンフィグレーションファイルのうち実際にApache2で公開するWebサイトのためのコンフィグレーションファイルのシンボリックリンクを「sites-enabled」に置くようにします。
ディレクトリ「sites-enabled」にシンボリックリンクを置くには、コマンド ln を使った手作業でもできますが、コマンド a2ensite を使うのがお行儀の良い操作方法かもしれません。 コマンド a2dissite は、コマンド a2ensite の逆を行うためのものです。
例えば、コマンド ln を使う場合には
# cd /etc/apache2/sites-enabled
# ln -s /etc/apache2/sites-availabled/MYWEB 123-MYWEB
のようにしてシンボリックリンクを作成します。
コマンド a2ensite の説明は
# man a2ensite
で参照できます。
<< 2009/09/04 :追記 >>
理由はイロイロですが、HTMLファイルの中でSSIの include を使っています。
Debian lenny のインストール時の「ソフトウェアの選択とインストール」で「ウェブサーバ」を指定して apache をインストールした場合、このSSIの利用に必要なモジュールがロードされるようにはなっていません。
HTMLファイルの中でSSIの include を使うためには
# a2enmod include
を実行しておく必要があります。 これを実行すると /etc/apache2/mods-enabled/include.load がセットされます。
〔タグ〕 5.0(lenny) Apache2 コンフィグレーションファイル カスタマイズ 仮想サーバ a2ensite a2dissite a2enmod

