PokuG stdio.h

ポクジィと読みます

Windows 11 (25H2) に Redmine 6.1.0 をインストール(Ruby 3.4 + PostgreSQL 18)


Redmine は Linux サーバで利用されることが多いですが、情報システム部門によっては Linux の知識を十分に持っている人材の確保がうまくいかず、導入や保守が難しいと感じるケースもあると思います。

一方で、普段から扱い慣れている Windows 環境であれば、導入のハードルはぐっと下がります。
本記事では、Windows 11 (25H2) に Redmine 6.1.0 を導入し、最新の Ruby 3.4 と PostgreSQL 18 を使って動作確認する手順を紹介します。
「Linux サーバは難しいけれど、Windows で試してみたい」という方に参考になれば幸いです。

1. 参考サイト

インストールについて以下サイトを参考させていただきました。

Redmine.JP

日本語で詳しいインストール手順やTipsがまとまったコミュニティサイトみたいです。
インストール — Redmine.JP

Redmine.JP Blog

Redmineに関するニュースや、より活用するためのtipsなどを掲載されています。
Home | Redmine.JP Blog

Lychee Redmine

Redmine を拡張するプラグインとサポートサービスを提供する商用サイトみたいです。
具体的なインストール手順が乗っています。
Windows環境へのRedmineのインストール(PostgreSQL版) » Lychee Redmine


2. 必要なもの(ダウンロード先)およびセットアップの流れ

2.1 必要なもの(ダウンロード先)

今回の環境構築で使用したソフトウェアとダウンロード先は以下の通りです。

ソフト / OS バージョン 備考 ダウンロード先
Windows 11 25H2 - -
Redmine 6.1.0 アーカイブ形式 (.zip) ダウンロード
RubyInstaller with Devkit 3.4.6-1 (x64) Devkit 同梱版を使用 ダウンロード
PostgreSQL 18.0(Windows x64) - ダウンロード

今回使用したファイルは以下の通りです:
Redmine:redmine-6.1.0.zip
RubyInstaller: rubyinstaller-devkit-3.4.6-1-x64.exe
 (※必ずDevkit付きを選びましょう)
PostgreSQL:postgresql-18.0-1-windows-x64.exe

2.2 セットアップの流れ

セットアップの流れは以下のようになります。
  1. Ruby のインストール
  2. PostgreSQL のインストール
  3. Redmine の配置
  4. DBユーザー・DB作成
  5. Redmine 設定ファイル編集
  6. Bundler で依存ライブラリ導入
  7. 初期化処理(秘密鍵生成、DBマイグレーション、デフォルトデータ投入)
  8. サーバー起動と接続テスト
  9. LAN 内の複数 PC から http://:3000 でアクセス可能


3. ruby のインストール

最初に ruby をインストールします。
Redmine 6.1 は Ruby 3.4 系に対応していますので、今回は RubyInstaller 3.4.6-1 (x64, Devkit付き) を使用しました。

3.1 インストーラの起動

ダウンロードしたインストーラをダブルクリックして起動します。

3.2 セットアップモード選択

「Install for all users」を選んで進めます。

3.3 ライセンス承諾

ライセンスに同意して「Next」をクリック。

3.4 インストール先フォルダとオプション

インストール先はデフォルトのまま C:\Ruby34-x64 を選択。
チェック項目はデフォルトのままです。

3.5 コンポーネント選択

特に変更せず、そのまま進めます。

3.6 インストールの実行

インストールが開始されます。

3.7 セットアップ終了

インストールが完了すると「Run 'ridk install' to setup MSYS2...」のチェックボックスが表示されます。
このチェックはオンにしたまま終了します。

3.8 MSYS2のインストール

MSYS2 development toolchainをインストールするので、3と入力します。
なお、3を入力すると、1もインストールされるらしいです。

3.9 インストール終了

MSYS2 のインストールが終われば、Ruby + Devkit のセットアップは完了です。
Enterを押します。


以上で Ruby のインストールは終了です。


4. PostgreSQL のインストール

次は PostgreSQL をインストールします。
今回は PostgreSQL 18.0(Windows x64 インストーラ)を利用します。

4.1 起動

ダウンロードしたファイルを実行してセットアップを開始します。

4.2 セットアップ開始

「Next」をクリックして進めます。

4.3 インストール先フォルダ

デフォルトの C:\Program Files\PostgreSQL\18 を指定しました。

4.4 コンポーネント選択

「PostgreSQL Server」、「pgAdmin 4」など、デフォルトのままチェックを入れて進めます。

4.5 データベース保存先

デフォルトのまま(C:\Program Files\PostgreSQL\18\data)で進めました。

4.6 管理者パスワード設定

postgres ユーザーのパスワードを設定します。
(後で DB作成時に使うので必ず控えておきます)
今回は「admin」でいきます。

4.7 ポート番号指定

デフォルトの 5432 を指定しました。

4.8 アドバンスオプション

ロケールなどの設定。基本的にデフォルトのまま進めて問題ありません。

4.9 サマリー

設定内容が表示されるので確認し、「Next」を押します。

4.10 インストール実行

「Next」でインストールを開始します。

4.11 インストール

必要なコンポーネントが展開され、PostgreSQL がセットアップされます。

4.12 インストール終了

インストール完了画面が表示されれば終了です。
今回はtack Builderは入れないのでチェックを外し、「Finish」を押します。


以上で PostgreSQL のインストールは終了です。


5. Redmineの配置

続いて Redmine 本体を配置します。
今回は公式サイトから Redmine 6.1.0 を取得しました。

5.1 アーカイブ解凍

ダウンロードした redmine-6.1.0.zip を展開します。

5.2 ディレクトリの配置

展開してできたフォルダを 「redmine」 にリネームし、C:\ 直下にコピーします。
最終的なディレクトリ構成は以下の通りです:

C:\Redmine\
  ├─ app
  ├─ bin
  ├─ config
  ├─ db
  ├─ files
  ├─ lib
  └─ ...

6. データベース準備

Redmine 用のデータベースとユーザーを作成します。
PostgreSQL インストール時に作られた postgres ユーザーを使って作業します。

6.1 psqlの起動

スタートメニューから SQL Shell (psql) を起動します。
「スタートアイコン」→「すべて」→「PostgreSQL 18」→「SQL Shell(psql)」

6.2 ログイン

Server、Database、Port、Username、Client EncodingまではすべてEnterを押します。
最後に postgres ユーザーのパスワードを入力します。
今回は手順4.6で設定した「admin」を入力します。

6.3 データベースユーザーの作成

Redmine 用のユーザー(redmine)を作成します。

CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'redminepass' NOINHERIT VALID UNTIL 'infinity';

DBのredmineユーザーのパスワードは「redminepass」とします。

6.4 データベース作成

Redmine 用のデータベースを作成します。

CREATE DATABASE redmine WITH ENCODING='UTF8' LC_COLLATE='ja_JP.UTF-8' LC_CTYPE='ja_JP.UTF-8' TEMPLATE template0 OWNER redmine;


※LC_COLLATE と LC_CTYPE の設定はきちんと入れておかないと PostgreSQL のバックアップ&リカバリのカスタムフォーマット(.dump)のリストアで面倒なことになると思います

7. Redmineの設定

作成したデータベースに接続できるように、Redmine 側の設定を行います。
主に config/database.yml と .bundle/config を編集します。

7.1 config/database.yml の編集

C:\Redmine\config\以下にRedmine の初期状態では 「database.example.yml」 というサンプルファイルが入っています。
これをコピーまたはリネームして 「database.yml」 を作成し、編集します。
編集後の database.yml は以下のように設定します:

production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: "redminepass"
  encoding: utf8


※編集前の「database.example.yml」に色々書いてありますが、今回は上記の7行だけ書きます(他は消す)

7.2 .bundle/config の作成

「C:\Redmine」に「.bundle」ディレクトリを作成し、その中に「config」ファイルを作成し以下を記載します。

BUNDLE_PATH: "vendor/bundle"
BUNDLE_BUILD__PG: "--with-pg-config='C:/Program Files/PostgreSQL/18/bin/pg_config.exe'"
BUNDLE_WITHOUT: "development:test"


※PostgreSQL を別の場所にインストールした場合は、pg_config.exe のパスを環境に合わせて修正してください。

7.3 Gemfile.local の作成

C:\Redmine以下に「Gemfile.local」ファイルを作成し以下を記載します。

 gem 'puma'


※なお、Puma は Rails/Redmine の標準的なアプリケーションサーバーらしいです


8. Bundler でセットアップ

Redmine が必要とする Ruby ライブラリ(gem)をまとめてインストールします。
まずは Bundler 本体を入れて、その後に bundle install で依存ライブラリを一括インストールします。

8.1 Power Shellを管理者権限で起動

Power Shellを管理者権限で起動します。
本来は管理者権限で起動の必要はないような気がしますが、管理者でないとBundler のインストールでエラーが出たのでこうしています。

8.2 C:\Redmineへ移動する

C:\Redmineへ移動します。

8.3 Bundler のインストール

以下を実行します。

gem install bundler


「RubyGems 3.6.9 を使ってるけど最新は 3.7.2 です」という警告が出ますが今回は無視します。

8.4 依存ライブラリの一括インストール(bundle install)

続いて、Redmine の Gemfile(およびGemfile.local) に基づいて必要なライブラリをインストールします。
※Redmine の動作に必要な gem(rails, pg など)が vendor/bundle 配下にまとめてインストールされます。

bundle install --without development test


上の行に、出ているメッセージはインストールの案内だけで、今の Redmine 6.1 構成ではそのままで問題なさそうなので、このまま続けます。


9. 初期化設定

Bundler で必要なライブラリを入れ終えたら、Redmine を動かすための初期設定を行います。

9.1 秘密鍵の生成

セッション管理などに必要な秘密鍵を生成します。

bundle exec rake generate_secret_token


警告が出ていますが、win32/registry が fiddle/import を呼んでいて、Ruby 3.5 からは fiddle が標準添付じゃなくなるので「Gemfileに入れてね」と教えてくれています。いま使っている Ruby 3.4 では実害がないので今回は無視します。

9.2 データベースマイグレーション

データベースに必要なテーブルを作成します。
Redmine のチケット管理やユーザー情報などを保存するテーブルが DB に作成されます。

$env:RAILS_ENV="production"
bundle exec rake db:migrate

DB作成終了です。

9.3 デフォルトデータ投入

プロジェクト設定やロールなどの初期データを登録します。

$env:RAILS_ENV = "production"
$env:REDMINE_LANG = "ja"
bundle exec rake redmine:load_default_data


言語は ja を指定することで日本語の初期データが入ります。
また、こちらでも警告が出ていますが、手順 9.1 と同じもので、win32/registry が fiddle/import を呼んでいて、Ruby 3.5 からは fiddle が標準添付じゃなくなるので「Gemfileに入れてね」と教えてくれています。
こちらも同様にいま使っている Ruby 3.4 では実害がないので今回は無視します。


10. 起動と接続テスト

ここまでで Redmine の準備が整いました。
最後にアプリケーションサーバーを起動し、ブラウザからアクセスできるか確認します。

10.1 サーバーの起動

PowerShell で Redmine ディレクトリ(C:\Redmine)に移動し、以下を実行します。

bundle exec rails server -e production -b 0.0.0.0 -p 3000


こちらも入力したコマンドの下に警告がありますが、手順 9.1 と同じものなので無視して問題ありません。

10.2 ブラウザからアクセス

ブラウザを開き、以下の URL にアクセスします。
・自分の PC から → http://localhost:3000
・LAN 内の別 PC から → http://<Redmine PCのIPアドレス>:3000

10.3 初期ログイン

初期アカウントは以下の通りです。
・ユーザー名:admin
・パスワード:admin
初回ログイン時にパスワード変更が求められます。


11. おわり

・Windows 11(25H2)上に Redmine 6.1.0 を構築しました。
・Ruby は RubyInstaller 3.4.6 (Devkit付き)、DB は PostgreSQL 18.0 を使用しました。

今回は「とりあえず使う」を前提でシンプルに構築しましたが、
本格運用する場合は以下も検討すると良いと思います。
Redmine への同時接続数の上限を上げる
Apache を導入して Redmine をサブ URL 及び 80 番ポートで公開
Windows サービス化して常時稼働させる
定期的な DB・files/ フォルダのバックアップ


おまけ

手順 9.1 から数回出ていた、

  • win32/registry が fiddle/import を呼んでいて、Ruby 3.5 からは fiddle が標準添付じゃなくなるので「Gemfileに入れてね」

という警告文ですが、
手順「7.3 Gemfile.local の作成」の「Gemfile.local」にpumaの他に以下を追加し、

gem 'fiddle'

「Gemfile.local」を下の感じで記述。

パワーシェルで「C:\redmine」へ移動し以下コマンドを実行すると警告が消えると思います。

bundle install --without development test