【Rails】Apache経由でInternal Server Error(500 Error)が発生して困った
やったこと
基本的にはコチラのサイトを参考に進めていく。
途中躓きながらもrails sever経由での接続までできて、いざApache経由で接続。
sudo vim /etc/httpd/conf/httpd.conf NameVirtualHost *:80 #コメントされているので外す <VirtualHost *:80> #ここから追加 ServerName XXXX.XXXX.XXXX.XXXX # サーバーのIPアドレス DocumentRoot /home/user/testapp/public/ <Directory "/home/user/testapp/public"> Options -MultiViews AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> #ここまで
sudo service httpd restart
ブラウザからhttp://XXXX.XXXX.XXXX.XXXX/に接続
おぉ、マジか・・・。
調べてみると、どうやらPassengerではデフォルトでproductionモードで実行されるとのこと。
よく見れば /rails_root/log/production.log なるものが作られている。サイズは0。
developmentモードで実行するには、Apacheに設定が必要だそうで。
以下のように変更。
sudo vim /etc/httpd/conf/httpd.conf NameVirtualHost *:80 <VirtualHost *:80> RailsEnv development # 追加! ServerName XXXX.XXXX.XXXX.XXXX DocumentRoot /home/user/testapp/public/ <Directory "/home/user/testapp/public"> Options -MultiViews AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
sudo service httpd restart
ブラウザからhttp://XXXX.XXXX.XXXX.XXXX/に接続
無事表示できました。
というわけで、developmentモードでApache使うときはお気をつけて(常識か)