タグ : Ruby

Amazon LinuxにRuby2.0とRails4.0をインストール


AWS EC2(Amazon Linux)にRuby2.0とRails4.0をインストール

環境

AWS EC2
OS: Amazon Linux (2013.09-release)
Ruby: 2.0.0p247
Rails: 4.0.0

手順

  1. 必要なパッケージのインストール
    sudo yum -y install gcc
    sudo yum -y install gcc-c++
    sudo yum -y install zlib-devel
    sudo yum -y install httpd-devel
    sudo yum -y install curl-devel
    sudo yum -y install sqlite-devel
  2. ruby2.0.0のインストール
    mkdir src
    cd src
    wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz
    tar xzf  ruby-2.0.0-p247.tar.gz
    cd ruby-2.0.0-p247
    ./configure
    make
    make test
    sudo su -
    cd /home/user/src/
    make install
  3. OpenSSLモジュールのインストール
    cd ext/openssl
    ./configure
    make
    make install
  4. railsインストール
    gem install bundler
    gem install rdoc
    gem install rails
    rails -v
  5. sqlliteインストール
    gem install sqlite3
  6. Unicornインストール
    gem install unicorn
  7. nginxインストール
    sudo yum -y install nginx
    sudo /etc/init.d/nginx start
  8. nginx設定編集中

Base64::encode64は末尾に改行コードがつく


環境

Ruby 1.9.3

対応法

「encode64」ではなく「strict_encode64」を使う。

Base64::encode64('a')
#"YQ==\n"
Base64::strict_encode64('a')
#"YQ=="

Mac上にMySQL・Railsな環境を作る


MacにMySQLをローカルインストールしRailsで使えるようにする

環境

MySQL 5.6.10 x86_64
Mac: OS X 10.8.3(Mountain Lion)
XCode: 4.6.2 →コマンドラインツールの為
Ruby: 1.9.3-p429
Rails: 3.2.13
rbenv: 0.4.0
ruby-build: 20130518
Homebrew: 0.9.4

RubyやRailsの環境構築については「Mac(Mountain Lion)にRubyとRailsをインストール」を参照

手順

  1. MySQLのダウンロード&インストール
    brew install mysql
  2. MySQLの起動
    mysql.server start
  3. MySQLにログインしテスト用データベース構築
    sudo mysql
    CREATE DATABASE test_db;
    CREATE USER test_user@localhost IDENTIFIED BY 'test_pass';
    GRANT ALL PRIVILEGES ON test_db.* TO test_user;
  4. Railsアプリ枠組みの生成(好きなディレクトリ上で)
    rails new test1 -d mysql
  5. Railsアプリのデータベース設定
    development:
      adapter: mysql2
      encoding: utf8
      reconnect: false
      database: test_db
      pool: 5
      username: test_user
      password: test_pass
      host: localhost
    
    test:
      # 省略
    production:
      # 省略
    
  6. テーブルに対応したモデルの作成とマイグレーション
    rails generate model TestTable title:string
    rake db:migrate
  7. 初期データをインサートするためにseeds.rbを編集
    # encoding: utf-8
    TestTable.create(title: 'タイトル01')
    TestTable.create(title: 'タイトル02')
    
  8. rakeコマンドで初期データの投入
    rake db:seed
  9. 初期データを表示させるコントローラの作成と記述
    rails generate controller Test
    class TestController < ApplicationController
      def list
        @test_tables = TestTable.all
      end
    end
    
  10. 初期データを表示するビューの作成と記述
    <% @test_tables.each do |test_table| %>
    タイトル: <%= test_table.title %><br />
    <% end %>
  11. ルーティング(URLとコントローラの紐付け)の設定
    match 'list' => 'test#list'
    
  12. Railsサーバの起動
    rails server
  13. ブラウザで下記URLへアクセス
    http://localhost:3000/list