間違ったDocumentRootを指すApache仮想ホスト


9

私は、仮想ホストを使用して、Ubuntu 12.04.3を実行するDigital OceanでVPSを運用しています。私はここでこのチュートリアルに従って物事をセットアップすることができました:https : //www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts

しかし、数日後、メインドメイン(noelforte.com)に移動してすべてがスムーズに実行されているかどうかを確認しましたが、一時的に設定したランディングページではなく、ディレクトリリストが表示されていました。

奇妙なことに、VHostsで構成したサブドメインは正しいディレクトリを指していましたが、メインドメインはのデフォルトのドキュメントルートを指すように戻りました/var/www

で構成ファイルを削除して/etc/apache2/sites-availableすべてを再度設定しても同じ結果が得られました。サブドメインは正しい場所を指し示し/var/wwwますが、ルートTLDはを指し示したままです。

何がこのような状況を引き起こす可能性がありますか?なぜそれが最初に正しく機能したのですか?

回答:


12

解決しました!実行sudo apache2ctl -Sすると以下が返されます。

VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost media.noelforte.com (/etc/apache2/sites-enabled/media.noelforte.com:1)

デフォルトを含むすべてのサイトを無効にし、必要なサイトのみをアクティブにすることにしました。それで問題は解決しました。

誰かがここに見られるnoelforte.comようになぜ走ってdefault-000いたのか説明できたら:

port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)

これは、正しく構成されていない可能性があるものに光を当てるのに役立ちます。ありがとう!


ServerNameが000-defaultファイルのドメインと同じに設定されたため、同じ問題が発生しました。
ハードボイルドワンダーランド

1

000-defaultファイルを作成する/etc/apache2/sites-availableか、すでに存在する場合は編集します。検索しているサイトに仮想ホストが定義されていない場合に、Webサーバーが指す場所です。

ファイルがにも存在することを確認してください/etc/apache2/sites-enabled。そうでない場合:ln -s /etc/apache2 sites-available/000-default /etc/apache2/sites-enabled/


default私の/etc/apache2/sites-availableディレクトリにはすでにファイルがあります。また、noelforte.comセットアップして有効にする仮想ホストもありますが、vhostファイルで定義されているドキュメントルートを指していません。どうして?
Noel Forte

0

/etc/apache2/sites-enabled/yourdomain.confを編集して、「yourdomain」に「ServerName」を追加する必要があります。例:

<VirtualHost *:80>
    ServerName MyDomain
    DocumentRoot /var/www/myDomainFolder
...
</VirtualHost>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.