Amazon EC2インスタンスOSを使用しています:ubuntu 14.04
まず、odooサーバーを使用してウェブサイトを設計します。これはアクセスによって行われます。http://example.com:8069
その後、Vestaパネルをインストールし、私のドメインのメールアカウントを作成しました。このアカウントはroundcubeで、次の方法でアクセスできます。http://example.com/webmail
odooでウェブサイトを開発した後、rc.localにルールを追加しました:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8069
私のメインドメインからodoo Webサイトにアクセスできますが、それ以降からそのURLに移動すると、odoo 404ページが送信され、Webメールにアクセスできなくなります。
仕事にはodooとウェブメールが必要です。助けてくれてありがとう。
答え1
問題は、ラウンドキューブがポート80にバインドされることです。 iptablesを使用してすべてのポート80トラフィックをoodoにリダイレクトするまではうまくいきます。これにより、oodoトラフィックは正常に機能しますが、roundcube用のトラフィックもiptablesによってキャプチャされ、oodoに送信されます(したがって、roundcubeにアクセスしようとするとoodo 404ページが表示されます)。
ほとんどのLinuxシステムと同様に、この問題を解決する方法はいくつかありますが、要求を処理するためにリバースプロキシを設定することをお勧めします。プロキシは同じサーバー上で実行でき、ポート80に着信要求を処理できます。リクエストを分析し、必要に応じてroundcubeまたはoodoに渡します。
おそらくNginxをプロキシとして使用し、次のようにします。
- roundcubeをポート8000(またはまだ使用していない他の高いポート)にバインドします。これは、プロキシサーバー用にポート80を取得する必要があるためです。
- Nginxをインストールし、ポート80にバインドされたリバースプロキシとして設定します。外観に関するいくつかの情報は次のとおりです。http://nginx.com/resources/admin-guide/reverse-proxy/
- Nginx設定には、/ webmailに対するすべての要求をキャプチャし、それをlocalhost:8000(roundcubeインストール)にプロキシする場所ブロックがあります。
- 他のすべての要求はlocalhost:8069(oodoインストール)にプロキシ転送されます。
どのプロキシを使用するかは、あなたが好むものによって異なります。私はNginxを使用する可能性が高いですが、Squid、Apache、または他の多くのツールも使用できます。 Webサーバーとしてデフォルトでroundcubeが使用するものはわかりませんが、他のものをインストールせずにoodoリクエストをプロキシするために使用できます.
これは、少なくともあなたが正しい方向に行くことを願っています。