Capistrano で展開された Ubuntu/Apache/Passenger サーバーに最初の Rails アプリを展開しようとしています。すべての Rails アプリが存在するディレクトリを指すように仮想ホストをセットアップしました。
これが私の仮想ホストファイルです:
<VirtualHost *:80>
ServerName rails.mydomain.com
ServerAlias rails.mydomain.com
DocumentRoot /var/www/vhosts/rails.mydomain.com
<Directory /var/www/vhosts/rails.mydomain.com>
Allow from all
AllowOverride all
Options -MultiViews -Indexes
</Directory>
# PassengerAppRoot /var/www/vhosts/rails.mydomain.com
RailsBaseURI /myappname
# RailsBaseURI /myappname2
# RailsBaseURI /myappname3
Include /etc/apache2/production-expires.conf
CustomLog /var/log/apache2/rails.mydomain.com-access_log common
ErrorLog /var/log/apache2/rails.mydomain.com-error_log
</VirtualHost>
Rails アプリ (rails.mydomain.com/myappname) をロードすると、次のようになります。
Error message:
No such file or directory - config/environment.rb
Exception class:
Errno::ENOENT
Application root:
/var/www/vhosts/rails.mydomain.com
config/environment.rb があります。cap deploy を実行した後、SSH 経由で存在を確認しました。
何が欠けているのでしょうか。何かが正しく指されていないように感じます。アプリケーション ルートが、実際の /rails.mydomain.com/myappname フォルダーではなく、/rails.mydomain.com フォルダーを指していることがわかります。