PHPからruby on railsに環境を切り替えてみる(共存)
こんにちは。ぽんです。
やっぱりruby!?ってことで今までずっとPHPを使って開発をしてきましたが、
本格的にrailsに乗り換えようと決心した。
本格的に導入したことがなかったので今更ながらrailsのインストールまでをメモ。
WebSVはnginxにしたいところだけどapache
で既にPHPが乗っている環境にrailsのインストールまでして画面表示までを行う。
rubyをインストールしないと話にならないのでrbenvを利用してrubyをインストールする
① rbenvのインストール
$ cd $ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
次に環境変数の設定
$ echo 'export PATH=$HOME/.rbenv/bin:$PATH' >> ~/.bash_profile $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile $ exec $SHELL -l $ rbenv -v rbenv 0.4.0-183-gc18a3f9
rbenvのインストール完了!
ただ、rbenvだけではrubyのインストールが簡単に行えないためruby-buildをインストールする必要がある
② ruby-buildのインストール
$ cd $ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
次にインストールしたいrubyを確認
$rbenv install --list Available versions: 1.8.6-p383 1.8.6-p420 1.8.7-p249 1.8.7-p302 1.8.7-p334 1.8.7-p352 1.8.7-p357 1.8.7-p358 1.8.7-p370 1.8.7-p371 1.8.7-p374
↑ こんな感じでいっぱいでてくる。 こっから選んでコマンドうつだけでインストールは完了!なんて便利!
③ rubyのインストール
とりあえず今回は2.2.0をインストール
$ rbenv install 2.2.0
結構時間かかるので、コーヒーでも飲みながらネットサーフィン。やべ。まとめおもしれ
お、気付いたら終わってた!
ということで使用するrubyのバージョンを指定する
$ rbenv rehash $ rbenv global 2.2.0 $ ruby -v ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
こう表示されれば問題無くインストール完了
④ railsのインストール!
$ gem install rails
はいエラー
nokogiriがうんたらかんたらと怒られる。
調べた結果これでいけるらしい。
$ gem install nokogiri -- --use-system-libraries
もう一度
gem install rails
ほほぉ!入った!
$ rbenv exec rails -v Rails 4.2.4
⑤ railsプロジェクトの作成
$ cd [railsプロジェクトを作成したいディレクトリ] $ rails new example -d mysql
※MySQLを利用のため あ、なんか失敗した。。
mysql2のgem installでこけてる。。
ふむ。mysql-develが足りないと。ということで
$ sudo yum install mysql-devel $ gem install mysql2
よし!!!!そしてはい、もういちど〜
$ rails new example -d mysql
おっけ!とおった!
exampleというプロジェクトのディレクトリができているはず
Rails環境をApache上で動かすにはPhusion Passengerというのが必要らしい
⑥ gemでPassengerをインストール
$ gem install passenger Fetching: passenger-5.0.21.gem (100%) Building native extensions. This could take a while... Successfully installed passenger-5.0.21 Parsing documentation for passenger-5.0.21 unable to convert "\x88" from ASCII-8BIT to UTF-8 for src/cxx_supportlib/vendor-modified/boost/thread/future.hpp, skipping unable to convert "\x97" from ASCII-8BIT to UTF-8 for src/cxx_supportlib/vendor-modified/boost/utility/declval.hpp, skipping Installing ri documentation for passenger-5.0.21 Done installing documentation for passenger after 52 seconds 1 gem installed
⑦ passenger-install-apache2-moduleを実行
$ cd .rbenv/versions/2.2.0/bin $ ./passenger-install-apache2-module -------------------------------------------- Installation instructions for required software * To install Curl development headers with SSL support: Please install it with yum install libcurl-devel * To install Apache 2 development headers: Please install it with yum install httpd-devel * To install Apache Portable Runtime (APR) development headers: Please install it with yum install apr-devel * To install Apache Portable Runtime Utility (APU) development headers: Please install it with yum install apr-util-devel If the aforementioned instructions didn't solve your problem, then please take a look at our documentation for troubleshooting tips: https://www.phusionpassenger.com/library/install/apache/ https://www.phusionpassenger.com/library/admin/apache/troubleshooting/
ほいエラー。言われたとおりにインストール
もういっちょ
$ ./passenger-install-apache2-module -------------------------------------------- Almost there! Please edit your Apache configuration file, and add these lines: LoadModule passenger_module /home/marisa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/passenger-5.0.21/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /home/marisa/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/passenger-5.0.21 PassengerDefaultRuby /home/marisa/.rbenv/versions/2.2.0/bin/ruby </IfModule> After you restart Apache, you are ready to deploy any number of web applications on Apache, with a minimum amount of configuration! Press ENTER when you are done editing. --------------------------------------------
終わったっぽい。
↑ これをapacheの設定ファイルに貼れと命令されたので社畜ばりにいうことを聞いてみる。
publicディレクトリにとりあえずindex.htmlをおいて接続テストしてみる。
うごいた!!!!!
よし、こっからガッツリやるか。