マルチドメイン化(VirtualHost)1
ApacheのVirtualHostの機能を使い、マルチドメイン化して複数のサイトを運用できるようにします。
最初に…
WordPressサイトの作成でサイトを1つ作成しましたが、これはApacheのデフォルトのドキュメントルート(/var/www/html/)にインストールしました。
このサイトにローカル内で有効なドメインをつけて、ドキュメントルートは「/var/www/ドメイン/」に変更します。
さらにサイトの追加する場合は「/var/www/ドメイン2/」「/var/www/ドメイン3/」・・と構成していきます。
※ ここではドキュメンルートのディレクトリ名とドメイン名を完全に一致させています。(任意)
WordPressサイトの変更
はじめに作成したWordPressサイトの管理画面にログインして「一般設定」の「WordPressアドレス」「サイトアドレス」を見ると「http://192.168.3.10」になっています。
マルチドメイン化(VirtualHost)の設定
サイトが稼働していたサーバー「Ubuntu-V」へログインします。
$ sudo mv /var/www/html /var/www/wordpress.localsite
ドキュメントルートの名前を「/var/www/wordpress.localsite」に変更します。
$ cat /etc/apache2/sites-available/000-default.conf
マルチドメイン(VirtualHost)の設定は「/etc/apache2/sites-available/」に置かれるファイルに記述され、有効化されると読み込まれます。デフォルトでは「000-default.conf」が有効になっています。(さらにファイルの中身を見ると「#」が外された赤枠の部分の機能が有効になっています)
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/wordpress.localsite.conf
この「000-default.conf」をサイトを作成するごとにコピーします。任意の名前に変更して編集します。(ここではドメインと同じにしています wordpress.localsite.conf )
※ ドメイン、ドキュメントルート、設定ファイルの名前を揃えています。
$ sudo vim /etc/apache2/sites-available/wordpress.localsite.conf
名前を変更してコピーしたファイル「wordpress.localsite.conf」をエディタで開き設定を記述します。
9行目の「#ServerName www.example.com」という項目(ディレクティブ)の「#」を削除して有効化。ドメインを設定します。「DocumentRoot」も変更したものに書き換えてファイルを保存して閉じます。
作成した設定ファイル「Wordpress.localsite.conf」の有効化
$ sudo a2ensite wordpress.localsite.conf
デフォルトの設定ファイル「000-default.conf」の無効化
$ sudo a2dissite 000-default.conf
ドキュメントルートの所有ユーザーの変更
$ sudo chown -R www-data:www-data /var/www/wordpress.localsite
※ 「www-data」はApacheがデフォルトでサーバーの操作に使用するユーザー/グループ名です。
ドキュメントルートのパーミッション変更
$ sudo chmod 775 /var/www/wordpress.localsite
ユーザー「peco」をwww-dataグループに追加
$ sudo usermod -aG www-data peco
Apacheの再起動
$ sudo systemctl restart apache2
アクセス元(WindowsPC)の設定
アクセス元のローカルマシン(ここではWindowsPC)のhostsファイルに「wordpress.localsite」のIPアドレスを記述して名前解決が出来るようにします。
IPアドレスは以前に設定した「192.168.3.10」になります。
192.168.3.10 wordpress.localsite
の記述を追加します。