
・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
これでバーチャルホストの設定が完了した。
ブラウザで各アドレスが設定したようにサイトへ繋がれば成功。