vorfee's Tech Blog

Just another tech blog

Bitnamiインストーラを使わずにRedmine5.xをWindowsにインストールする方法

Bitnamiインストーラを使わずにRedmineをインストールする手順をまとめる。 なお、管理者権限とインターネット接続が必須である。オフラインインストールの手順については気が向いたらまとめる予定。

1. Gitをセットアップする

https://git-scm.com/download/win からインストーラをダウンロードし、インストールする(要管理者権限)。

インストール時のオプションは特に変更する必要がないため、説明を省略する。

2. Rubyをセットアップする

https://rubyinstaller.org/downloads/ からインストーラをダウンロードし、インストールする(要管理者権限)。

インストール時のオプションは特に変更する必要がないため、説明を省略する。

3. ImageMagickをセットアップする

https://imagemagick.org/script/download.php からインストーラをダウンロードし、インストールする(要管理者権限)。

インストール時のオプションで「Install legacy utilities」と「Install development headers and libraries for C and C++」を有効にすること。

4. Ghostscriptをセットアップする

https://www.ghostscript.com/releases/gsdnld.html からインストーラをダウンロードし、インストールする(要管理者権限)。

インストール時のオプションは特に変更する必要がないため、説明を省略する。

5. PostgreSQLをセットアップする

PostgreSQLのセットアップは手順が多いため、ステップに分けて説明する。

5-1. インストールと初期化

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads からインストーラをダウンロードし、インストールする(要管理者権限)。

スーパーユーザー(postgres)のパスワードは postgres とした。

ロケールC とした。

5-2. ユーザーの追加

スタートメニューからpgAdmin4を起動する。Servers > PostgreSQL 15 を開き、Login/Group Roles を右クリックし、Create > Login/Group Role... を選択する。

Generalタブを選択し、Nameにユーザー名redmineを入力する。

Definitionタブを選択し、Passwordを入力する。ここではユーザー名と同じredmineとした。

Privilegesタブを選択し、Can login? を有効にする。

Saveボタンで保存すると、新規ユーザーが追加さる。

5-3. データベースの追加

Servers > PostgreSQL 15 を開き、Databases を右クリックし、Create > Database... を選択する。

Generalタブを選択し、Databaseにredmineを入力する。Ownerは先ほど作成したユーザーredmineを選択する。

Definitionタブを選択し、EncodingにUTF8、Templateにtemplate1、Tablespaceにpg_default、CollationにC、Character typeにCを選択する。

Saveボタンで保存すると、新規データベースが追加される。

6. Redmineをセットアップする

6-1. ダウンロード

https://www.redmine.org/projects/redmine/wiki/Download からZIPファイルをダウンロードし、C:\redmineに解凍する。

展開後のフォルダ構成は以下となる。

6-2. 初期設定

コマンドプロンプトを起動し、cd C:\redmineを実行する。

C:\Users\vorfee>cd c:\redmine

次に、gem install bundlerを実行する(要インターネット接続)。

c:\redmine>gem install bundler
Fetching bundler-2.4.0.gem
Successfully installed bundler-2.4.0
Parsing documentation for bundler-2.4.0
Installing ri documentation for bundler-2.4.0
Done installing documentation for bundler after 0 seconds
1 gem installed

ここでSSL verification関連のエラーが失敗して先に進めない場合、%USERPROFILE%.gemrc ファイルに :ssl_verify_mode: 0 を追加すると回避できる場合がある。

C:\redmine\configを開き、database.ymlファイルを作成し、以下の内容を入力する。インデントはスペース2個にすること。passwordの値は自分の環境に合わせて適宜読み替えること。

production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: "redmine"

6-3. パッケージのインストール

LIBRARY_PATHCPATH環境変数を設定する。これを設定しないと、pgパッケージのインストールや、その後の処理に失敗する。

設定する値はそれぞれ以下の通り。

  • LIBRARY_PATH: PostgreSQLインストール先のlibフォルダ
  • CPATH: PostgreSQLインストール先のincludeフォルダ
set LIBRARY_PATH=C:\Program Files\PostgreSQL\15\lib
set CPATH=C:\Program Files\PostgreSQL\15\include

bundle config set --local without 'development test'を実行する。

c:\redmine>bundle config set --local without 'development test'
You are replacing the current local value of without, which is currently "development:test"

bundle installを実行する(要インターネット接続)。

c:\redmine>bundle install
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Using rake 13.0.6
Using bundler 2.4.0
Using concurrent-ruby 1.1.10
  (中略)
Using rails 6.1.7
Installing pg 1.2.3 with native extensions
Bundle complete! 43 Gemfile dependencies, 75 gems now installed.
Gems in the groups 'development' and 'test' were not installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

RUBY_DLL_PATH環境変数を設定する。

set RUBY_DLL_PATH=C:\Program Files\PostgreSQL\15\bin

bundle exec rake generate_secret_tokenを実行する。完了時のメッセージは無く、空行が1行出力されれば問題ない。

c:\redmine>bundle exec rake generate_secret_token
  (空行)

環境変数RAILS_ENVproductionを設定する。

set RAILS_ENV=production

bundle exec rake db:migrateを実行する。

c:\redmine>bundle exec rake db:migrate
== 1 Setup: migrating =========================================================
-- create_table("attachments", {:force=>true, :id=>:integer})
   -> 0.0104s
  (中略)
== 20220224194639 DeleteOrphanedTimeEntryActivities: migrating ================
== 20220224194639 DeleteOrphanedTimeEntryActivities: migrated (0.0230s) =======

環境変数REDMINE_LANGjaを設定する。

set REDMINE_LANG=ja

bundle exec rake redmine:load_default_dataを実行する。

c:\redmine>bundle exec rake redmine:load_default_data
Default configuration data loaded.

6-4. 起動テスト

Redmineを動作させるための最低限の準備が完了したため、設定変更に移る前に、起動できることを確認する。

C:\redmine\Gemfile.local ファイルを新規作成し、以下の内容を追加する。

gem "thin"

bundle installを実行する(要インターネット接続)。

bundle install

インストール完了後、以下のコマンドで開発用のサーバーを立ち上げることができる。

bundle exec rails server -u thin -p 3000 -e production

うまく立ち上がると、以下のようなメッセージが流れる。

C:\redmine>bundle exec rails server -u thin -e production
=> Booting Thin
=> Rails 6.1.7 application starting in production http://0.0.0.0:3000
=> Run `bin/rails server --help` for more startup options

ブラウザで http://localhost:3000 を開き、Redmineのトップページが表示されること、ログインできることを確認する。初期ユーザーは以下の通り。

  • ユーザ名: admin
  • パスワード: admin

http://localhost:3000/admin/info を開き、すべての機能が正常に認識されていることを確認する。