(apply-generic op . args)

教育者, 将軍, 栄養士, 心理学者, 親はプログラムする. 軍隊, 学生, 一部の社会はプログラムされる. - 計算機プログラムの構造と解釈 序文

 メモ書きです、読みにくいと思いますがご了承ください。
その内、ちゃんと書き直します。
OSはDebianです。
既にRubyが動いている状態です。


#gem install passenger
#passenger-install-apache2-module
error!

足りないのを教えてくれるのでインストール


#aptitude install g++
#aptitude install apache2-threaded-dev

今回はこいつらが足りなかった。


これらをinstallした再度


#assenger-install-apache2-module

成功!


/etc/apache2/mods-availableに以下のファイルを作成
passenger.load
    LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/apache2/mod_passenger.so

passenger.conf
    PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4
    PassengerRuby /usr/bin/ruby1.8

上記ファイルのPathはご自身のRuby、PassengerのVersionやインストール先によって変わります。
上のファイルを作ったら、下記コマンドを実行。


#a2enmod passenger

ちなみに、a2enmodはApache2EnableModuleと覚えると良いよ。


/etc/apache2/sites-available/defaultの編集
    RailsAutoDetect off
    RailsEnv development
    
        DocumentRoot /var/www/html
        RailsBaseURI /rails
    


これらを追加。


#rails demo

新規プロジェクト作成。


#ln -s ~/demo2/public var/www/html/demo

シンボリックリンクの作成。


apacheの再起動。


#/etc/init.d/apache2 restart

ブラウザでアクセスするもWe're sorry, but something went wrongエラー発生。
database.ymlがsqlliteになっているのと、存在しないデータベースにアクセスしようとしていた。
adapteをmysqlに、databaseをdemo_developmentに、username、password、hostを追加する。


これでindex.htmlが見れました。


参考↓
http://redmine.jp/tech_note/apache-passenger/
http://d.hatena.ne.jp/rx7/20080412/p1
http://d.hatena.ne.jp/Yukkuri/20080825