【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使うときはお気をつけて(常識か)
【Rails】feedzirraでRSSを取得してみる
feedzirraでRSSを取得してみる
feedzirraでRSSを取得しようとして、つまらないところでハマったのでメモ。
まずは、gemfileにfeedzirraを登録。
ネットで調べると以下のように登録するとのことで、追加。
vi Gemfile gem 'feedzirra'
んで、いつもの
bandle install
config/application.rbに以下を追加
vi application.rb class Application < Rails::Application config.autoload_paths += %W(#{config.root}/lib) end
lib/tasks内に以下のファイルを作成。
vi update_feed.rb class Tasks::UpdateFeed def self.getrss #RSSを取得する require 'feedzirra' url = ‘http://www.nextsoft.jp/feed/' feed = Feedzirra::Feed.fetch_and_parse(url) end end
んで、実行!
・・・・すると以下のエラーが出てくる。なんじゃいこりゃ。
/Users/hoge/.rbenv/versions/2.0.0-p598/lib/ruby/gems/2.0.0/gems/feedzirra-0.8.0/lib/feedzirra.rb:2:in `<top (required)>': This project has been renamed Feedjira, find out more at feedjira.com. (RuntimeError) from /Users/hoge/.rbenv/versions/2.0.0-p598/lib/ruby/gems/2.0.0/gems/bundler-1.7.12/lib/bundler/runtime.rb:76:in `require' from /Users/hoge/.rbenv/versions/2.0.0-p598/lib/ruby/gems/2.0.0/gems/bundler-1.7.12/lib/bundler/runtime.rb:76:in `block (2 levels) in require' ・・・
読んでみると、どうやらfeedzirraの名前が変わってるっぽい。
This project has been renamed Feedjira, find out more at feedjira.com.
うーん、feedjiraに変えればよろしいのか・・・?
以下のように試す。
vi Gemfile gem 'feedjira'
bandle install
vi update_feed.rb class Tasks::UpdateFeed def self.getrss #RSSを取得する require 'feedjira' url = ‘http://www.nextsoft.jp/feed/' feed = Feedjira::Feed.fetch_and_parse(url) end end
うまくいった。
というわけで、feedzirraを使うときはfeedjiraと読み替えましょう。