読者です 読者をやめる 読者になる 読者になる

人生、徒然なるままに。

IT系の話題をメインに。DIYer。C#er。旅行/天文好き。

WindowsへRedmineをインストール - その4 - Redmineインストール編

Redmine Ruby

今回、ついにRedmineのインストールを行います。

Redmine3.3, thin, SQL Server 2016 Expressで動かします。

 

 

インストールの前準備

この記事から入られた方は、以下の記事もご確認ください。

Ruby, Git, SQL Server 2016 Expressのインストールがまだの方は特に。

Rubyのバージョンも適当に入れた、なんて方も。

 

shoutatani.hatenablog.com

 

 

shoutatani.hatenablog.com

 

 

shoutatani.hatenablog.com

 

Redmineのダウンロード

ではインストールを始めましょう。所要時間約30分です。

 

まずは、Redmineのサイトへアクセス。Googleで検索すると、3番目くらいに。

http://www.redmine.org/

f:id:shoutatani:20170318123849p:plain

 

Documentationの、「Redmine guide」 をクリック。

f:id:shoutatani:20170318124022p:plain

 

そうしたら、上部のInstalling Redmine をクリック!ここにインストール方法が載っています。

f:id:shoutatani:20170318124113p:plain

 

まずは、中央部のRuby interpreterを確認します。Redmineのどのバージョンで、どのRubyのバージョンが使えるのかを。

今回は、準備編でRubyの2.3をインストールしているので、2017/3/18時点最新版のRedmine3.3が適しています。

f:id:shoutatani:20170318124150p:plain

念のため、Rubyの現バージョンを確認。

f:id:shoutatani:20170318124435p:plain

 

さて、インストールすべきRedmineのバージョンが把握できたので、Redmine本体をダウンロードします。

Installation procedureのStep 1 にある、download page をクリック。

f:id:shoutatani:20170318124545p:plain

 

ダウンロードページについたので、redmine-3.3.2.zip をクリックしてダウンロードします。ダウンロード先は適当に。

f:id:shoutatani:20170318124605p:plain

 

ダウンロードしたredmineを解凍します。今回はC直下としました。

以降、このディレクトリで作業します。

f:id:shoutatani:20170318124658p:plain

 

データベースの準備・設定

お次は、Redmineが使用するデータベースの設定です。

Step 2 - Create an empty database and accompanying user を参照します。

今回は、SQL Serverを使用するので、SQL Serverの欄のShow SQL をクリックします。

f:id:shoutatani:20170318125002p:plain

 

このSQLを全部コピペしてもいいですが、変えてもよいです。

今回、予めRedmineDBという名前のデータベースを作成していたので、そちらにデータベース名を変更しました。

Redmineがアクセスするための専用のユーザーですが、SQL Server アカウントはREDMINE / redminepassword、そのままとしました。

ページのSQLと一部異なる点ですが、このアカウントに複数権限を持たせられるようにdb_ownerの権限もで与えています。

f:id:shoutatani:20170318125041p:plain

 

流すと以下のようになります。

f:id:shoutatani:20170318125535p:plain

 

データベースと、ログインユーザー、DBへのアクセスユーザーの設定ができたところで、次はRedmine側のDB設定を行います。

Step 3 - Database connection configuration を参照。

f:id:shoutatani:20170318125746p:plain

 

まずは、先ほどRedmineを解凍したフォルダにconfigフォルダがあるので、そこまでいきます。

database.yml.example というファイルがあるので、コピーして、database.ymlにリネームします。

f:id:shoutatani:20170318125840p:plain

 

SQL Serverに接続するために、以下のように記述します。databaseにデータベース名、dataserverに接続先PC\インスタンス名です。SQL Serverアカウントとパスワードを変更している場合は、変更した通りに書きます。

f:id:shoutatani:20170318125925p:plain

 

依存性の解決

要はRedmineが使用する各種プラグインのダウンロードです。

Step 4 - Dependencies installationを参照。

f:id:shoutatani:20170318130146p:plain

 

まずは、gem install bundlerを流します。依存性解決を手助けてくれるgemですね。

f:id:shoutatani:20170318130324p:plain

 

お次は、実際に依存しているgemのダウンロードを行います。

以下のOptional dependenciesを参照。

f:id:shoutatani:20170318130441p:plain

以下の通り、bundle install --without development test rmagick を流します。

f:id:shoutatani:20170318130518p:plain

無事終われば以下の通り、Bundle complete!と表示されます。

もし失敗していたら、rubyの64bitバージョンが使用されている、なんてことも考えられます。環境変数を確認してください。

f:id:shoutatani:20170318130529p:plain

 

続けて、追加依存性の解決に入ります。

要は、さらに必要なgem, プラグインがある場合の設定です。

Additional dependencies (Gemfile.local)を参照。

f:id:shoutatani:20170318130657p:plain

 

新規でテキストファイルでも作り、名前をGemfile.localとします。

f:id:shoutatani:20170318130811p:plain

 

今回、WEBrickの代わりに実運用で使うthinというWebサーバーを使用します。

gem 'thin' と記述します。

f:id:shoutatani:20170318130937p:plain

 

そうしたら、もう一回bundle install を流します。

f:id:shoutatani:20170318131011p:plain

f:id:shoutatani:20170318131020p:plain

依存性の解決は完了です。

 

セッションストア秘密鍵の生成

つづいて、セッションストア秘密鍵の生成を行います。クライアントのクッキーのやり取りの際の暗号化のために必要な処理のようです。

Step 5 - Session store secret generationを参照。

f:id:shoutatani:20170318135142p:plain

 

指示通り、bundle exec rake generate_secret_token を流します。

f:id:shoutatani:20170318135235p:plain

しかしエラー・・・!

tiny_tdsというgemのせいでエラーがおきているようです。

 

bundlerでインストールした際には、0.6.2がはいっているようです。

f:id:shoutatani:20170318135321p:plain

 

そこで、現在までのバージョン一覧を参照するといろいろあります・・・

他のバージョンで試してみます。

f:id:shoutatani:20170318135425p:plain

 

まず、bundlerが参照するGemfileのコピーをとっておきます。元に戻せるように。

f:id:shoutatani:20170318135515p:plain

 

Gemfileの下部に、tiny_tdsの記述があったので、1.2.0をインストールするように変更してみました。

f:id:shoutatani:20170318135631p:plain

 

もう一度bundle install --without development test rmagickを行います。

f:id:shoutatani:20170318135623p:plain

 

そしてセッションストア秘密鍵の生成を行いますが・・・またしても失敗!

f:id:shoutatani:20170318135713p:plain

 

1.0.5で再挑戦してみます。

f:id:shoutatani:20170318135800p:plain

f:id:shoutatani:20170318135831p:plain

流すと・・・成功しました。tiny_tdsはRedmine3.3の時点で1.0.5にしなければいけないようです。

f:id:shoutatani:20170318135842p:plain

 

データベーススキーマ・データの構築

お次は、RedmineのDBを使えるようにします。

Step 6 - Database schema objects creation と、Step 7 - Database default data setを参照。

f:id:shoutatani:20170318140140p:plain

 

RAILS_ENV 環境変数にproduction をセットします。

その後、bundle exec rake db:migrate を流します。

しかしまたしてもエラー!接続エラーのようです。

f:id:shoutatani:20170318140228p:plain

 

SQL Server側のエラーです。名前付きインスタンスで接続できるように、SQL Server Browserを起動します。

f:id:shoutatani:20170318140341p:plain

自動起動にして・・・

f:id:shoutatani:20170318140348p:plain

開始します。

f:id:shoutatani:20170318140402p:plain

TCP/IPも有効にします。

f:id:shoutatani:20170318140518p:plain

 

もう一度。

f:id:shoutatani:20170318140413p:plain

 

以下の通りエラーが起きましたが、もう一度コマンドを流します。(どうやらmigrateの順序が不正?)

f:id:shoutatani:20170318140427p:plain

無事終わりました。

f:id:shoutatani:20170318140625p:plain

 

初期データを設定します。

bundle exec rake redmine:load_default_data を流します。

途中で、jaと打ち、日本語設定にします。

これで完了です!

f:id:shoutatani:20170318140747p:plain

 

Redmineの起動

ようやくインスタンスが終わったので、Redmineの起動を行います。

今回、thinを使用するので、bundle exec thin start -p 3000 -e production を流して起動させます。

.batファイルに記述すれば、タスクスケジューラーなどで自動起動もできますね。

f:id:shoutatani:20170318140818p:plain

 

http://localhost:3000/ にアクセスすると・・・無事起動しました!

f:id:shoutatani:20170318140952p:plain

 

お疲れ様でした。