UbuntuでApacheを設定する際のハマリどころ

Ubuntuを使う前はCentOSを使っていたので、Apacheの設定にちょっとハマりました。
ソースからインストールする場合は基本今までと同じなんですが、apt-getでインストールするとちょいとUbuntuアタマにする必要があります。
UbuntuでのApache設定は基本的にDebianを受け継いでいるので、モジュールやサイトの設定を
apache2.conf(httpd.conf)には書かずに細かく管理します。ここんところがRedHat系ユーザーのハマり所ですね。
(Apache2になってからは、設定ごとに〜.confファイルに記入しますが、Ubuntuは管理がさらに
細かいみたいです。)

設定ファイル

apache2.conf

httpd.confの代わりにapache2.confが読み込まれます。

ports.conf

通信ポートの設定です。デフォはもちろん80で。

Listen 80

<IfModule mod_ssl.c>
    Listen 443
</IfModule>
sites-available/

仮想ホストの設定ファイルの置き場

mods-available/

モジュールの設定ファイルの置き場

conf.d/

その他上記以外の細かい設定はここにファイルを作る

起動スクリプト

/etc/init.d/apache2が起動スクリプト

/etc/init.d/apache2 force-reload ← 再起動コマンドはこんなん

サイト設定の切り替え

設定ファイルをmods-available 、sites-availavle 配置し、a2enmod や a2ensite コマンドで有効にすることによって、ファイルが mods-enabled や sites-enabled にリンクされて読み込まれます。

a2dismod

モジュール設定を無効にします。

a2enmod

モジュール設定を有効にします。

a2dissite

サイト設定を無効にします。

a2ensite

サイト設定を有効にします。

切り替え例

デフォルト設定の「default」をコピーしたhogeをカスタマイズし有効化。んでデフォの設定を無効にする例です。

cd /etc/apache2/sites-available/
sudo cp default hoge
sudo a2dissite default  ←defaultの設定を無効に
sudo a2ensite hoge      ←hogeの設定を有効に