問題:
サーバーrails new TestApp
のディレクトリを使用してRailsプロジェクトのスケルトンを作成しました。/var/www/
からサイトにアクセスすると、Rails のデフォルトの index.html が表示され、適切に機能します (つまり、Rails のロゴが表示され、[アプリケーションの環境について] をクリックすると、サーバーで使用されている環境仕様の正しいリストが表示されます)。サーバーが実行されているのと同じネットワーク。ただし、サーバーとは別のネットワーク上のマシンからサイトにアクセスすると、ページは表示されますが、Rails のロゴ イメージが表示されず、[アプリケーションの環境について] をクリックすると、ページに次のエラーが表示されます。
Not Found
The requested URL /TestApp/rails/info/properties was not found on this server
そして、その URL は存在しないため、見つからないはずです。ただし、TestApp/public/rails/info/properties
存在します。
構成:
サイトが存在し/var/www/TestApp
、サブ URI からアクセスします。www.mydomain.com/rails からプロジェクトにアクセスできるように、次のようなシンボリック リンクを作成しました/var/www/
。私のApache構成は次のとおりです。簡潔にするために、タグ内の一部を省略、変更、または短縮したことに注意してください。rails
rails -> /var/www/TestApp/public
<VirtualHost>
LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/ex$
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.mydomain.com
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
.
.
.
#Rails Configuration
RailsBaseURI /rails
RailsEnv development
PassengerUserSwitching off
PassengerDefaultUser www-data
<Directory /TestApp/public>
Options FollowSymLinks -MultiViews
AllowOverride All
Allow from all
</Directory>
#End Rails Configuration
.
.
.
</VirtualHost>
いくつかのこと:適切なフォルダーは、Passenger のドキュメントで定義されている適切なアクセス許可を持つによって所有されています。symlink と RailsBaseURIwww-data
の設定をセットアップするときは、Passenger のドキュメントに従いました。
サーバーが存在するのと同じネットワークからウェブサイトにアクセスすると、すべてが機能しているように見えるので、ここで途方に暮れていると思います。別のネットワークからサイトにアクセスするとうまくいかない理由はわかりませんが、特定のリソース/アセット (Rails ロゴなど) へのパスが正しく解決されていないように感じます。シンボリックリンクが不適切に設定されているか、Apache 設定に何か問題があるのでしょうか?
どんな助けでも大歓迎です。