Debianだとaptでgem1.2.0が入ったりして面倒。
そして、VMwareだと今のメインサーバーでは起こらなかったエラーがでてorzestだったのでUbuntuで。
Ubuntuインストール時に「LAMP」と「OpenSSH」を選択しただけで、他はまっさらな状態です。
まず、お約束。
$ sudo aptitude update $ sudo aptitude upgrade
Rubyのインストール
$ sudo aptitude install -y ruby
gemのインストール。
$ sudo aptitude install -y rubygems $ gem -v 1.3.5
Debianだとaptでは1.2.0が入るので色々と面倒くさい。
現在のメインサーバーではDebianで1.3.5にしたが、結構大変。
Ubuntuはここが楽なのでこれからRails環境はUbuntuで構築しようと思いました。
Railsのインストール。
$ sudo gem install rails
Passengerのインストール
$ sudo gem install passenger
Ruby1.8-devが足りないと言われる。
$sudo aptitude install -y ruby1.8-dev
もう一度
$ sudo gem install passenger
ちゃんと入りました。
Apacheモジュールも入れましょう。
$ sudo passenger-install-apache2-module
あれ?
CommandNotFoundが出る。
おっかしいなぁーと思い、Fileを探してみる。
$ find / -name passenger-install-apache2-module /var/lib/gems/1.8/gems/passenger-2.2.7/bin/passenger-install-apache2-module /var/lib/gems/1.8/bin/passenger-install-apache2-module
うん、ちゃんとある。
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
あぁ、PATHが通ってないのか。
何度も使う物じゃないんで、フルパス指定。
$ sudo /var/lib/gems/1.8/bin/passenger-install-apache2-module
「1」を入力してEnter
すると、Passengerさんは優しいので足りない物を教えてくれる。
* GNU C++ compiler... not found
* Ruby development headers... found
* OpenSSL support for Ruby... not found
* RubyGems... found
* Rake... found at /var/lib/gems/1.8/bin/rake
* Apache 2... found at /usr/sbin/apache2
* Apache 2 development headers... not found
* Apache Portable Runtime (APR) development headers... not found
* Apache Portable Runtime Utility (APU) development headers... not found
必要な物をそれぞれインストール。
$ sudo aptitude install -y g++ $ sudo aptitude install -y libopenssl-ruby1.8 $ sudo aptitude install -y apache2-threaded-dev
もう一度
$ sudo /var/lib/gems/1.8/bin/passenger-install-apache2-module
うん、OK。
最後にこんなメッセージが出ます。
- -
The Apache 2 module was successfully installed.
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.7/ext/apache2/mod_passenger.so
PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.7
PassengerRuby /usr/bin/ruby1.8After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!Press ENTER to continue.
- -
Deploying a Ruby on Rails application: an example
Suppose you have a Rails application in /somewhere. Add a virtual host to your
Apache configuration file and set its DocumentRoot to /somewhere/public:
ServerName www.yourhost.com
DocumentRoot /somewhere/public # <-- be sure to point to 'public'!
AllowOverride all # <-- relax Apache security settings
Options -MultiViews # <-- MultiViews must be turned off
And that's it! You may also want to check the Users Guide for security and
optimization tips, troubleshooting and other useful information:/var/lib/gems/1.8/gems/passenger-2.2.7/doc/Users guide Apache.html
Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-)
http://www.modrails.com/Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.
Apacheの設定をこういう風に変えてねっていうメッセージです。
本当Passengerさんは優しいですね。
/etc/apache2/httpd.confに追記(この時点では空)
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.7/ext/apache2/mod_passenger.so
PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.7
PassengerRuby /usr/bin/ruby1.8
んで、DocumentRootに入れてやるためにRailsでdemoを作ってみる。
$cd /home/userName $rails demo Command Not Found aptでRails入れてあげてね!
あっるぅぇー?
単純にPATHが通ってない(ぉ
$ ~/.bashrc 末尾に以下を追加。 #add 2009/11/30 export PATH=/var/lib/gems/1.8/bin:$PATH
んで、読み直し。
$ source ~/.bashrc
確認
$ rails -v Rails 2.3.5
よし。
んで、
$Rails demo
色々Createされて成功。
次は今回は
今回は/etc/apache2/sites-available/defaultを直接編集。
んで、アクセス。
"Welcome aboard"画面がちゃんと出る。
とりあえず、これでRailsを弄る最低限の設定は終りました。