nginx+UnicornでRedmineを動かす 1/3 「Redmineのインストール」編

VPS上に自分用のRedmine環境を構築してみました。ここでは、nginx+Unicornを使ってRedmineを動かすまでの手順を紹介します。

nginx+Unicornの環境構築に入る前に、まずはRedmineをインストールして標準のWEBrickで動作を確認します。

Ruby 1.9.x のインストール

CentOSのyumでインストールできるRubyは、現在のところ1.8.xしかありません。1.9.xを使用したい場合はソースからコンパイルします。

Ruby 1.9.xのコンパイルは、予め特定のパッケージがインストールされた状態で行わないと一部の機能が無効な状態でコンパイルされてしまうため注意が必要です。

上記の記事を参考に、私の方では予め次のパッケージをインストールしました。

$ sudo yum install autoconf ncurses-devel libffi-devel openssl-devel libyaml-devel readline-devel procps zlib-devel curl-devel sqlite-devel

Rubyのコンパイルとインストールは以下のとおり。インストールファイルを管理するためにpacoを使用しています。

$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz
$ tar zxvf ruby-1.9.3-p194.tar.gz
$ cd ruby-1.9.3-p194
$ ./configure --prefix=/usr
$ make
$ sudo paco -D make install
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
$ gem -v
1.8.23
$ sudo gem update --system
$ gem -v
1.8.24

Redmineのインストール

Redmineのインストールは以下のページを参考に進めます。

必要なパッケージのインストール

MySQLとImageMagickをインストールします。ImageMagickはガントチャートのPNG形式でのエクスポートで使用するようです。

$ sudo yum install mysql-server mysql-devel
$ sudo yum install ImageMagick ImageMagick-devel

MySQLの設定

パスワード設定、データベースの作成などを行います。

$ sudo cp -p /etc/my.cnf /etc/my.cnf.bak
$ sudo vim /etc/my.cnf
    [mysqld] セクション末尾に character-set-server=utf8 を追加
    [mysql] セクション末尾に default-character-set=utf8 を追加
$ sudo chkconfig mysqld on
$ sudo service mysqld start
$ sudo mysql -uroot
  ・character_set が filesystem, dir 以外すべてutf8になっていることを確認
    mysql> show variables like 'character_set%';
  ・rootユーザーのパスワード変更・匿名ユーザー削除
    mysql> use mysql;
    mysql> update user set password=password('********') where user = 'root';
    mysql> delete from user where user = '';
    mysql> flush privileges;
    mysql> exit;
$ sudo mysql -uroot -p
  ・Redmine用データベースとユーザーの作成
    mysql> create database db_redmine default character set utf8;
    mysql> grant all on db_redmine.* to user_redmine identified by '********';
    mysql> flush privileges;
    mysql> exit;

Redmineのインストール

Redmineをダウンロード・解凍し、設定ファイルを作成します。なお、メール通知を使用しないため「config/configuration.yml」の作成は省いています。

$ wget http://rubyforge.org/frs/download.php/76259/redmine-2.0.3.tar.gz
$ tar zxvf redmine-2.0.3.tar.gz
$ sudo mv redmine-2.0.3 /var/www/redmine
$ cd /var/www/redmine
$ vim config/database.yml
    production:
      adapter: mysql2
      database: db_redmine
      host: localhost
      username: user_redmine
      password: ********
      encoding: utf8

bundlerでRedmineが必要とするGemパッケージをインストールします。

$ sudo gem install bundler
$ sudo bundle install --without development test postgresql sqlite

セッションデータ暗号化用鍵の生成とテーブル作成を行います。

$ rake generate_secret_token
$ RAILS_ENV=production rake db:migrate

以上でRedmineのインストールは完了です。

Redmineの動作確認

WEBrickのWebサーバを起動してRedmineが正しく動作するか確認しましょう。

$ sudo vim /etc/sysconfig/iptables
    以下を追加
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
$ sudo service iptables restart
$ ruby script/rails server webrick -e production

http://IPアドレス:3000/ にアクセスし、正しく表示されることを確認します。デフォルトのログインアカウントは「admin/admin」です。

Redmine 初期画面 Redmine 初期画面

おわりに

次回はnginxとUnicornをセットアップします。

連載一覧

blog comments powered by Disqus