host1.com.conf
Ubuntu 14.04 で Apache2 に仮想ホストを設定しようとしています。ファイルの内容は次のとおりです:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName host1.com
ServerAlias www.host1.com
DocumentRoot /var/www/host1.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
の内容
/etc/hosts
:127.0.0.1 localhost 127.0.1.1 chandni-X451CA 127.0.0.1 host1.com ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
の内容
/etc/apache2/sites-available/default-ssl
:<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin [email protected] DocumentRoot /var/www/host1.com/public_html <Directory /var/www/host1.com/public_html> Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </VirtualHost> </IfModule>
ターミナルから無効化
000-default.conf
および有効化:host1.com
sudo a2dissite 000-default.conf && sudo a2ensite host1.com.conf
Apacheを再起動しました:
sudo service apache2 restart
これらすべてを行った後、
- ローカルホストのページに行くと403禁止しますエラー。
- パブリックIPアドレスをURLとして入力してもページが読み込まれません
- host1.com に移動しても、ページが読み込まれません。
考えられる理由は何でしょうか? どなたか助けていただけませんか??
答え1
このエラーは、Web サーバーが DocumentRoot フォルダーにアクセスできない場合に発生します。DocumentRoot 変数で指定したフォルダーの親フォルダーの権限を確認する必要があります。www-data は親フォルダーへの読み取りおよび実行アクセス権と、DocumentRoot ディレクトリの下のファイルへの読み取りアクセス権を持っている必要があります。ファイルとフォルダーの所有者を www-data に変更するか、他のすべてのファイルに読み取りおよび実行アクセス権を与えることで、この問題を解決できます。