やってみたlog

主にPC関連でやってみたことのlog

redmine2.1.4をruby1.9系でyumを使ってawsに入れる際の手順

awsにてawsのインスタンスを作る

下準備

  • まず、yumを最新にする
    $sudo yum -y update

  • ruby1.9系を入れる
    $sudo yum install -y ruby19

  • ruby1.9の開発キット
    $sudo yum install -y ruby19-devel

  • makeする際に必要(わからなくても入れる)
    $sudo yum install -y make

  • cのコンパイルに必要(rubyはcでできている)
    $sudo yum install -y gcc

  • 今回はデータベースにmysqlを使う(redmineが推奨しているため。postgresqlsqliteでも可)
    $sudo yum install -y mysql-server mysql-devel

  • mysqlサーバーを起動しておく
    $/etc/init.d/mysqld start

  • mysqlに入る
    $mysql -u root

  • mysqlのセットアップ
    create database redmine character set utf8;
    create user 'redmine'@'localhost' identified by 'my_password';
    grant all privileges on redmine.* to 'redmine'@'localhost';

ダウンロード作業

http://rubyforge.org/frs/?group_id=1850
* 上記URLからredmineの最新版(今回は2.1.4)をダウンロード
$wget http://rubyforge.org/frs/download.php/76589/redmine-2.1.4.tar.gz

  • tarファイルを解凍
    $tar zxvf redmine-2.1.4.tar.gz

  • ディレクトリを移行
    $sudo mv redmine-2.1.4 /var/www/

インストール作業

  • redmine-2.1.4ディレクトリで作業するためにそちらに移動
    $cd /var/www/redmine-2.1.4

  • fedora17系のrailsのバグがあるためGemfileのgemが並んでるところに下記内容を追記
    $vim Gemfile
    gem "bigdecimal" , "~> 1.1.0"
    gem "minitest"
    なんでバグるのかわかんないですが、これやったら直ります。
    パッケージ多すぎて何が何に効いてるのか調べるのはまた今度

  • Redmineはgemの依存関係を管理するために Bundlerを使う(これ使わないと絶対バグる)
    $gem1.9 install bundler --no-rdoc --no-ri
    ドキュメントとか英語で読めないので、インストールしないために[--no-rdoc --no-ri]を入れる。
    docをインストールしてるとものすごく時間がかかるのでgemいれるときはやったほうがいいです。

  • redmineに必要なgemをbundle経由でダウンロード(いらないものはwithoutで設定する)
    $bundle install --without development test rmagick postgresql sqlite

  • rakeの指定先が古いrubyのままなので、1.9のほうに指定しなおす
    $vim /home/ec2-user/bin/rake
    1行目
    旧: #!/usr/bin/env ruby
    新: #!/usr/bin/env ruby1.9

  • DBの設定ファイルをコピー
    $cp config/database.yml.example config/database.yml

  • DB設定ファイルを編集
    $vim config/database.yml
    production:
    adapter: mysql2
    database: redmine
    host: localhost
    username: redmine
    password: my_password
    :の後にスペースをいれないとエラーになる

  • セッションストア秘密鍵
    $rake generate_secret_token

  • DB上にテーブルを作成
    $RAILS_ENV=production rake db:migrate

  • デフォルトデータをDBに登録
    $RAILS_ENV=production rake redmine:load_default_data
    言語選択が出たらjaと入力してエンター

確認 * WEBrickで起動してみる。
$ruby1.9 script/rails server webrick -e production

  • 3000のポートをあける awsにて操作のため省略

  • 確認する
    http://指定ドメイン:3000

redmineが写れば成功 WEBrickは開発確認用のwebサーバらしいので、実運用は別のwebサーバを使う予定
現在、apacheとpassengerで動かそうとしているが苦戦中