私は専用のDebian 6に2つの異なるWebアプリケーションをインストールしました。最初のものは/var/www/cast内にあり、割り当てられたURLは`です。
example.example.com/キャスト
`
私はAirtimeと呼ばれる2番目のものをインストールしました。2番目のインストールではインストールパスが提供されなかったため、どこかに自動的にインストールされました。今では最初のものを入力しようとすると、2番目のものが表示されます。
example.example.com/キャスト
それはAirtimeにつながります。
例.例.com
それはそこにもつながります。
これはairtime-vhostファイルのエントリです
<VirtualHost *:80>
ServerName example.example.com
#ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot /usr/share/airtime/public
DirectoryIndex index.php
SetEnv APPLICATION_ENV "production"
<Directory /usr/share/airtime/public>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
両方に固有の URL を付与する方法について何かご意見はありますか?
答え1
Airtime には独自の Web サーバーが付属しているようですが、「cast (それが何であれ)」には付属していないようです。これは正しいですか?
とにかく、一般的な問題はさまざまな方法で対処できます。
可能であれば、両方のアプリケーションを同じ Web サーバー内で実行できます。これは、アプリケーションの 1 つが、他のアプリケーションと互換性のない非常に特殊なバージョンの Web サーバー (Airtime 構成ファイルに基づく Apache を想定) に依存している場合にのみ不可能です。ただし、両方のアプリケーションを実行するのに十分な、必要な Apache モジュールをすべて Apache の単一のインスタンスにロードできる場合は、各アプリケーションをドキュメント ルート内の別のパス (例: /var/www/airtime と /var/www/cast) に配置するだけで、「そのまま動作します」。または、/var/www への simlink または Apache 構成ディレクティブを使用して、ファイル システム内の任意のディレクトリをドキュメント ルートにマップできます。
2 つの異なる Web サーバーを異なるポートで実行できます。これにより、少なくとも 1 つのインスタンスの URL が変更され、ドメインの後にポート番号が必要になります (
http://example.com:8080/blah
は:8080
ポートです) (1024 より大きく 65000 より小さい値を選択することをお勧めします。また、使用する前に番号を Google で検索して、既に実行しているサービスのよく知られているポートではないことを確認してください)。2 つの異なる Web サーバーを異なる IP アドレスで実行できます。
https
この方法では、ポートのデフォルトを 80 (または の場合は 443) に維持できますが、2 つの異なる IP が必要になります。2 つの異なる Web サーバーを同じ IP アドレスで異なるサブドメインで実行できます。URL 書き換えを使用して、
http://airtime.example.com
エアタイム アプリケーションへのリクエストとhttp://cast.example.com
キャスト アプリケーションからのリクエストを自動的にマッピングできます。上記のすべては、構成が十分に堅牢であれば、1 つの Web サーバー内で実行することもできます。Apache Web サーバーは、1 つの Web サーバー インスタンス内で上記のすべてを実行できるほど堅牢ですが、一部の選択肢では、より特殊な構成設定が必要になります。1 つの Web サーバー インスタンス内ですべてを実行することを強くお勧めします。初めこの方法はより柔軟で管理が容易であり、さらに、前者の場合はユーザーにとって、後者の場合は管理者にとって物事を複雑にするポートや IP アドレスを気にせずに構成できる可能性が高いためです。
Airtime 構成の問題は、 の vhost になろうとしていることです。*:80
つまり、ポート 80 上のサーバーへのすべてのリクエストが、airtime のドキュメント ルート (つまり ) にマップされることになります。 application と application の/usr/share/airtime/public
両方を同じ vhost 内に収める必要があります。そうでない場合は、airtime の vhostを から のように制限して、そのサブドメインへのリクエストのみが airtime に渡されるようにします。cast
airtime
*:80
airtime.example.com:80
Debian に組み込まれている Apache の設定は/etc/apache2/
ディレクトリにあるので、そこに移動して を見てくださいapache.conf
。ディレクティブもあることに注意してください<VirtualHost *:80>
。つまり、ポート 80 のすべてのリクエストを処理すると主張する仮想ホストを 2 つ持つことはできません。そのうちの 1 つだけが勝つことになります。そこに問題があります。