cre8cre8
AskMe♥

世界一やさしいRedmineのインストール方法

まっさらなLinux(Amazon Linux)にredmineをインストールする方法を世界一優しく解説します。
聡明なる諸君は日本語よりシェルスクリプトで話したほうがわかりやすいと思うので、シェルスクリプトを置いときますね。

shell
1sudo yum groupinstall -y "Development Tools"
2sudo yum install -y openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel mysql-server mysql-devel ImageMagick ImageMagick-devel
3sudo service mysqld start
4
5git clone https://github.com/rbenv/rbenv.git ~/.rbenv
6git clone https://github.com/rbenv/ruby-build.git  ~/.rbenv/plugins/ruby-build
7~/.rbenv/bin/rbenv init -
8vi ~/.bash_profile
9source ~/.bash_profile
10
11~/.rbenv/bin/rbenv install --list  # 最新の安定versionのrubyをインストールする
12~/.rbenv/bin/rbenv install 2.3.3
13~/.rbenv/bin/rbenv global 2.3.3
14
15mysqladmin -u root password 'database-password'
16mysql -u root -pdatabase-password -e'CREATE DATABASE redmine DEFAULT CHARACTER SET utf8'
17
18svn co http://svn.redmine.org/redmine/branches/3.3-stable
19cd 3.3-stable/
20
21cp config/database.yml.example config/database.yml
22vi config/database.yml
23
24gem install bundler --no-rdoc --no-ri
25bundle install --without development test --path vendor/bundle
26bundle exec rake generate_secret_token
27RAILS_ENV=production bundle exec rake db:migrate
28RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
29
30bundle exec rails s -eproduction -b 0.0.0.0

そして、詳細解説キボンヌのきゃわぃぃ君たちには下記に優しい世界ばりの解説を記しているので見てほしい。
それではそろそろマジメに解説していこうと思います。

Redmineを動かすために必要なライブラリのインストール

Redmineを動かすためにはLinuxにあらかじめインストールしておく必要があるライブラリがあります。
そのライブラリをインストールするため、yumコマンドを使ってインストールします。

shell
1sudo yum groupinstall -y "Development Tools"
2sudo yum install -y openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel mysql-server mysql-devel ImageMagick ImageMagick-devel

上記コマンドでインストールされるライブラリを簡単にまとめてみました。

インストール完了後にMySQLを起動します。

shell
1sudo service mysqld start

rbenvを使って最新のRubyのインストール

yumでRubyを入れるととんでもなく古いRubyしか無いときがあります。
最近のRailsはRuby2以上を要求してきますので、可能なかぎり最新のRubyを使いましょう。
今回はrbenvを使って現時点でのRubyの最新バージョンをいれます。
(関連する記事)rbenvで入れたRubyを全ユーザが使えるようにする

shell
1git clone https://github.com/rbenv/rbenv.git ~/.rbenv
2git clone https://github.com/rbenv/ruby-build.git  ~/.rbenv/plugins/ruby-build
3~/.rbenv/bin/rbenv init -
4vi ~/.bash_profile
5source ~/.bash_profile
6
7~/.rbenv/bin/rbenv install --list
8~/.rbenv/bin/rbenv install 2.3.3
9~/.rbenv/bin/rbenv global 2.3.3

git cloneでrbenv本体とRubyをビルドするプラグイン ruby-build をダウンロードします。
vi ~/.bash_profileで .bash_profile に下記内容を最後の行に追記し、sourceコマンドで設定をリロードします。

.bash_profile
1export PATH="/home/takumi/.rbenv/shims:${PATH}"
2export RBENV_SHELL=bash
3source '/home/takumi/.rbenv/libexec/../completions/rbenv.bash'
4command rbenv rehash 2>/dev/null
5rbenv() {
6  local command
7  command="$1"
8  if [ "$#" -gt 0 ]; then
9    shift
10  fi
11
12  case "$command" in
13  rehash|shell)
14    eval "$(rbenv "sh-$command" "$@")";;
15  *)
16    command rbenv "$command" "$@";;
17  esac
18}

~/.rbenv/bin/rbenv install --listで最新のRubyバージョンを探してください。
記事執筆時点では2.3.3が最新バージョンでしたので、このバージョンを~/.rbenv/bin/rbenv install 2.3.3でインストールします。
最後にrubyコマンドでrbenvでインストールしたRubyを使えるようにするため、~/.rbenv/bin/rbenv global 2.3.3を実行します。

データベースの準備

Redmineのデータを保存するため、データベースの構築をします。
今回はMySQLを使います。

shell
1mysqladmin -u root password 'database-password'
2mysql -u root -pdatabase-password -e'CREATE DATABASE redmine DEFAULT CHARACTER SET utf8'

mysqladminコマンドではrootユーザのパスワードを設定しています。
上記コマンドでは'database-password'というパスワードを設定しています。

mysqlコマンドでRedmineのデータベースを作成します。
簡略化のため、rootユーザで作業しています。よりセキュアにする場合は他のユーザを作ってゴニョゴニョしてくださいな。

Redmineのインストール

フフフ…今までのはRedmineを使うための準備をしていた序章なのだ…
本当のインストールはここからだっ!!

Redmineのソースコードをダウンロード

さて、ようやくRedmineのインストールです。
Redmine公式ページ曰く、svn使ってチェックアウトしたほうが簡単だよ♡って書いてあったので、svn使います。

shell
1svn co http://svn.redmine.org/redmine/branches/3.3-stable
2cd 3.3-stable/

svn cosvn checkout と同じです。
このコマンドでRedmineのソースコードをダウンロードできます。
ここからは、Redmineの準備をするため、 cd コマンドを使ってディレクトリの移動もします。

データベースの設定ファイルを編集

ダウンロードしてきたばかりのRedmineはデータベースにつなぐことができないので、データベースにつなぐ設定をします。
幸い、Redmineにはデータベース設定ファイルのサンプルを用意してくれているので、これをベースに編集して設定ファイルを作ります。

shell
1cp config/database.yml.example config/database.yml
2vi config/database.yml

cpコマンドを使ってデータベースの設定ファイルをコピーします。
そして、database.ymlのproductionを編集します。

config/database.yml
1production:
2  adapter: mysql2
3  database: redmine
4  host: localhost
5  username: root
6  password: "database-password"
7  encoding: utf8

当記事のサンプル通りにコマンドを実行していたら、書き換える場所はpasswordの箇所だけです。

Redmineを動かすために必要なgemのインストール

RedmineはRuby(Rails)で作られています。
Ruby(Rails)にはgemと呼ばれる便利なライブラリがあり、Redmineもこのgemを使用しています。
というわけで、Redmineが使用しているgemの準備をしましょう。

shell
1gem install bundler --no-rdoc --no-ri
2bundle install --without development test --path vendor/bundle

まずはgemの管理を簡単にしてくれる bundler というものをインストールします。
その後、インストールしたbundlerを使ってbundleコマンドで必要なgemライブラリをインストールします。
といっても、 bundle install --without development test --path vendor/bundleを実行するだけです。

Redmineの初期データの準備

Redmineの初期データを準備します。
下記コマンドでよきに図らってくれます。便利ですね。

shell
1bundle exec rake generate_secret_token
2RAILS_ENV=production bundle exec rake db:migrate
3RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data

bundle exec rake generate_secret_token では乱数生成用のシークレットトークンの準備をします。
あとの2行はデータベースの準備をしています。

Redmineを起動

Redmineを起動しましょう!!

shell
1bundle exec rails s -eproduction -b 0.0.0.0

そして、おもむろにブラウザアクセスしてみると…
Redmineインストール完了直後の画面

キタ━━━━(゚∀゚)━━━━!!
Redmineのインストールが無事完了したみたいですね。
うまく行かなかった方はレッツお問い合わせ。

おわりに

世界一やさしく(*当社比)Redmineのインストールを解説してみましたが、いかがでしたでしょうか??
Redmineを使ってみたいな〜だけど、インストールするの難しそうだな…っていう先入観がこの記事で消えたかと思います。(たぶん)
それでは、Redmineを使ってみんなもチケット駆動開発していきましょう!

≪ 前の記事
vagrant上のdockerにapache立ててホストOSからポートフォワーディングでアクセス
次の記事 ≫
ひとりでRDSできるもん

いいねやコメントを送っていただけると中の人がしっぽ振って大喜びします♪

あなたへのおすすめの記事