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」です。
おわりに
次回はnginxとUnicornをセットアップします。
連載一覧
- nginx+UnicornでRedmineを動かす 1/3 「Redmineのインストール」編
- nginx+UnicornでRedmineを動かす 2/3 「nginx+Unicornの設定」編
- nginx+UnicornでRedmineを動かす 3/3 「サブディレクトリ」編