RedMica 1.2をUbuntu Server 20.04.1 LTSにインストールする手順

2021-01-31 23:11  •  分類: ,  •  前田剛

最小構成でインストールしたUbuntu Server 20.04 LTSにRedMica 1.2をインストールする手順です。

RedMica — 今日使える明日のRedmine

RedMicaはプロジェクト管理ソフトウェアRedmine互換のオープンソースソフトウェアで、Redmineのソースコードをもとにファーエンドテクノロジー株式会社がリリースしています。ファーエンドテクノロジーが提供するクラウドサービス「My Redmine」でも使われています。

最大の特長は、「今日使える明日のRedmine」というキャッチフレーズの通り、Redmineの次期バージョンの新機能の一部を先行して利用できることです。例えば、2020年12月にリリースされたRedMica 1.2ではリリース時期未定のRedmine 4.2の新機能である二要素認証やグループ単位のウォッチャー追加などがすでに利用可能です。

参考:

本手順で作成される環境

本手順で作成される環境は以下のとおりです。

ソフトウェア バージョン
RedMica RedMica 1.2
OS Ubuntu Server 20.04.1 LTS
データベース PostgreSQL 12.5
webサーバ Apache (Railsの実行にはPassengerを使用)
Ruby 2.7

OSの設定

ja_JP.UTF-8ロケールの作成

PostgreSQLで日本語を正しく扱う(lc_collatelc_ctypeja_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

必要なパッケージのインストール

RedMicaを使用するにあたり、必要なパッケージのインストールを行います。

パッケージ管理システムのデータベースを最新に更新

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 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.2.tar.gz
RedMica 1.2が対応しているのはRuby 2.4 から 2.7 までです。Ruby 3.0 には対応していません。

Rubyのビルド

ダウンロードしたRubyのtarballを展開し、Rubyのビルドとインストールを行ってください。

tar xvf ruby-2.7.2.tar.gz
cd ruby-2.7.2
./configure --disable-install-doc
make
sudo make install
cd ..

configure--disable-install-doc はドキュメントのインストールを省略するためのオプションです。

作業後、 ruby -v を実行してRubyのバージョンを表示させ、Rubyがインストールできたことを確認してください。

ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]

PostgreSQLの設定

RedMica用ユーザーの作成

sudo -u postgres createuser -P redmine
Enter password for new role: (PostgreSQLの RedMica用ユーザーに設定するパスワードを入力)
Enter it again: (パスワード再入力)

※ PostgreSQLのユーザー redmine には任意のパスワードを設定してください。このパスワードは後述のdatabase.ymlの設定で使用します。

RedMica用データベースの作成

sudo -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redmine

RedMicaのインストール

RedMicaのダウンロード

git コマンドを使ってRedMica 1.2の最新ソースコード一式をRedMicaのデプロイ先のディレクトリにダウンロードしてください。以下の実行例では /var/lib/ 直下のディレクトリ redmine にソースコード一式をダウンロードします。

sudo mkdir /var/lib/redmine
sudo chown www-data /var/lib/redmine
sudo -u www-data git clone -b stable-1.2 https://github.com/redmica/redmica.git /var/lib/redmine

データベースへの接続設定

RedMicaからデータベースへ接続するための設定を記述したファイルを作成します。

以下の内容でRedMicaのインストールディレクトリ(例: /var/lib/redmine)以下に config/database.yml を作成してください。

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

※ ******** 部分は、PostgreSQL上に作成したRedMica用ユーザーのパスワードです。
config/database.yml.example に設定例が記載されているので参考にしてください。

設定ファイル config/configuration.yml の作成

RedMicaからメールサーバへ接続するための設定や日本語フォントファイルのパスを記述した設定ファイルを作成します。

以下の内容でRedMicaのインストールディレクトリ以下に config/configuration.yml ファイルを作成してください。

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: "localhost"
      port: 25
      domain: "example.com"

  minimagick_font_path: /usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf

example.com の部分は、RedMicaを実行するサーバのFQDNとしてください。
config/configuration.yml.example に設定例が記載されているので参考にしてください。 ※ メールが送信されるようにするためには別途MTAのセットアップが必要です。

configuration.yml ではアップロードされたファイルの保管場所や、データベースの暗号化なども設定できます。詳しくは configuration.yml の設定項目 をご覧ください。

RedMicaのインストールディレクトリへ移動

cd /var/lib/redmine

gemパッケージのインストール

Rubyのパッケージ管理ツール「bundler」を使用してRedMicaが依存するgemパッケージをインストールします。RedMicaのインストールディレクトリで以下のコマンドを実行してください。

sudo -u www-data bundle config set --local path 'vendor/bundle'
sudo -u www-data bundle config set --local without 'development test'
sudo -u www-data bundle install

RedMicaの初期設定

RedMica動作に関する初期設定を行います。下記のコマンドはRedMicaのインストールディレクトリで実行してください。

セッション改ざん防止用秘密鍵の作成

下記コマンドを実行してください。

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上でRedMicaなどの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 を作成してください。

# RedMica同梱の画像ファイル・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.7/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/lib/ruby/gems/2.7.0/gems/passenger-6.0.7
  PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>


# 必要に応じてPassengerのチューニングのための設定を追加(任意)。
# 詳しくはPhusion Passenger users guide(https://www.phusionpassenger.com/library/config/apache/reference/)参照。
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 864000
PassengerStatThrottleRate 10

# RedMicaのインストールディレクトリへのアクセスを許可
<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でRedMicaを実行するための設定

どのような形態(URL)でRedMicaを利用するかによって設定が異なります。二つのパターンを例に挙げます。

パターン1: webサーバをRedMica専用として使用

webサーバのルートディレクトリでRedMicaを実行するための設定です。「http://サーバIPアドレスまたはホスト名/」でRedMicaにアクセスできます。

エディタで /etc/apache2/sites-enabled/000-default.conf を開き DocumentRoot をRedMicaのpublicディレクトリ(例: /var/lib/redmine/public)に変更してください。

DocumentRoot /var/www/html
↓
DocumentRoot /var/lib/redmine/public

設定変更後、Apacheを再起動してください。

apache2ctl configtest
sudo systemctl reload apache2

パターン2: サブディレクトリでRedMicaを実行

URLのサブディレクトリでURLにアクセスできるように設定します(例: http://サーバIPアドレスまたはホスト名/redmine)。同じサーバでRedMica以外のアプリケーションを実行する場合や、複数のRedMicaを実行する場合に便利な設定です。

前述の手順で作成したRedMica関係のApacheの設定ファイル /etc/httpd/conf.d/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ブラウザ経由でRedMicaにアクセスできる状態になったら、日本語環境で使うための設定変更やユーザーの追加・プロジェクトの追加などを行います。

インストール後の初期設定手順については以下をご覧ください。

作成: 2021-01-31 23:11  •  分類: ,