1

Ubuntu Server 12.04でPython 2.7でDjango 1.4を使用しています。1 つのサーバーで複数の Web サイトをホストしようとしています。私はApacheを初めて使用し、仮想ホストをセットアップするときに何か間違ったものを書いたようです.

1 台のサーバーでホストしようとしている 2 つのドメインを所有しています。www.my_first_domain.comそれらを呼び出しますwww.my_second_domain.com

現在、ホストする予定の Django プロジェクトが 3 つ以上あります。1 つのプロジェクトが示されwww.my_first_domain.comます。1 つのプロジェクトが示されwww.my_second_domain.comます。他のすべてのプロジェクトは、 のサブドメインを指しwww.my_second_domain.comます。

すなわち、、、project3.my_second_domain.comなどproject4.my_second_domain.com

これらすべてが正しいIPを指すようにDNSを管理しました。`host www.my_first_domain.comhost www.my_second_domain.com、などでこれを確認しましたhost project3.my_second_domain.com。これらはすべて正しい IP を指しています。

以下は、これを機能させるためにセットアップしたファイルの 3 つの例です。

/etc/apache2/sites-enabled/project1

<VirtualHost *:80>
        ServerName www.my_first_domain.com
        ServerAlias *.my_first_domain.com my_first_domain.com
        DocumentRoot /var/www/project1

        CustomLog /var/log/apache2/www.my_first_domain.com-access.log combined
        ErrorLog /var/log/apache2/www.my_first_domain.com-error.log

        WSGIScriptAlias / /home/user1/website/project1/project1/wsgi.py

        <Directory /home/user1/website/project1/project1>
                <Files wsgi.py>
                        Order deny,allow
                        Allow from all
                </Files>
        </Directory>
</VirtualHost>

/etc/apache2/sites-enabled/project2

<VirtualHost *:80>
        ServerName www.my_second_domain.com
        ServerAlias my_second_domain.com
        DocumentRoot /var/www/project2

        CustomLog /var/log/apache2/www.my_second_domain.com-access.log combined
        ErrorLog /var/log/apache2/www.my_second_domain.com-error.log

        WSGIScriptAlias / /home/user2/website/project2/project2/wsgi.py

        <Directory /home/user2/website/project2/project2>
                <Files wsgi.py>
                        Order deny,allow
                        Allow from all
                </Files>
        </Directory>
</VirtualHost>

/etc/apache2/sites-enabled/project3

<VirtualHost *:80>
        ServerName project3.my_second_domain.com
        DocumentRoot /var/www/project3

        CustomLog /var/log/apache2/project3.my_second_domain.com-access.log combined
        ErrorLog /var/log/apache2/project3.my_second_domain.com-error.log

        WSGIScriptAlias / /home/user3/website/project3/project3/wsgi.py

        <Directory /home/user3/website/project3/project3>
                <Files wsgi.py>
                        Order deny,allow
                        Allow from all
                </Files>
        </Directory>
</VirtualHost>

www.my_first_domain.com にアクセスすると、すべて正しく表示されます。www.my_second_domain.com にアクセスすると、www.my_first_domain.com の内容が表示されます (2 番目のプロジェクトではなく、最初のプロジェクト)。project3.my_second_domain.com にアクセスすると、Internal Server Error.

project3 のエラー ログを見ると、project1 の Django 設定を読み込もうとしているようです。

私のように仮想ホストを使用する場合の代わりにファイルが使用される/etc/apache2/httpd.confという印象を受けていたので、意図的に空にしました。sites-enabledhttpd.conf

他の構成ファイルを変更したとは思いません。私が間違ったことについてのアイデアはありますか?

4

1 に答える 1