独自ドメインを複数取得して複数のサイトを運用したい場合はバーチャルホストを設定します。
CentOS、および、ubuntuにインストールされたApacheにバーチャルホストをそれぞれ設定してみました。OS、Apacheの組み合わせは以下です。
CentOS 6.10 + Apache 2.2.15
ubuntu 18.04 LTS + Apache 2.4.29
※補足:この記事の内容は「ドキュメントルートの変更」をしたあとに行っています。
rootユーザで作業します。
■CentOS 6.10 + Apache 2.2.15 の場合
# cd /etc/httpd/conf
# vi httpd.conf
==============================
Listen 80 (httpd.confに、すでに記載済みであることを確認)
NameVirtualHost *:80 (httpd.confに、すでに記載済みであることを確認)
(以下の内容を、httpd.conf の最後に追加する)
<VirtualHost *:80>
ServerAdmin root@localhost
DocumentRoot /var/www/html/XXX (XXXは任意のディレクトリ)
ServerName www.example1.com (取得した独自ドメイン)
ErrorLog logs/error_log
CustomLog logs/access_log combined
<Directory "/var/www/html/XXX"> (ドキュメントルートにあわせる)
Options FollowSymLinks・・ (必要に応じてオプションを設定)
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin root@localhost
DocumentRoot /var/www/html/YYY (YYYは任意のディレクトリ)
ServerName www.example2.com (取得した独自ドメイン)
ErrorLog logs/error2_log
CustomLog logs/access2_log combined
<Directory "/var/www/html/YYY"> (ドキュメントルートにあわせる)
Options FollowSymLinks・・ (必要に応じてオプションを設定)
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
(httpd.conf を保存する。)
==============================
# apachectl configtest (httpd.conf に間違いがないかチェックする)
# /etc/rc.d/init.d/httpd restart (Apacheの再起動)
上記の設定の場合、
http://www.example1.com/ でアクセスしてきた場合は、/var/www/html/XXX 配下のコンテンツが表示されます。
http://www.example2.com/ でアクセスしてきた場合は、/var/www/html/YYY 配下のコンテンツが表示されます。
また、error_log と access_log の出力ファイルをわけていますが、同じにしても大丈夫です。
■ubuntu 18.04 LTS + Apache 2.4.29 の場合
/etc/apache2/sites-available 配下にある 000-default.conf をコピーして
001-default.conf を作ります。
# a2ensite 001-default.conf で 001-default.confの設定を有効にしておきます。
001-default.conf では、すでに <VirtualHost> タグを使用しているので(囲っているので)それを利用します。
# vi 001-default.conf
==============================
(以下の内容のように修正、加筆する)
<VirtualHost *:80>
ServerName www.example1.com (独自ドメインに修正する)
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/XXX (XXXは任意のディレクトリ)
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
#(以下の<Directory>・・</Directory>は追記する)
<Directory /var/www/html/XXX> (ドキュメントルートにあわせる)
Options FollowSymLinks・・ (必要に応じてオプションを設定)
AllowOverride None
Require all granted
:
</Directory>
</VirtualHost>
#(以下は、まるまる追記する)
<VirtualHost *:80>
ServerName www.example2.com (独自ドメインに修正する)
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/YYY (YYYは任意のディレクトリ)
ErrorLog ${APACHE_LOG_DIR}/error2.log
CustomLog ${APACHE_LOG_DIR}/access2.log combined
<Directory /var/www/html/YYY> (ドキュメントルートにあわせる)
Options FollowSymLinks・・ (必要に応じてオプションを設定)
AllowOverride None
Require all granted
:
</Directory>
</VirtualHost>
(001-default.confを保存する。)
==============================
# apache2ctl configtest (conf に間違いがないかチェックする)
# service apache2 restart (Apacheの再起動)
完了。