CentOs 6.2 サーバーに Web アプリケーション (正確には sakai) をインストールしました。sakai は @ip:8080/portal 経由でアクセス可能で、そのアドレスを通常の URL (www.exapmle.com/sakai) に置き換える必要があります。
すでに交換済み:
#<VirtualHost *:80>
# ServerAdmin [email protected]
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
による
<VirtualHost @ip:80>
ServerAdmin webmaster@my_site.com
DocumentRoot /var/www/cmcf
ServerName my_site.com
ErrorLog logs/my_site.com-error_log
CustomLog logs/my_site.com-access_log common
</VirtualHost>
<VirtualHost @ip:8080>
(私のウェブアプリは@ip:8080/portal経由でアクセス可能なので試してみましたが、無駄でした)
しかし、ブラウザから sakai にアクセスしようとすると、404 エラーが表示されます。
**Not Found
The requested URL /portal was not found on this server.
Apache/2.2.15 (CentOS) Server at cmcf.men.gov.ma Port 80**
また、"/opt/apache-tomcat-7.0.29" (sakai がデプロイされている場所) を DocumentRoot にしようとしましたが (おそらく非常に大きな間違いですが、Apache を管理するのは初めてなので...)、同じ 404 エラーが発生しました。
皆様のご提案をいただければ幸いです。
答え1
のSakai 管理者ガイドApache を使用して Tomcat アプリをデプロイする方法についての情報が記載されています。
基本的には、次のような基本的なリバース プロキシ構成 (mod_proxy) を使用して、Apache を何らかのリバース プロキシとして設定する必要があります。
ProxyPass /sakai http://localhost:8080/portal
ProxyPassReverse /sakai http://localhost:8080/portal
Tomcat は localhost:8080 でリッスンしています。
代替案としては、Apache を mod_proxy_ajp でセットアップする方法があります。これにより、Apache はよりネイティブな方法で Tomcat と通信するようになります。シンプルなセットアップの場合は、mod_proxy を使用すれば十分です。その後は、Web サーバー (Apache) とアプリケーション サーバー (Tomcat) が相互にどのように関係しているかという観点から、Web スタックがどのように機能するかをよりよく理解できるはずです。