Ubuntuのapacheの設定をしようと思ったら、何か変。。。
構造がVineやFedoraと違う!!
まぁ、無視していつも通りに設定するってのもありだが、ここはUbuntuの流儀に従うことに。。。
/etc/apache2の歩き方を書いてみた。
- apache2.conf - メイン設定?
- httpd.conf - 空ファイル、apache2.confから一応読み込まれる。
- ports.conf - ポートの設定
- envvars - apache2ctlのための環境変数?(意訳)
- conf.d/ - 追加設定置場(他のディストリビューションのように*.confじゃなくてもOK)
- mods-available/ - モジュールの設定置場
- *.load - モジュールの読み込み用
- *.conf- モジュールの設定用
- sites-available/ - VertualHostの設定置場
- mods-enabled/ - mods-available/にあるファイルへのシンボリックリンク置場、リンクが張られているモジュール設定が実行される。
- sites-enabled/ - sites-available/にあるファイルへのシンボリックリンク置場、リンクが張られているVertualHost設定が実行される。
apacheへの動的モジュール及びバーチャルホストの設定もコマンドで追加するらしい。。。
(といっても*-enabled/以下ににシンボリックリンクを張るだけのようですが。。。)
コマンドの説明は以下
- a2enmod - モジュールを読み込むように
- a2dismod - モジュールを読み込まないように
- a2ensite - バーチャルドメインを読み込むように
- a2dissite - バーチャルドメインを読み込まないように
Fedoraでいうchkconfigのapache版ですな。。。
a2*コマンドで変更したら
以下のコマンドでapacheを再起動(gracefulが無い。。。)
# /etc/init.d/apache2 resatrt
組み込んだモジュールは以下で確認できます。
# apache2ctl -M
例としてpassenger(mod_rails)をapacheモジュールとして設定するには
/etc/apache2/mods-available/passenger.loadに以下を記述
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so
/etc/apache2/mods-available/passenger.confに以下を記述
<IfModule mod_passenger.c>
#passengerのインストールパス
PassengerRoot /var/lib/gems/1.8/gems/passenger-2.0.3
#rubyのインストールパス
PassengerRuby /opt/ruby-enterprise/bin/ruby
</IfModule>
と設定し、
# a2enmod passenger
# /etc/init.d/apache2 restart
でpassengerを組み込んだ後、再起動します。