バーチャルホスト(VirtualHost)の設定
こんなVirtualHostの設定なんかしなくても公開ディレクトリ配下にwordpressのフォルダを複数配置する事で複数wordpressを起動する事ができます。
https://caramelsauce.info/worpdress1/
https://caramelsauce.info/worpdress2/
というような感じでね。
でも、もっとカッコよくシンプルにしたい!!
同じPCで、かつドメインが1つしかない環境でもホスト名を変えてwordpressを複数起動させる方法です。
例えば、
・スケジュール帳として(https://schedule.caramelsauce.info)
・ブログ用として(https://blog.caramelsauce.info)
というような感じで複数のWordPressを起動させる事ができます。
では、本題の設定方法に入りましょう。
httpd.conf の設定
細かい事を言うと、
・全ての設定をhttpd.confに記載してしまう。
・全てのバーチャルホスト内容を別ファイルに記載してインクルードする。
など、いろいろな設定方法があるとは思いますが、
httpd.confには Directoryディレクティブだけを追記して、別ファイルのconfファイルにVirtualHostディレクティブを記載するようにします。
理由としては全て別ファイルに記載してしまうとhttpd.confだけを見た場合、バーチャルホストを設定している事も気づかない可能性が出てしまう為。
<Directory "/var/www/schedule">
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory "/var/www/blog">
Options FollowSymLinks
AllowOverride All
</Directory>
次はインクルード先ディレクトリ(デフォルトでインクルードされている /etc/httpd/conf.d)にVirtualHostディレクティブの設定を別ファイルとして保存します。
今回はVirtualHostのファイルと認識しやすいようにホスト名ごとにコンフィグファイルを分け、
ファイル名の先頭には「vf-」(VirtualHostの略)を付けて
vf-schedule.caramelsauce.info.conf
vf-blog.caramelsauce.info.conf
という形にします。
<VirtualHost *:80>
ServerName schedule.caramelsauce.info
DocumentRoot /var/www/schedule
ErrorLog logs/schedule-error_log
CustomLog logs/schedule-access_log combined env=!no_log
</VirtualHost>
<VirtualHost *:80>
ServerName blog.caramelsauce.info
DocumentRoot /var/www/blog
ErrorLog logs/blog-error_log
CustomLog logs/blog-access_log combined env=!no_log
</VirtualHost>
「ErrorLog」 はエラーログの出力先ファイル。
「CustomLog」 はアクセスログの出力先ファイルです。
最後にapacheを再起動させます。
systemctl restart httpd
DNS の設定変更
notepadというホスト名でアクセス出来る様にDNSにも「notepad」と「blog」をcaramelsauce.infoの追加ホスト(Aレコード)として追加しなくてはいけません。
DNSに関しては各々管理状況が違うと思われます。
・自分でDNSを管理している方。
・ドメイン管理サービスを使っている方。
それぞれの方法でAレコードを追加してください。
下記ではzoneファイルで記載するとこのような行を追加することになります。
[ホスト名] IN A [IPアドレス]
具体的にはこんな感じ。
notepad IN A 123.456.789.012
blog IN A 123.456.789.012
DNSが反映されたらブラウザでhttp://notepad.caramelsauce.info にアクセスしてみる。
正しく設定できていればホスト名の無いページとは別の画面が表示されるはずです。
もっとホスト名を増やしたい場合は、増やしたい分だけ同じ設定を行えば好きなだけホスト名毎にHPを持つことができます。
また、別ドメインを持っている場合は、同じようにコンフィグのドメイン名の部分も変更して、DNSも
その対象ドメインで設定反映させる事で同じPC上で別ドメインのHPを運用することができます。