Redmine 6.0 をUbuntu 24.04 LTSにインストールする手順
最小構成でインストールしたUbuntu Server 24.04.1 LTS に Redmine 6.0.1 をインストールする手順です。
Redmineとは:
Redmineはオープンソースのプロジェクト管理ソフトウェアです。オンプレミスのサーバなど自分で用意した環境に自由にインストールできるほか、 クラウドサービス の利用も可能です。Redmineについて詳しくは Redmine.JP をご覧ください。
本手順で作成される環境
本手順で作成される環境は以下のとおりです。
ソフトウェア | バージョン |
---|---|
Redmine | Redmine 6.0.1 |
OS | Ubuntu Server 24.04.1 LTS |
データベース | PostgreSQL 16.4 |
webサーバ | Apache (Railsの実行にはPassengerを使用) |
Ruby | 3.3.6 |
OSの設定
ja_JP.UTF-8ロケールの作成
PostgreSQLで日本語を正しく扱う(lc_collate
とlc_ctype
に ja_JP.UTF-8
を設定する)ために必要です。
sudo apt install -y language-pack-ja sudo locale-gen ja_JP.UTF-8
Ubuntuインストール時に言語として日本語を選択した場合はすでに作成されていますが、本手順では海外業者のサーバなども考慮して念のために実行しておきます。
作業後、 localectl list-locales
を実行してロケールの一覧を表示させ、 ja_JP.UTF-8
が含まれていることを確認してください。
localectl list-locales C.UTF-8 ja_JP.UTF-8
必要なパッケージのインストール
Redmineを使用するにあたり、必要なパッケージのインストールを行います。
パッケージ管理システムのデータベースを最新に更新
sudo apt update
RubyとPassengerのビルドに必要な開発ツールやヘッダファイルのインストール
sudo apt install -y build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev
PostgreSQLとヘッダファイルのインストール
sudo apt install -y postgresql libpq-dev
Apacheとヘッダファイルのインストール
sudo apt install -y apache2 apache2-dev
日本語フォントのインストール
sudo apt install -y imagemagick fonts-takao-pgothic
そのほかのツールのインストール
sudo apt install -y subversion git
Rubyのインストール
ソースコードのダウンロード
RubyのオフィシャルサイトのダウンロードページからRuby 3.3 の最新版のソースコードをダウンロードしてください。
https://www.ruby-lang.org/ja/downloads/
curl -O https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.6.tar.gz
Rubyのビルド
ダウンロードしたRubyのtarballを展開し、Rubyのビルドとインストールを行ってください。
tar xvf ruby-3.3.6.tar.gz cd ruby-3.3.6 ./configure --disable-install-doc make sudo make install cd ..
configure
実行時に--disable-install-doc
を指定することでRubyのドキュメントのインストールを回避でき作業時間を短縮できます。
作業後、 ruby -v
を実行してRubyのバージョンを表示させ、Rubyがインストールできたことを確認してください。
ruby -v ruby 3.3.6 (2024-11-05 revision 75015d4c1f) [x86_64-linux]
PostgreSQLの設定
Redmine用ユーザーの作成
sudo -i -u postgres createuser -P redmine Enter password for new role: (PostgreSQLの redmine用ユーザーに設定するパスワードを入力) Enter it again: (パスワード再入力)
※ PostgreSQLのユーザー redmine には任意のパスワードを設定してください。このパスワードは後述のdatabase.ymlの設定で使用します。
Redmine用データベースの作成
sudo -i -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redmine
Redmineのインストール
Redmineのダウンロード
svn
コマンドを使ってRedmine 6.0.xの最新ソースコード一式をRedmineのデプロイ先のディレクトリにダウンロードしてください。以下の実行例では /var/lib/
直下のディレクトリ redmine
にソースコード一式をダウンロードします。
sudo mkdir /var/lib/redmine sudo chown www-data /var/lib/redmine sudo -u www-data svn co https://svn.redmine.org/redmine/branches/6.0-stable /var/lib/redmine
http://www.redmine.org/projects/redmine/wiki/Download
データベースへの接続設定
Redmineからデータベースへ接続するための設定を記述したファイルを作成します。
以下の内容で、Redmineのインストールディレクトリ(この記事の実行例では /var/lib/redmine
)以下に config/database.yml
を作成してください。
production: adapter: postgresql database: redmine host: localhost username: redmine password: "********" encoding: utf8
※ ******** 部分は、PostgreSQL上に作成したredmine用ユーザーのパスワードです。
※ config/database.yml.example
に設定例が記載されているので参考にしてください。
設定ファイル config/configuration.yml
の作成
Redmineからメールサーバへ接続するための設定や日本語フォントファイルのパスを記述した設定ファイルを作成します。
以下の内容でRedmineのインストールディレクトリ以下に config/configuration.yml
ファイルを作成してください。
production: email_delivery: delivery_method: :smtp smtp_settings: address: "localhost" port: 25 domain: "example.com" rmagick_font_path: /usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf
※ example.com
の部分は、Redmineを実行するサーバのFQDNとしてください。
※ config/configuration.yml.example
に設定例が記載されているので参考にしてください。
※ メールが送信されるようにするためには別途MTAのセットアップが必要です。
configuration.yml
ではアップロードされたファイルの保管場所や、データベースの暗号化なども設定できます。詳しくは configuration.yml の設定項目 をご覧ください。
Redmineのインストールディレクトリへ移動
cd /var/lib/redmine
gemパッケージのインストール
Rubyのパッケージ管理ツール「bundler」を使用してRedmineが依存するgemパッケージをインストールします。Redmineのインストールディレクトリで以下のコマンドを実行してください。
sudo bundle config set --local without 'development test' sudo bundle install
Redmineの初期設定
Redmine動作に関する初期設定を行います。下記のコマンドはRedmineのインストールディレクトリで実行してください。
セッション改ざん防止用秘密鍵の作成
下記コマンドを実行してください。
sudo -u www-data bin/rake generate_secret_token
データベースのテーブル作成
config/database.yml
で指定したデータベースにテーブルを作成します。
sudo -u www-data bin/rake db:migrate RAILS_ENV="production"
Passengerのインストール
Apache上でRedmineなどのRailsアプリケーションを実行するために使われるPhusion Passengerをインストールします。
sudo gem install passenger -N
-N
はドキュメントのインストールを省略するためのオプションです。
PassengerのApache用モジュールのインストール
下記コマンドを実行してApache用のモジュールのビルドとインストールを行ってください。
sudo passenger-install-apache2-module --auto --languages ruby
Apache用設定内容の確認
下記コマンドを実行するとApacheに追加すべき設定が表示されます。この情報はこの後Apacheの設定を行うときに使用します。
passenger-install-apache2-module --snippet
Apacheの設定
以下の内容で /etc/apache2/conf-available/redmine.conf
を作成してください。
# Redmineの画像ファイル・CSSファイル等へのアクセスを許可する設定。 # Apache 2.4のデフォルトではサーバ上の全ファイルへのアクセスが禁止されている。 <Directory "/var/lib/redmine/public"> Require all granted </Directory> # Passengerの基本設定。 # passenger-install-apache2-module --snippet で表示された設定を記述。 # 環境によって設定値が異なるため以下の5行はそのまま転記せず、必ず # passenger-install-apache2-module --snippet で表示されたものを使用すること。 # LoadModule passenger_module /usr/local/lib/ruby/gems/3.3.0/gems/passenger-6.0.23/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/lib/ruby/gems/3.3.0/gems/passenger-6.0.23 PassengerDefaultRuby /usr/local/bin/ruby </IfModule> # 必要に応じてPassengerのチューニングのための設定を追加(任意)。 # 詳しくは Configuration reference - Passenger + Apache (https://www.phusionpassenger.com/docs/references/config_reference/apache/) 参照。 PassengerMaxPoolSize 20 PassengerMaxInstancesPerApp 4 PassengerPoolIdleTime 864000 PassengerStatThrottleRate 10 # Redmineのインストールディレクトリへのアクセスを許可 <Directory /var/lib/redmine/public> Allow from all Options -MultiViews Require all granted </Directory>
Apacheの設定の反映
下記コマンドを実行してApache起動時に /etc/apache2/conf-available/redmine.conf
が読み込まれるようにするとともに、起動中のApacheに設定内容を反映させてください。
sudo a2enconf redmine apache2ctl configtest sudo systemctl reload apache2
Apache上のPassengerでRedmineを実行するための設定
どのような形態(URL)でRedmineを利用するかによって設定が異なります。二つのパターンを例に挙げます。
パターン1: webサーバをRedmine専用として使用
webサーバのルートディレクトリでRedmineを実行するための設定です。「http://サーバIPアドレスまたはホスト名/
」でRedmineにアクセスできます。
エディタで /etc/apache2/sites-enabled/000-default.conf
を開き DocumentRoot
をRedmineのpublicディレクトリ(例: /var/lib/redmine/public
)に変更してください。
DocumentRoot /var/www/html ↓ DocumentRoot /var/lib/redmine/public
設定変更後、Apacheを再起動してください。
apache2ctl configtest sudo systemctl reload apache2
パターン2: サブディレクトリでRedmineを実行
URLのサブディレクトリでRedmineにアクセスできるように設定します(例: http://サーバIPアドレスまたはホスト名/redmine
)。同じサーバでRedmine以外のアプリケーションを実行する場合や、複数のRedmineを実行する場合に便利な設定です。
前述の手順で作成したRedmine関係のApacheの設定ファイル /etc/apache2/conf-available/redmine.conf
に次のような設定を追加してください。以下の設定例のうち、強調部分がサブディレクトリ名です。
Alias /redmine /var/lib/redmine/public <Location /redmine> PassengerBaseURI /redmine PassengerAppRoot /var/lib/redmine </Location>
アセット(スタイルシートやJavascriptなど)をコンパイルする必要があります。下記のコマンドで RAILS_RELATIVE_URL_ROOT
に指定しているのは実行例で使用しているサブディレクトリ名です。実際に実行するときは、自分で設定したサブディレクトリ名を指定してください。
sudo -u www-data bundle exec rake assets:precompile RAILS_ENV="production" RAILS_RELATIVE_URL_ROOT=/redmine
下記のコマンドを実行してApacheを再起動してください。
apache2ctl configtest sudo systemctl reload apache2
もし、Redmineにアクセスしたとき画像が表示されないとか表示が崩れるなどの状況が発生した場合、以下のコマンドを実行して一度アセットを削除したあと、コンパイルからやり直してください。
sudo -u www-data bundle exec rake assets:clobber RAILS_ENV="production"
インストール完了後の初期設定
インストールが完了しwebブラウザ経由でRedmineにアクセスできる状態になったら、日本語環境で使うための設定変更やユーザーの追加・プロジェクトの追加などを行います。
インストール後の初期設定手順については以下をご覧ください。
- Redmineを使い始めるための初期設定 (Redmine.JP)