前提・実現したいこと
さくらVPSにて環境構築中です。
バーチャルホストを設定する際にドハマりしてしまいました。
/etc/httpd/conf.d/vhost.confでDocumentRootを設定したものの、効きません。
本来ならば、「/var/www/html/a」フォルダ内の「index.html」を表示したいのですが、実際は「/var/www/html/」を参照しているようで、「Testing 123..」画面が表示されてしまいます。
ご存知の方いらっしゃいましたらお力添え頂きたく存じます。
環境
利用サーバー : さくらのVPS OS : CentOS 7 Apache : 2.4.6
該当のソースコード
/etc/httpd/conf/httpd.confの内容。
読込が重複するため、BameVirtualHostをコメントアウト。
httpd
1IncludeOptional conf.d/*.conf 2#NameVirtualHost *:80
/etc/httpd/conf.d/vhost.confで作成。
mod_sslにてSSL化後、httpd.confに記述していた設定を移動しています。
vhost
1NameVirtualHost (ip address):80 2 3<VirtualHost (ip address):80> 4ServerName a.com 5CustomLog logs/a-access.log common 6ErrorLog logs/a-error.log 7AddDefaultCharset UTF-8 8DocumentRoot /var/www/html/a 9<Directory "/var/www/html/a"> 10 AllowOverride All 11 Require all granted 12</Directory> 13# 移動した設定 start 14RewriteEngine on 15RewriteCond %{SERVER_NAME} =a.com 16RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] 17# 移動した設定 end 18</VirtualHost> 19 20<VirtualHost (ip address):80> 21ServerName b.com 22CustomLog logs/b-access.log common 23ErrorLog logs/b-error.log 24AddDefaultCharset UTF-8 25DocumentRoot /var/www/html/b 26<Directory "/var/www/html/b"> 27 AllowOverride All 28 Require all granted 29</Directory> 30</VirtualHost> 31# 移動した設定 start 32Include /etc/httpd/conf/httpd-le-ssl.conf 33# 移動した設定 end
試したこと
NAMEベースである為、
NameVirtualHost *:80 をNameVirtualHost (ip address):80へ変更し、
<VirtualHost *:80>を<VirtualHost (ip address):80>にした。
記述順序変更や末尾スラッシュ削除、細かな修正を何度も繰り返したものの、改善されず・・。
無効な設定にした場合はページ表示されなくなる為、「/etc/httpd/conf.d/vhost.conf」が反映されていること確実であると思われます。
# httpd -t -D DUMP_CONFIG 2>/dev/null | grep -n -B 1 '^# In' 1:# In file: /etc/httpd/conf/httpd.conf -- 80-EnableSendfile on 81:# In file: /etc/httpd/conf.d/autoindex.conf -- 154-IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t 155:# In file: /etc/httpd/conf.d/phpMyAdmin.conf -- 204-</Directory> 205:# In file: /etc/httpd/conf.d/ssl.conf -- 252-</VirtualHost> 253:# In file: /etc/httpd/conf.d/userdir.conf -- 264-</Directory> 265:# In file: /etc/httpd/conf.d/vhost.conf -- 313-</VirtualHost> 314:# In file: /etc/httpd/conf/httpd-le-ssl.conf -- 326- SSLCertificateKeyFile /etc/letsencrypt/live/3810.pro/privkey.pem 327:# In file: /etc/letsencrypt/options-ssl-apache.conf -- 341- LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common 342:# In file: /etc/httpd/conf/httpd-le-ssl.conf -- 345-</VirtualHost> 346:# In file: /etc/httpd/conf.d/welcome.conf
https://teratail.com/questions/138373
からヒントを得て、SSLの場合は設定を複数記述する必要性があることを理解しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。