2015年6月12日

Debian Jessieにおけるdebパッケージを利用したRedmine環境構築方法のまとめ

2015-04-27に、Debian 8.0 Jessieがリリースされた。
Debian Wheezyにおいて、パッケージを利用したRedmine環境を運用していたため、 その環境のアップグレードを試みた。
しかし、メジャーアップグレード自体にトラブルが多く、Jessieを新規にインストールし、 Redmine環境を構築しなおすこととなった。
その際におこなった作業、Redmineをパッケージを用いて新規に導入する方法を、メモとして残しておく。

本記事では、Debian Jessieにおいて公式リポジトリに用意されているパッケージのみを 用いたRedmine環境の構築方法を述べる。


方針

  • 複雑な運用はしない。

  • 手っ取り早く運用できるRedmine環境の構築を目指す。

環境

  • Debian Jessie 8.0 (x86_64, kernel: 3.16.7-ckt9-3~deb8u1)

  • Redmine (3.0~20140825-5)

    • redmine-pgsql (3.0~20140825-5)

    • redmine-sqlite (3.0~20140825-5)

  • Apache (2.4.10-10)

    • libapache2-mod-passenger (4.0.53-1)

    • PostgreSQL (9.4.2)

    • SQLite (3.8.7.1-1+deb8u1)

    • Ruby (2.1.5p273)

設定手順

設定は、以下の手順でおこなう。

  1. 必要なソフトウェアの導入

  2. Redmineおよび利用するDBの設定

  3. Apacheの設定

  4. サービスの起動

  5. 動作確認

  6. Redmineプラグインの導入

必要なソフトウェアの導入

まず、Redmine環境を構築するために必要なソフトウェアの導入をおこなう。
必要なソフトウェアは、Debianの公式リポジトリに用意されているパッケージを用いてインストールする。

今回、Redmineのデータベースとして、2種類の異なるDBMSの導入を想定した。
利用するDBMSは、SQLiteとPostgreSQLである。
SQLiteとPostgreSQLによって、作業が一部異なる点に注意する。

以下のコマンドを実行し、必要なソフトウェアをインストールする。

  • SQLiteの場合

# aptitude install sqlite3 redmine redmine-sqlite apache2 libapache2-mod-passenger
  • PostgreSQLの場合

# aptitude install postgresql redmine redmine-pgsql apache2 libapache2-mod-passenger

redmineパッケージをインストールする際、データベースの設定に関するダイアログが表示される。
データベースに関する設定は後でおこなうため、このダイアログでは<いいえ>を選択する。

以上の作業で、必要なソフトウェアの導入は完了である。

Redmineおよび利用するDBの設定

次に、Redmineおよび利用するDBMSの設定をおこなう。

設定は、下記のコマンドを実行しておこなう。

# dpkg-reconfigure redmine

上記コマンドを実行後、RedmineとDBMSの設定を半自動でおこなうダイアログが表示される。
ダイアログに対し、以下の設定項目を入力していく。

  • SQLiteの場合


  1. redmine/instances/defaultが使うデータベースの種類: sqlite3

  2. redmine/instances/default用のストレージディレクトリ: /var/lib/dbconfig-common/sqlite3/redmine/instances/default (デフォルト)

  3. redmine/instances/default用のデータベース名: redmine_default (デフォルト)

  4. redmineのデフォルト言語: ja (デフォルト)


  1. redmine/instances/defaultが使うデータベースの種類: pgsql

  2. redmine/instances/defaultのPostgreSQデータベースに接続する方法: UNIXソケット (デフォルト)

  3. PostgreSQL管理者の認証方法: ident (デフォルト)

  4. PostgreSQLユーザの認証方法: パスワード (デフォルト)

  5. データベースの管理者権限を持つユーザ名: postgres (デフォルト)

  6. redmine/instances/default用のユーザ名: redmine_default (デフォルト)

  7. redmine/instances/default用のデータベース名: redmine_default (デフォルト)

  8. redmineのデフォルト言語: ja (デフォルト)


以上の作業で、RedmineとDBMSの設定は完了である。

Apacheの設定

Redmineを稼働させるために、WebサーバApacheの設定をおこなう。

設定ファイルは、Redmineのドキュメントディレクトリにサンプルが用意されている。
今回は、そのサンプルをそのまま利用していく。

以下のコマンドを実行し、サンプル設定ファイルを、Apacheの設定ディレクトリへコピーする。

# cp /usr/share/doc/redmine/example/apache2-passenger-host.conf /etc/apache2/sites-available/redmine.conf

redmine.confは、基本的には編集する必要は無い。

ただし、redmine.confは、デフォルトの状態だと"Allow from all"となっている点に注意する。

次に、/var/lib/redmine/default以下に、redmineのインストールディレクトリをpassengerとしてシンボリックリンクしておく。

以下のコマンドを入力する。

# ln -s /usr/share/redmine /var/lib/redmine/default/passenger

以上の作業で、Apacheの設定は完了である。

サービスの起動

Redmineの有効化、および既存のWebサイトの無効化をおこなう。

以下のコマンドを入力する。

# a2ensite redmine.conf
# a2dissite 000-default.conf

次に、各種サービスを有効化・起動する。

サービスの起動は、以下のコマンドでおこなう。

  • SQLiteの場合

# systemctl enable apache2.service
# !:s/enable/restart/
  • PostgreSQLの場合

# systemctl enable postgresql.service
# !:s/enable/restart/
# !-2:s/postgresql/apache2/
# !:s/enable/restart/

以上の作業で、サービスの起動は完了である。

動作確認

最後に、Redmineが正常に動作しているかを確認する。

確認は、GUI上のブラウザからおこなう。
ブラウザから http://localhost/ へアクセスし、Redmineのトップページが表示されれば、導入は完了である。

以降、Redmine.JPの運用ガイド(http://redmine.jp/guide/)等を参照し、Redmineの運用をおこなっていく。

Redmineプラグインの導入

Redmineでは、第三者が作成したプログラム、プラグインを導入することで、標準では提供されていない機能を 追加することが可能である。
今後、プラグインを利用することを考慮し、導入方法も述べる。

プラグインの導入は、基本的に以下の手順でおこなう。

  1. pluginsディレクトリの作成 (pluginsディレクトリが既に存在していれば、実行しなくても良い)

  2. プラグインファイルの導入

  3. rakeの実行

  4. Apacheの再起動

具体的には、下記のコマンドを実行すれば良い。

# mkdir /usr/share/redmine/plugins
# cd /usr/share/redmine/plugins
# git clone <http://repository.of.plugin>
# cd /usr/share/redmine
# rake redmine:plugins:migrate RAILS_ENV=production
# systemctl restart apache2.service

今回は、例として、任意のプロフィール画像を利用できるようにするプラグイン、 redmine_local_avatarsの導入方法を述べる。

redmine_local_avatarsは、GitHubにて多数のリポジトリが公開されている。
今回構築したRedmine(3.0~20140825-5)で動作するリポジトリは、次のものである。
https://github.com/djibythiaw/redmine_local_avatars

プラグインの導入は、gitを用いておこなう。
gitがインストールされていない場合は、以下のコマンドでgitを導入する。

# aptitude install git

gitを導入した後、以下のコマンドでredmine_local_avatarsの導入をおこなう。

# mkdir /usr/share/redmine/plugins
# cd /usr/share/redmine/plugins
# git clone https://github.com/djibythiaw/redmine_local_avatars.git
# cd /usr/share/redmine
# rake redmine:plugins:migrate RAILS_ENV=production
# systemctl restart apache2.service

以上の作業で、プラグインの導入は完了である。

プラグインが正常に導入されたかどうかを確認したい場合は、Redmineのプラグイン管理ページを見る。
具体的には、管理者権限を持つユーザアカウントでRedmineへログインし、メニューから"管理"→"プラグイン"を選択すればよい。

参考にしたもの

  1. Redmineをapt-getでインストール - Days of Speed(2013-10-20)
    http://www.nofuture.tv/diary/20131020.html (2015-06-04T12:44:24 参照)
    → Debian Wheezyにおけるdebパッケージを利用したRedmine環境の構築方法が書かれている記事。
    今回、この記事を執筆するにあたり、設定の大部分をこちらの記事を参照した。
    Wheezyで構築したい場合、こちらの記事が大いに参考になる。

  2. プラグインのインストール方法 - r-labs
    http://www.r-labs.org/projects/r-labs/wiki/プラグインのインストール方法 (2015-06-04T12:55:52 参照)
    → Redmineプラグインのインストール方法が書かれている記事。
    この記事のプラグイン導入部分を執筆するにあたり、大いに参考にした。
    Redmineは、Debian Jessieのパッケージのバージョン(3.0~20140825-5)と、Wheezyのバージョン(1.4.4+dfsg1-2+deb7u1)では、 プラグインの導入方法が異なることに留意する。

雑感

  • 試してはいないけれど、MySQLを利用する場合でも、ほぼ同じような手法で導入できるはず。

  • DebianのStableバージョンでは、パッケージのアップデートは基本的にセキュリティホール・バグのパッチのみ。

    • なので、当分の間は、Redmineを安定して運用できるはず。

    • ただし、プラグインを大量に導入した場合、話は違ってくるかも。

  • Asciidoc + Cryogen、お手軽に記事が書けて、超便利。

Tags: Debian Redmine
このエントリーをはてなブックマークに追加