独自のindex.htmlページではなく、Apache2 Ubuntuデフォルトページが表示されるのはなぜですか?


8

ローカルのウェブサイトのテストに使用しているUbuntu 14.10コンピューターを使用していますが、インターネットに接続できません。その上で、私は7つのウェブサイトを設定しています。ただし、7つのうち2つにアクセスApache2 Ubuntu Default Pageすると、自分のインデックスページではなくが表示されます。

私の知る限り、私はまったく同じプロセスを使用して7つすべてをセットアップしているので、これら2つに何が欠けているのかわかりません。また、Apacheのログディレクトリには、2つのログファイルがerrorありaccess、2つの誤動作しているサイトのそれぞれについて、すべて空です。apache2サービスを再起動してもエラーは発生しません。手順を何度も繰り返したのですが、作業サイトと非作業サイトの違いがわかりません。

この問題の診断にはどのようなオプションがありますか?どういうわけか、より詳細なエラーログを強制できますか?どこかに参照できる別のログがありますか?

以下は.conf、誤動作しているサイトのファイルの例です。

<VirtualHost *:80>
   ServerName www.local_example.com
   ServerAlias local_example.com
   ServerAdmin address@example.com

   DocumentRoot /var/www/Websites/example.com
   <Directory /var/www/Websites/example.com/>
       Options Indexes FollowSymLinks MultiViews
       # pcw AllowOverride None
       AllowOverride All
       Order allow,deny
       allow from all
       # This directive allows us to have apache2's default start page
       # in /apache2-default/, but still have / go to the right place
       # Commented out for Ubuntu
       #RedirectMatch ^/$ /apache2-default/
   </Directory>

   ErrorLog /home/example/Apache_Logs/local_example.com_error.log

   # Possible values include: debug, info, notice, warn, error, crit,
   # alert, emerg.
   LogLevel warn

   CustomLog /home/example/Apache_Logs/local_example.com_access.log combined
   ServerSignature On

</VirtualHost>

2
どのようにして仮想ホストを作成しましたか?にファイルを追加して作成しました/etc/apache2/sites-availableか?もしそうなら、あなたはそれらを有効にしましたsudo a2ensite <your_site_name>か?デフォルトのapacheエラーログファイルには何かがありますか?また、仮想ホストファイルにServerAliasまたはServerNameが構成されていますか?デフォルトのサイトを無効にした場合sudo a2dissite 000-default(で再度有効にできますsudo a2ensite 000-default)、機能しますか?また、Apacheを再起動するのを忘れた可能性もありますか?
Dan

@ダンさん、回答ありがとうございます。に追加してサイトを作成しましたsites-available。デフォルトのエラーログには何も含まれていません。ServerAliashostsファイルで定義しました。000-defaultサイトを無効にしましたが、何も変わりませんでした。Apacheを再起動して何度もリロードしました。
質問者

デフォルトのサイトを無効にしてApacheを再起動しても、デフォルトのindex.htmlページが表示されていましたか、それとも別の仮想ホストのページが表示されていましたか?不正なvhostファイルのコンテンツを投稿できますか?これにより、私たちの手助けがはるかに容易になります。
Dan

@ダン、返事ありがとうございます。先ほど述べたように、提案された変更を行ったとき、何も変更されていません。つまり、まったく同じデフォルトのインデックスページが表示されていました。.conf質問にファイルを追加しました。
質問者

回答:


8

以下をお試しください

詳細ログを有効にする

sudo nano /etc/apache2/apache2.conf

LogLevel変数を見つけて、デフォルトの警告から情報またはデバッグに更新します。debugは最大量の出力を生成します。

# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
# 
LogLevel debug

Apacheを再起動します

sudo service apache2 restart

Apacheには小さな構文チェックツールが含まれています

apache2ctl -t

仮想ホスト定義の確認

apache2ctl -S

この提案をありがとう。ログレベルをデバッグに設定しましたが、まだエラーログファイルにエントリがまったくありません。アクセスログは、サイトを開くたびに表示されますが、それ以外は何も表示されません。
質問者

6

私にとっては、@ Danの提案の1つで解決しました。

sudo a2dissite 000-default.conf
service apache2 reload

どうやら、デフォルトのサイト構成が私のvhost構成を上書きしていたようです。


他のサーバーでは動作が異なり、index.htmlの代わりにindex.phpが読み取られました。非常に卑劣な状況
マルガスパラ

2

インストール後、index.htmlの方が優先度が高いため、デフォルトのUbuntuページが引き続き表示されるのは、このフォルダーvar / www / html /を確認するか、このページの名前を変更するか、このページを削除するだけです。


1

問題は権限であることが判明しました。

外部のディレクトリにWebサイトを保存し、/var/wwwsymlinkで接続している場合、ソースディレクトリとその親ディレクトリにはの権限が必要755です。

いくつかの不明な理由により、2つの誤動作しているサイトに異なる権限がありchmod -R 755、Webサイトディレクトリとそのディレクトリで実行すると問題が解決しました。


chmod -R 755ディレクトリ内のすべてのファイルが「実行可能」としてマークされるため、ディレクトリでは実行しないでください...
Alexis Wilke

@AlexisWilke、正しい権限を設定するためのより良いコマンドは何ですか?
質問者

すべてのディレクトリの権限を変更するのは簡単ではなく、標準ではありません...使用することもできますfind。このような何か:find top-dir-name -type d -exec chmod 755 {} \;
Alexis Wilke、2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.