バーチャルホスト(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 の設定
 DNS の設定

では、本題の設定方法に入りましょう。

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を運用することができます。