・apache2の設定參
・バーチャルホストの設定
複数サイトを運用する前提でバーチャルホストの設定を行う。
※複数サイトを構築する必要がない場合は読み飛ばしてね。
ラズベリーパイにて構築した我サイトは
・独自ドメイン→ iwako.pgw.jp
・サブドメイン→ weather.iwako.pgw.jp
という二つのサイトでもって運用をしている。
これは、MyDNS.JPの無料ドメインサービスを利用しており、無料で独自ドメインを取得させてもらえる、学習者にとってはとってもありがたいサービスだ。
また、他にもドメインを取得していて、ieserver.netdではiwamotohideki.dip.jpというドメインを取得している。
現在は
iwako.pgw.jp
iwamotohideki.dip.jp
ともに同じドキュメントルートを設定しているが、バーチャルホストの設定で別サイトとして運用も可能なのだ。
と、いうわけで今回は
・独自ドメイン→ iwako.pgw.jp
・サブドメイン→ weather.iwako.pgw.jp
を別サイトとして設定していく。
の前に、debian系のapache2はhttp.confという1つのファイルではなくやや複雑な小分けのディレクトリとファイルに分割されている。なれると便利ではあるのだろうが、初心者には結構な障壁となる。
apache2.confには大まかな設定しか記述されておらず、include先のファイル情報が載っており、それらはhoge-enabledという各フォルダから読み込まれている。
しかしそれらのフォルダとファイルを編集するのではなく、hoge-availableというフォルダのファイルを編集しなければならない。
あーややこしい。
閑話休題。ようやく本題。
まずは、/etc/apache2/sites-available/内を覗くと、
000-default.conf default-ssl.conf
という2つのファイルがあるはずなので、
000-default.confファイルを全てコメントアウト「#」しておく。
次に、新規ファイルvirtual-host.confを作成(ファイル名は任意)、
$ sudo vim virtual-host.conf
下記のように記述する。
#iwamotohideki.dip.jp予定
<VirtualHost *:80>
ServerAdmin hoge@virtual.host ←404errerなどの時に表示されるメアド
DocumentRoot /var/www/public_html ←ドキュメントルート
ServerName iwamotohideki.dip.jp ←ドメイン
ServerAlias iwako.pgw.jp ←別ドメイン
ErrorLog ${APACHE_LOG_DIR}/error.log ←000-default.confから流用
CustomLog ${APACHE_LOG_DIR}/access.log combined ←000-default.confから流用
</VirtualHost>
#weather.dip.jp予定
<VirtualHost *:80>
ServerAdmin hoge@virtual.host
DocumentRoot /var/www/weather
ServerName weather.iwako.pgw.jp
ErrorLog ${APACHE_LOG_DIR}/errorW.log
CustomLog ${APACHE_LOG_DIR}/accessW.log combined
</VirtualHost>
ServerAdminは記述しなくても動作には問題ない。
DocumentRootは指定したディレクトリが最上位階層「/」になる。
ServerNameは取得したドメインを記述。
ServerAliasはサブドメインを記述。
iwako.pgw.jpにうっかりや意図的にwwwとかhogeとかをつけた場合にも
同じところへ転送することができる。
hoge.iwako.pgw.jp www.iwako.pgw.jp
と記述すれば複数設定も可能。
ErrorLogとCustomLogは記述しなくても動作自体には問題ない。
ここまで出来たら、virtual-host.confの設定を有効化する。
$ sudo a2ensite virtual-host.conf
/etc/apache2/sites-enabled/に設定が反映される。
apache2を再起動。
$ sudo service apache2 restart
これでバーチャルホストの設定が完了した。
ブラウザで各アドレスが設定したようにサイトへ繋がれば成功。