自宅のサーバに rails アプリを稼働させようとして、passenger の設定をしていた。
SSL で使いたかったので、httpd.conf の設定後に、/etc/httpd/conf.d/ssl.conf を編集。
<VirtualHost *:443>
ServerName [server_name]
DocumentRoot /var/www/rails/app/public
CustomLog /var/log/httpd/rails/app/ssl-access.log combined
ErrorLog /var/log/httpd/rails/app/ssl-error.log
RailsBaseURI /app
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/certs/server.key
</VirtualHost>
こんな設定を追加して https://server/app にアクセスしたのだが、表示されない。
apache 再起動時に、_default_ VirtualHost overlap on port 443, the first has precedence ってのが表示されていたので、設定がぶつかってるようだ。
というわけで、ssl.conf から既存の VirtualHost 設定をばっさり削除。
これでアクセスできるかと思いきや、500エラーがでる。
ログを見ると passenger が 「/config/environment.rb なんてないよ」ってエラーを吐いている。
どうやらアプリケーションのルートを見つける事ができていないみたいだ。
試しに RailsBaseURI を / にしてみると https://server/ で表示される。
ルートでは別のアプリを今後動かす予定なので、これはまずい。
RailsBaseURI がきかないとは何か設定が足りないのだろうか?
今日はここまで、明日また調べる。