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)
インストール中に表示される以下のオプションについては双方にチェックを入れるようにしてください。
DBのインストール
以下のリンクからPostgreSQLをダウンロードし、インストーラーに従いインストールします。
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
インストール中に表示される以下のオプションについてはデフォルトのままにしておきます。
スーパーユーザーのパスワードを設定します。後ほどpsqlシェルを起動する際にここで設定したパスワードの入力を求められますので忘れないようにしてください。
インストールの最後にStack Builderの起動確認が表示されます。起動の必要はありませんのでチェックを外してFinishボタンを押します。
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"
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 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インストールパス>\Gemfile.local
- <Redmineインストールパス>\.bundle
- <Redmineインストールパス>\config\database.yml
- gemのキャッシュファイル
- <Redmineインストールパス>\vendor\cache
4. Gemfileを編集
<Redmineインストールパス>\Gemfileをテキストエディター等で開き、developmentとtestのセクションをコメントアウトします。
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にアクセスし起動していることを確認ください。
2. Windowsのサービスとして登録する
RedmineをWindowsのサービスとして登録する場合、コマンドプロンプトから以下のコマンドを実行します。
thin_service install -N "Redmine" -c "<Redmineインストールパス>" -p 3000 -e production |
Windowsの「サービス管理ツール」を起動し、Redmineがサービスとして登録されていることを確認します。PC起動時にサービスが自動で起動するように「スタートアップの種類」を自動に変更ください。
まとめ
Redmineをオフライン環境にインストールする方法についてご紹介しました。社内セキュリティの関係などで、外部へ接続ができないオフライン環境へのインストールが必要になるケースもあると思いますので、今回の記事が参考になれば幸いです。
なお、テクマトリックスでは、環境構築やメンテナンスをせずにいつでも利用できるRedmineのクラウドサービスを提供しています。チケット数無制限、100ユーザーまで月額7000円でご利用いただけます。30日間の無料トライアルもありますので、ぜひご検討ください!