For Want Of A Better Word

【Ruby】CentOS6.5にrails環境構築-scaffolldでアプリ作成まで

      2015/04/18

CentOS6.5にRubyOnRails環境をyumでインストールする記事のまとめ。
とりあえずアプリの起動まで。(思いつきで作るならCakeの方がいいんでないっていうのはおいといて。。)

【涙の元記事たち】
【Ruby】yumでruby1.9.3をインストール – For Want Of A Better Word
【Ruby】RailsをCentOS6.5へ。苦労した… – For Want Of A Better Word
【Ruby】RailsをCentOS6.5 | mysqlへの接続-涙の玉突きエラー(`;ω;´)- アプリ起動 – For Want Of A Better Word

まとめ

前提

(全体的に古いなー)
・CentOS6.5
・Rails 3.2.8
・ruby1.9.3
⇒リポジトリからrubyを入れると1.8.7これではrailsがgemで入らないので、Ruby1.9.3をruby193として入れる。
その場合ruby系のコマンドを打つには下記を先に打たないといけない。

scl enable ruby193 bash

・DBはmysql5.5を利用。

手順

①ruby193のインストール

②Railsのインストール

(1)ruby-develのインストール

(2)gem(rubyライブラリインストールツールのインストール)

(3)railsのインストール

Railsのインストール確認

(4)mysql5.5、develのインストール

※mysql5.5のインストールは下記リンク参照


【シンプル】CentOS6にMySQL5.5をyumで簡単にインストールする手順田舎に住みたいエンジニアの日記 | 田舎に住みたいエンジニアの日記

(5)mysqlに接続するRailsアプリの作成
アプリを作成し対場所に移動して
>|sh|
rails new アプリ名 -d mysql #mysqlを指定
|

該当のフォルダと各種ファイルが作成される。
ここのパスは後でバーチャルホスト設定に使う。

③Apacheと連携(Passengerのインストール)

(1)passengerのインストール

(2)インストール先に移動して、ファイルを実行

(3)apache(httpd.conf)にpassengerのロードモジュール設定を追加

LoadModule passenger_module /opt/rh/ruby193/root/usr/local/share/gems/gems/passenger-4.0.57/buildout/apache2/mod_passenger.so

(4)apacheにバーチャルホスト設定を追加
・リッスンポートは任意で変更 (80ならそれでよし)
・アプリフォルダに先のアプリ作成先のフォルダを記入

Listen 8000

ServerName *:8000
#PassengerEnabled on
# !!! Be sure to point DocumentRoot to ‘public’!
DocumentRoot /アプリフォルダ/public

# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
# Uncomment this if you’re on Apache >= 2.4:
#Require all grante


apache 再起動でバーチャルホストに接続して、下記ページが表示されればOK

http:/example.com:8000/

f:id:fz6:20150122165833p:plain

⑤アプリの設定

(1)各種設定変更

  • config/database.ymlの接続先db名とID、パスを設定
  • アセットのプリコンパイル自動設定

  • キャッシュやログ書き込み用のtmp以下を777に

(2)各種ファイルをscaffoldで作成
nodejs、その他のインストール

(3)scaffold db:migrateの実行

(4)サイトにアクセス

http:/example.com:8000/posts/

下記みたいな管理画面が表示されればOK

f:id:fz6:20150122155130p:plain

OK

もろもろ遭遇したエラー

構築時のエラー
  • ERROR: Error installing rails:i18n requires Ruby version >= 1.9.3.

ruby1.8.7でrailsをインストールしようとすると下記エラー
対策:ruby1.9.3を入れ直し

  • 「”mkmf.rb can’t find header files for ruby”」

gem railsでインストールするときに発生。
対応:ruby-devel(ruby193-ruby-develの)インストール

【参考】“mkmf.rb can't find header files for ruby”の対応 – Qiita

  • 「Could not find gem ‘mysql2 (>= 0) ruby’ in the gems available on this machine.」

mysql2ドライバーがございません。
gemかbundlerでインストール。

  • 「mysql.h is missing. please check your installation of mysql and try again.」

mysql-develがござません。yumでインストール。

【参考】mysql.h is missing … – Qiita

Railsアプリのエラー
  • ActionView::Template::Error (application.css isn’t precompiled):

アセットがプリコンパイルされてないよー

【参考】Rails 3.2のproduction環境でisn't precompiledと出る場合の対処 – Qiita

  • node: error while loading shared libraries: libhttp_parser.so.2: cannot open shared object file: No such file or directory

nodejsのエラー

  • node: error while loading shared libraries: libuv.so.0.10: cannot open shared object file: No such file or directory

nodejsのエラー

だいたいこんな感じ。

 - centos, ruby, 未分類

  関連記事

no image
印刷ボタンの設置方法

Web&Peace http://bost.bostudio.co.j …

no image
DAO(プログラミングの問題)

Data Access Object(DAO)とは、ある種のデータベースや永続性 …

ruby-logo
[ruby][rails]Model.whereでの複数検索条件の設定

パラメータの有無により検索で指定する項目が代わる場合、、、   [cr …

no image
欲しい画像がいっぱい

ドキュメントやWEBサイト作成に便利 The Noun Project http …

no image
mauticのカスタムフィールドでIDとか、属性を取るときは「パブリックに更新可能」を「はい」にする

そんだけ。 意外と苦労した。。