ヘルプ:バーチャルホスト設定(CentOS7)
提供: すだちWiki
メインページ > ヘルプ:目次 > ヘルプ:自宅サーバー構築(CentOS7) > バーチャルホスト設定(CentOS7)
すでに稼働しているWebサーバー(Apache)にバーチャルホストの設定を行ったので忘れないために書いておく。
バーチャルホスト設定
バーチャルホスト用ドキュメントルートディレクトリ作成
[root@host3 ~]# mkdir /var/www/html/sudachinet.jp [root@host3 ~]# chown sysop. /var/www/html/sudachinet.jp
ディレクトリの所有者変更
[root@host3 ~]# chown sysop. /var/www/html/sudachinet.jp
未定義ホスト用バーチャルホスト設定ファイル作成
※バーチャルホスト未定義ホスト名でアクセス時にアクセスを拒否する
[root@host3 ~]# vi /etc/httpd/conf.d/virtualhost-00.conf
<VirtualHost _default_:80>
ServerName any
<Location />
Require all denied
</Location>
</VirtualHost>
メインホスト用バーチャルホスト設定ファイル作成
[root@host3 ~]# vi /etc/httpd/conf.d/virtualhost-sudachi.jp.conf
<VirtualHost *:80>
ServerName sudachi.jp
DocumentRoot /var/www/html/sudachi.jp
</VirtualHost>
追加ホスト用バーチャルホスト設定ファイル作成
[root@host3 ~]# vi /etc/httpd/conf.d/virtualhost-sudachinet.jp.conf
<VirtualHost *:80>
ServerName sudachinet.jp
DocumentRoot /var/www/html/sudachinet.jp
ErrorLog logs/sudachinet.jp-error_log
CustomLog logs/sudachinet.jp-access_log combined env=!no_log
</VirtualHost>
Webサーバー再起動
[root@host3 ~]# systemctl restart httpd
暗号化通信用バーチャルホスト設定
サーバー証明書取得
追加ホストについて、サーバー証明書(Certbot)の「サーバー証明書取得」を実施。
メインホスト用バーチャルホスト設定
ファイル編集
[root@host3 ~]# vi /etc/httpd/conf.d/virtualhost-sudachi.jp.conf
<VirtualHost *:80>
ServerName sudachi.jp
DocumentRoot /var/www/html/sudachi.jp
</VirtualHost>
/etc/httpd/conf.d/ssl.confの<VirtualHost _default_:443>~</VirtualHost>をコピーしてここに貼り付けて下記のみ修正
<VirtualHost *:443> ← *に変更 DocumentRoot "/var/www/html/sudachi.jp" ← メインホスト用ドキュメントルートを指定 ServerName sudachi.jp:443 ← メインホストサーバー名を指定
追加ホスト用バーチャルホスト設定
ファイル編集
[root@host3 ~]# vi /etc/httpd/conf.d/virtualhost-sudachinet.jp.conf
<Directory "/var/www/html/sudachinet.jp" >
AllowOverride All
</Directory>
<VirtualHost *:80>
ServerName sudachinet.jp
DocumentRoot /var/www/html/sudachinet.jp
ErrorLog logs/sudachinet.jp-error_log
CustomLog logs/sudachinet.jp-access_log combined env=!no_log
</VirtualHost>
/etc/httpd/conf.d/ssl.confの<VirtualHost _default_:443>~</VirtualHost>をコピーしてここに貼り付けて下記のみ修正
<VirtualHost *:443> ← *に変更 DocumentRoot "/var/www/html/sudachinet.jp" ← 追加ホスト用ドキュメントルートを指定 ServerName sudachinet.jp:443 ← 追加ホストサーバー名を指定 ErrorLog logs/sudachinet.jp-ssl_error_log ← 追加ホスト用SSLエラーログファイル名を指定 TransferLog logs/sudachinet.jp-ssl_access_log ← 追加ホスト用SSLアクセスログファイル名を指定 SSLCertificateFile /etc/letsencrypt/live/sudachinet.jp/cert.pem ← 追加ホスト用公開鍵を指定 SSLCertificateKeyFile /etc/letsencrypt/live/sudachinet.jp/privkey.pem ← 追加ホスト用秘密鍵を指定 SSLCertificateChainFile /etc/letsencrypt/live/sudachinet.jp/chain.pem ← 追加ホスト用中間証明書を指定
ssl.conf編集
[root@centos ~]# vi /etc/httpd/conf.d/ssl.conf --削除(ここから)-- <VirtualHost _default_:443> ・ ・ ・ </VirtualHost> --削除(ここまで)--
Webサーバー再起動
[root@host3 ~]# systemctl restart httpd
動作確認
[root@host3 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since 土 2017-05-06 13:45:58 JST; 46s ago
Docs: man:httpd(8)
man:apachectl(8)
Process: 29305 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
Main PID: 29311 (httpd)
Status: "Total requests: 9; Current requests/sec: 0.111; Current traffic: 1.3KB/sec"
CGroup: /system.slice/httpd.service
├─29311 /usr/sbin/httpd -DFOREGROUND
├─29312 /usr/sbin/httpd -DFOREGROUND
├─29313 /usr/sbin/httpd -DFOREGROUND
├─29314 /usr/sbin/httpd -DFOREGROUND
├─29315 /usr/sbin/httpd -DFOREGROUND
├─29316 /usr/sbin/httpd -DFOREGROUND
├─29317 /usr/sbin/httpd -DFOREGROUND
├─29318 /usr/sbin/httpd -DFOREGROUND
├─29322 /usr/sbin/httpd -DFOREGROUND
├─29323 /usr/sbin/httpd -DFOREGROUND
└─29324 /usr/sbin/httpd -DFOREGROUND
5月 06 13:45:57 host3.sudachi.jp systemd[1]: Starting The Apache HTTP Server...
5月 06 13:45:58 host3.sudachi.jp systemd[1]: Started The Apache HTTP Server.
