Redmine 4.2をUbuntu 20.04 LTSにインストールする手順
最小構成でインストールしたUbuntu 20.04 LTSにRedmine 4.2をインストールする手順です。
Redmineとは:
Redmineはオープンソースのプロジェクト管理ソフトウェアです。オンプレミスのサーバなど自分で用意した環境に自由にインストールできるほか、 クラウドサービス の利用も可能です。Redmineについて詳しくは Redmine.JP をご覧ください。
本手順で作成される環境
本手順で作成される環境は以下のとおりです。
ソフトウェア | バージョン |
---|---|
Redmine | Redmine 4.2 |
OS | Ubuntu 20.04 LTS |
データベース | PostgreSQL 12.8 |
webサーバ | Apache (Railsの実行にはPassengerを使用) |
Ruby | 2.7 |
OSの設定
ja_JP.UTF-8ロケールの作成
PostgreSQLで日本語を正しく扱う(lc_collate
とlc_ctype
に ja_JP.UTF-8
を設定する)ために必要です。
sudo locale-gen ja_JP.UTF-8
Ubuntuインストール時に言語として日本語を選択した場合はすでに作成されていますが、本手順では海外業者のサーバなども考慮して念のために実行しておきます。
作業後、 locale -a
を実行してロケールの一覧を表示させ、 ja_JP.utf8
が含まれていることを確認してください。
locale -a C C.UTF-8 POSIX en_US.utf8 ja_JP.utf8
必要なパッケージのインストール
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のオフィシャルサイトのダウンロードページからRuby2.7の最新版のソースコードをダウンロードしてください。
https://www.ruby-lang.org/ja/downloads/
curl -O https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.4.tar.gz
Rubyのビルド
ダウンロードしたRubyのtarballを展開し、Rubyのビルドとインストールを行ってください。
tar xvf ruby-2.7.4.tar.gz cd ruby-2.7.4 ./configure --disable-install-doc make sudo make install cd ..
configure
実行時に--disable-install-doc
を指定することでRubyのドキュメントのインストールを回避でき作業時間を短縮できます。
作業後、 ruby -v
を実行してRubyのバージョンを表示させ、Rubyがインストールできたことを確認してください。
ruby -v ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]
PostgreSQLの設定
Redmine用ユーザーの作成
sudo -u postgres createuser -P redmine Enter password for new role: (PostgreSQLの redmine用ユーザーに設定するパスワードを入力) Enter it again: (パスワード再入力)
※ PostgreSQLのユーザー redmine には任意のパスワードを設定してください。このパスワードは後述のdatabase.ymlの設定で使用します。
Redmine用データベースの作成
sudo -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redmine
Redmineのインストール
Redmineのダウンロード
svn
コマンドを使ってRedmine 4.2.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/4.2-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 install --without development test
Redmineの初期設定
Redmine動作に関する初期設定を行います。下記のコマンドはRedmineのインストールディレクトリで実行してください。
セッション改ざん防止用秘密鍵の作成
下記コマンドを実行してください。
sudo -u www-data bin/rake generate_secret_token
データベースのテーブル作成
config/database.yml
で指定したデータベースにテーブルを作成します。
sudo -u www-data RAILS_ENV=production bin/rake db:migrate
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/2.7.0/gems/passenger-6.0.10/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/lib/ruby/gems/2.7.0/gems/passenger-6.0.10 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のサブディレクトリでURLにアクセスできるように設定します(例: 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>
設定後、下記コマンドを実行してApacheを再起動してください。
apache2ctl configtest sudo systemctl reload apache2
インストール完了後の初期設定
インストールが完了しwebブラウザ経由でRedmineにアクセスできる状態になったら、日本語環境で使うための設定変更やユーザーの追加・プロジェクトの追加などを行います。
インストール後の初期設定手順については以下をご覧ください。
- Redmineを使い始めるための初期設定 (Redmine.JP)