Redmineプラグイン開発環境に1時間1円の高速VPS(Digital Ocean)を使って手軽に構築する

Ruby on Railsの勉強がてら、
業務でも利用しているRedmineのプラグイン開発に挑戦してみることにしました。

[Rails を知らない人のための Redmine プラグイン開発ガイド](http://www.r-labs.org/projects/r-labs/wiki/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E9%96%8B%E7%99%BA%E3%82%AC%E3%82%A4%E3%83%89)

### と、ここで。

上記ページには、Redmineの開発環境構築手順から説明があるわけですが、
**どーにも面倒臭い。**

僕はさっさとコード書いて遊びたいわけです。
インストールがコケたのモジュールが足りないだのバージョンが合わないだのやりたくないんです。
そもそもローカルが散らかるの嫌だし。

というわけで、最初っからRedmineインストール済みのVPSをさくっと用意してしまいましょう。

# Digital Ocean
ここでDigital Oceanの登場です。
https://www.digitalocean.com/

詳細は[徳丸先生のblog](http://z.tokumaru.org/2013/10/digitalocean.html)でもご紹介されていたので割愛しますが、
とにかく簡単、シンプルでわかりやすく、かつ時間課金で安いので、
ガンガン作って潰して、を気兼ねなく繰り返せるのが魅力です。

何より、Redmine入りVPSをいきなり立てられるのが嬉しい。
他にもLAMP,RoR,Docker,Wordpress等の各環境構築済みのものもあります。（一応BETA版らしいのですが）

差し支えなければ[コチラから登録](https://www.digitalocean.com/?refcode=bdba8719a6c6)して頂けると、僕のサーバ代が少し楽になりますのでぜひ。笑

登録できたら、createボタンからHostname,スペック,リージョン等を選ぶ画面へ進みます。
リージョンは最近シンガポールリージョンが出来たそうですので、
日本から近いのでこちらがベターかなと思います。

![digitalocean.png](https://qiita-image-store.s3.amazonaws.com/0/23189/4c88282a-56ce-30fc-a4db-5345215ec6eb.png)

Select Imageの項目で、Applications→Redmine on Ubuntuを選択。
作成すると、1分ほどでrootログイン用のパスワードがメールで送られてきます。

sshログインできたら、ログイン時のメッセージにRedmineログイン用のID:Passwordが表示されますので、
忘れずにメモしておきましょう。

ここで、ブラウザでIPアドレスを直接叩いて見てみます。

やったー！
ねんがんの　Redmineを　てにいれた！（1円で）

![redmine.png](https://qiita-image-store.s3.amazonaws.com/0/23189/9385a2d7-215f-03e3-e70f-588214b9edd1.png)

# 開発環境を整える

あとは基本的に[プラグイン開発ガイド](http://www.r-labs.org/projects/r-labs/wiki/GuideDevEnv]http://www.r-labs.org/projects/r-labs/wiki/GuideDevEnv)の手順をなぞるだけなのですが、
Railsに慣れていないとちょこっとハマりそうなので以下の手順をオススメします。
まず、

```
開発用の Redmine のポイントは２つです。

1. development モードで起動する
2. サーバ には WEBrick を使う
```

とありますので、こちらを目指しましょう。

とりあえず今の状態と比較すると、

1. production モードで起動している
2. webサーバとしてapache2が使われている

となっています。

### apache2を止める

まずは、使わないwebサーバは止めちゃいます。

```
$ sudo service apache2 status
$ sudo service apache2 stop
```

### 必要なパッケージを入れておく & ついでにgit化

Redmineのrootディレクトリは```/home/redmine/redmine```にあります。
git化するならこのタイミングで。(しなくてもかまいませんが、ミスっても戻せるのでオススメ)

```
$ sudo apt-get update 
$ sudo apt-get install git
$ cd /home/redmine/redmine # application root
$ git init
```

なおかつ、SQLiteを使う際には```libsqlite3-dev```というパッケージが必要になるので、コチラもさくっとinstallしておきましょう。

```
$ sudo apt-get install libsqlite3-dev
```

### gemパッケージのインストール

その後、gemのインストール。

```
$ bundle install --without test production
```

developmentモードしか使わないだろうという事で、
testモード、productionモード用のgemを丸ごと除外しました。

### データベースの作成

ここまで進めば、以降はほぼ[プラグイン開発ガイド](http://www.r-labs.org/projects/r-labs/wiki/GuideDevEnv]http://www.r-labs.org/projects/r-labs/wiki/GuideDevEnv)の手順通りです。

```config/database.yml
development:
  adapter: sqlite3
  database: db/redmine.db
  timeout: 5000
```

### データベースの作成

```
$ rake generate_secret_token
$ rake db:migrate 
$ rake redmine:load_default_data
```

```rake redmine:load_default_data```したときに言語を聞かれるので、```ja```でいいと思います。

### サーバの起動

```
$ rails server
```

デフォルトではポート3000番で起動しますので、ブラウザでhttp://IPaddress:3000/へアクセスして下さい。
Redmineが表示され、コンソールにログがバーっと表示されたら成功です！

(完全に余談ですが、別記事で[WEBrickをデーモンぽくするスクリプト書いた](http://qiita.com/smd8122@github/items/4e9a155529fe39a6c030)ので良ければ使ってみてくださいｗ)

これで、自由にいじくり回せる開発用Redmineが手に入りました。
Let's enjoy!

ご意見、ツッコミなどあればお待ちしております。