スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ServersmanのVPS(CentOS)にRuby on Rails3を導入する

Rails3の導入記録

Serversman エントリープラン
OS Cent OS(32bit)
MySQL 5.0.77
Ruby 1.9.2p0 (2010-08-18 revision 29036)
gem (Rubyのパッケージシステム)1.3.7

gccのインストール
yum install gcc

Ruby(Rails?)で依存するパッケージをインストール
yum install zlib-devel openssl-devel readline-devel

MySQL インストール
yum install mysql-server

バージョン確認
yum info mysql-server

MySQL設定
vi /etc/my.cnf
--------------------------------------------
[mysql]<--追記
default-character-set=utf8<--追記

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
character-set-server=utf8<--追記

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
--------------------------------------------
MySQL 起動
/etc/init.d/mysqld start
ログイン
mysql -u root
ユーザの確認
select user, host, password from mysql.user;
不要ユーザの削除
delete from mysql.user where user = ' ';
再度、不要ユーザが削除されたことを確認
select user, host, password from mysql.user;
ユーザ情報の反映
flush privileges;

Rubyのインストール
cd /usr/local/src
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.gz
tar zxvf ruby-1.9.2-p0.tar.gz
cd ruby-1.9.2-p0
./configure
make
make install

ここでREADMEとか読んでみる。ダウンロードURLとかも書いてある。
READEME読むと色々書いてるなー
--------------------------------------------------
* How to get Ruby

The Ruby distribution files can be found in the following FTP site:

ftp://ftp.ruby-lang.org/pub/ruby/

1. If ./configure does not exist or is older than configure.in,
run autoconf to (re)generate configure.

./configureがなかったら、autoconfを実行してください


2. Run ./configure, which will generate config.h and Makefile.
./configureを実行する。これはconfig.h, Makefileを生成する

3. Edit defines.h if you need. Usually this step will not be needed.
必要ならdefines.h を編集してね。普通は必要ないよ。

4. Remove comment mark(#) before the module names from ext/Setup (or
add module names if not present), if you want to link modules
statically.

If you don't want to compile non static extension modules
(probably on architectures which does not allow dynamic loading),
remove comment mark from the line "#option nodynamic" in
ext/Setup.

うーん、関係なさそう

5. Run make.
makeを実行する

6. Optionally, run 'make test' to check whether the compiled Ruby
interpreter works well. If you see the message "test succeeded",
your ruby works as it should (hopefully).
make testでrubyインタプリタが正常に動作するかチェックする

7. Run 'make install'

This command will create following directories and install files
onto them.

* ${DESTDIR}${prefix}/bin
* ${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}
* ${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}
* ${DESTDIR}${prefix}/lib
* ${DESTDIR}${prefix}/lib/ruby
* ${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}
* ${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}
* ${DESTDIR}${prefix}/lib/ruby/site_ruby
* ${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}
* ${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}
* ${DESTDIR}${prefix}/lib/ruby/vendor_ruby
* ${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}
* ${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY PLATFORM}
* ${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}
* ${DESTDIR}${prefix}/share/man/man1
* ${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system

If Ruby's API version is `x.y.z', the ((|${MAJOR}|)) is `x', the
((|${MINOR}|)) is `y', and the ((|${TEENY}|)) is `z'.

NOTE: teeny of the API version may be different from one of
Ruby's program version

You may have to be a super user to install ruby.
make installを実行してください。
バージョン番号に対応して、上記のディレクトリができるらしい。



--------------------------------------------------

Rubyインストール後の確認
which ruby
ruby -v

Rails のインストール
gem i rails
確認
rails -v

簡単なアプリ作成
mkdir /var/www/rails
cd /var/www/rails
DBをMySQLで指定してアプリ作成開始
rails new bbs -d mysql
依存するパッケージを全てインストール
bundle install
雛形作成
rails g scaffold top title:string comment:text

config/database.yml に定義されているデータベースを作成
MySQLにログイン
mysql -u root -p
create database bbs_development;
create database bbs_test;
create database bbs_production;
exit

gem install mysql2
rakeで、自動生成した設定ファイルからテーブルを作成する
rake db:migrate
警告が出て、rakeが失敗する。
WARNING: This version of mysql2 (0.3.2) doesn't ship with the ActiveRecord adapter bundled anymore as it's now part of Rails 3.1
WARNING: Please use the 0.2.x releases if you plan on using it in Rails <= 3.0.x
rake aborted!
Rails 3.0系(今これ)を使う場合にはmysql2の0.2系を使わないとだめ、らしい。
参考URLは下記。
http://stackoverflow.com/questions/5840742/version-of-mysql2-0-3-2-doesnt-ship-with-the-activerecord-adapter-bundled-anym

アプリケーション名フォルダ配下のGemfileを以下の通り編集する
vi /var/www/rails/bbs/Gemfile
ー---------------
gem 'mysql2', '< 0.3'
ー---------------
再度bundle install
もう一度、rakeで表を作成してみると、またエラーが
---------------------
rake aborted!
Access denied for user 'root'@'localhost' (using password: NO)
---------------------
ググると、database.ymlを編集する必要があるらしい。
using password : NOとあるから ここにMySQLのログインパスワードを下記のように追加してやる必要があるのだろう。
---------------------
production:
adapter: mysql
database: database_name
username: database_user
password: database_password <--ここ
---------------------

database.ymlの該当行を全て修正して、再度scaffold作成
rails g scaffold top title:string comment:text
再度rakeを実行
rake db:migrate
今度はうまく行った!ここまで長かった。

railsに付属しているWEBrick(Rubyを解釈できるアプリケーションサーバ)を起動する
ブラウザから以下のURLにアクセス。
http://(VPSのIPアドレス):3000/tops

正常にサンプルアプリが表示された。
今日はここまで。環境構築めんどくさい。。。



スポンサーサイト
プロフィール

tjnet777

Author:tjnet777
Solaris, VPNのサポート業務を1年

金融系SIerで業務アプリの開発、メンテを3年半

離職して大学院大学 1年生

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。