Redmineのオフラインインストール方法

本記事では、Redmineをネットワークに接続できないオフライン環境へインストールする方法についてご紹介します。Redmineをオンプレミス環境でご利用になりたい場合、社内セキュリティの関係などで、外部へ接続ができないオフライン環境へのインストールが必要になるケースがあります。今回はその際の手順をまとめましたので、ご参考になれば幸いです。

※本記事は2024年1月11日時点の情報です。

まず前提としてはオンライン環境にてインストールするためのデータを作成し、それらのデータをオフライン環境へ移行したのちにインストールを行う流れとなります。そのためオンライン環境自体は必要となりますのでご注意ください。もし、データ作成用のオンライン環境を準備できない場合は、弊社までご相談ください。

なお、本記事で利用した環境やインストーラーの各バージョンは以下の通りです。

  • Windows 2022 Server
  • Redmine 5.0.5
  • Ruby 3.1.4-1
  • PostgreSQL 16.1-1

    オンライン環境での作業

    まずオンライン環境での作業手順となります。

    Rubyのインストール

    以下のリンクから、インストーラーをダウンロードし、インストーラーに従いインストールします。Redmine5.0を利用する場合は、Ruby3.1以下をご利用ください。

    https://rubyinstaller.org/downloads

    例:Ruby+Devkit X.X.X-X (x64)

    インストール中に表示される以下のオプションについては双方にチェックを入れるようにしてください。

    Redmineのインストール手順_Rubyのインストール

    DBのインストール

    以下のリンクからPostgreSQLをダウンロードし、インストーラーに従いインストールします。

    https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

    インストール中に表示される以下のオプションについてはデフォルトのままにしておきます。

    Redmineのインストール手順_PostgreSQLのインストール1

    スーパーユーザーのパスワードを設定します。後ほどpsqlシェルを起動する際にここで設定したパスワードの入力を求められますので忘れないようにしてください。

    Redmineのインストール手順_PostgreSQLのインストール2

    インストールの最後にStack Builderの起動確認が表示されます。起動の必要はありませんのでチェックを外してFinishボタンを押します。

    Redmineのインストール手順_PostgreSQLのインストール3

    Redmineのインストールおよび設定

    1. Redmineの入手/展開

    以下のリンクからRedmineをダウンロードし、任意のパスに展開します。

    https://www.redmine.org/projects/redmine/wiki/Download

    例:C:\Redmine

    以降このパスについては <Redmineインストールパス> と記載します。

    2. DBとDBユーザー作成

    Windowsのアプリケーションで「SQL Shell(psql)」を起動します。その際、パスワードを確認されるのでPostgreSQLをインストール時に設定したパスワードを入力します。

    ログイン後は、以下のコマンドを実行します。

    CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'password' NOINHERIT VALID UNTIL 'infinity';
    CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;

    ※'password'の箇所には任意のパスワードを設定してください。

    3. Redmineの設定ファイルにデータベース情報を追記

    <Redmineインストールパス>/config/database.example.ymlをコピーして、database.ymlを作成します。手順2で設定したパスワードに合わせて修正します。

    以下は修正例です。

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

    4. Bundlerのインストール

    コマンドプロンプトを起動し<Redmineインストールパス>へ移動します。以下のコマンドを実行します。

    gem install bundler

    以降の手順でもコマンドプロンプトを利用しますので、コマンド実行後も起動したままにしてください。

    5. thinの設定

    <Redmineインストールパス>に「Gemfile.local」ファイルを作成し以下を記載します。

    gem "thin"
    gem "thin_service"

    6. pgの設定

    <Redmineインストールパス>に「.bundle」ディレクトリを作成し、その中に「config」ファイルを作成し以下を記載します。

    BUNDLE_PATH: "vendor/bundle"
    BUNDLE_BUILD__PG: "--with-pg-config='C:\Program Files\PostgreSQL\16\bin\pg_config.exe'"
    BUNDLE_WITHOUT: "development:test"
    BUNDLE_BUILD__PGのパスは実際にPostgreSQLがインストールされたbinパスに存在するpg_config.exeを指定してください。

    7. bundle installの実行

    コマンドプロンプトから以下のコマンドを実行します。

    bundle install

    オフラインインストール用データの作成とコピー

    1. オフラインインストール用データの作成

    コマンドプロンプトから以下のコマンドを実行します。

    bundle package

    <Redmineインストールパス>\vendor\cache以下にオフラインインストール用のgemキャッシュファイルが作成されます。

    2. オフライン環境へデータのコピー

    以下のデータをオフライン環境へコピーします。

    • Rubyインストーラー
    • PostgreSQLインストーラー
    • Redmineのzipファイル(入手時のもの)
    • 設定ファイル一式
      • <Redmineインストールパス>\Gemfile.local
      • <Redmineインストールパス>\.bundle
      • <Redmineインストールパス>\config\database.xml
    • オフラインインストール用のgemキャッシュファイル(複数ファイルあるため上位のフォルダごとアーカイブするなどしてください)
      • <Redmineインストールパス>\vendor\cache

    オフライン環境での作業

    ここからはオフライン環境での作業手順となります。

    Rubyのインストール

    オンライン環境からコピーしたインストーラーを用いて、Rubyのインストールを実施します。
    インストールの手順はオンライン環境と同じです。

    DBのインストール

    オンライン環境からコピーしたインストーラーを用いて、PostgreSQLのインストールを実施します。
    インストールの手順はオンライン環境と同じです。

    Redmineのインストール

    1. Redmineの展開

    オンライン環境からコピーしたRedmineを任意のパスに展開します。オンライン環境と同様に展開したパスについては <Redmineインストールパス> と記載します。

    2. DBとDBユーザー作成

    Windowsのアプリケーションで「SQL Shellpsql)」を起動します。その際、パスワードを確認されるのでPostgreSQLをインストール時に設定したパスワードを入力します。ログイン後は、以下のコマンドを実行します。

    CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'password' NOINHERIT VALID UNTIL 'infinity';
    CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;

    ※'password'の箇所には任意のパスワードを設定してください。

    3. オフライン環境からコピーしたファイル群の配置

    • 設定ファイル一式
      • <Redmineインストールパス>\Gemfile.local
      • <Redmineインストールパス>\.bundle
      • <Redmineインストールパス>\config\database.yml
    • gemのキャッシュファイル
      • <Redmineインストールパス>\vendor\cache

    4. Gemfileを編集

    <Redmineインストールパス>\Gemfileをテキストエディター等で開き、developmenttestのセクションをコメントアウトします。

    5. bundle installの実行

    コマンドプロンプトから以下のコマンドを実行します。

    bundle install --local

    トラブルシューティング
    Cannot create temporary file in C:\Users\ADMINI~1\AppData\Local\Temp\2\: No such file or directory
    make: *** [Makefile:247: autolink.o] エラー 127

    上記エラーが出た場合はエラーに記載の以下のフォルダを手動で作成すれば回避できます。

    C:\Users\ADMINI~1\AppData\Local\Temp\2

    6. 秘密鍵の生成

    コマンドプロンプトから以下のコマンドを実行します。

    set RUBY_DLL_PATH=C:\Program Files\PostgreSQL\16\bin
    bundle exec rake generate_secret_token

    RUBY_DLL_PATHにはPostgreSQLのbinへのパスを指定してください。

    7. データベースのマイグレーション

    コマンドプロンプトから以下のコマンドを実行します。

    bundle exec rake db:migrate RAILS_ENV=production

    Redmineの起動確認

    1. Redmineの起動

    以下のコマンドを実行し、Redmineを起動します。

    bundle exec thin start -e production -p 3000 -a 0.0.0.0 -c "<Redmineインストールパス>"

    その後、RedmineのURLにアクセスし起動していることを確認ください。

    例:http://localhost:3000

    Redmineのインストール手順_Redmineの起動

    2. Windowsのサービスとして登録する

    RedmineをWindowsのサービスとして登録する場合、コマンドプロンプトから以下のコマンドを実行します。

    thin_service install -N "Redmine" -c "<Redmineインストールパス>" -p 3000 -e production

    Windowsの「サービス管理ツール」を起動し、Redmineがサービスとして登録されていることを確認します。PC起動時にサービスが自動で起動するように「スタートアップの種類」を自動に変更ください。

    Redmineのインストール手順_自動起動の設定

    まとめ

    Redmineをオフライン環境にインストールする方法についてご紹介しました。社内セキュリティの関係などで、外部へ接続ができないオフライン環境へのインストールが必要になるケースもあると思いますので、今回の記事が参考になれば幸いです。

    なお、テクマトリックスでは、環境構築やメンテナンスをせずにいつでも利用できるRedmineのクラウドサービスを提供しています。チケット数無制限、100ユーザーまで月額7000円でご利用いただけます30日間の無料トライアルもありますので、ぜひご検討ください!

    Lychee Redmine体験版