Redmineをapt-getでインストール

nogajun
nogajun

_ Redmineを使おうかと調べていたところ、debパッケージからインストールした記事がほとんどなかった上に、書いてあっても古いものばかりだったのでメモっておきます。

インストール環境

  • Debian Wheezy
  • Debianパッケージを使う。(Wheezyなのでredmine 1.4.4です)
  • Webサーバー: Apache 2 / passenger
  • データベース: sqlite or MySQL

(MySQLを使う場合のみ) MySQLのインストールと設定

MySQLを使う人だけの設定です。Sqliteを使う人は飛ばしてください。

DebianでMySQLを使っている人はすでに設定していると思いますが、文字コードをUTF-8にしておきたいので、MySQLだけを先にインストールします。

# apt-get install mysql-server

適当なエディタで/etc/mysql/conf.d/(適当な名前).cnfを開き(/etc/mysqli/my.cnfには書き込みません)、以下の内容を書いて保存しておきます。

[mysqld]
character-set-server = utf8mb4

書き込んだらMySQLを再起動しておきます。

# service mysql restart

インストール

インストールは簡単。MySQLの場合はこんな感じ。

# apt-get install redmine redmine-mysql apache2 libapache2-mod-passenger

MySQLの場合、途中でMySQLのredmineユーザのパスワードについて尋ねられますが、パスワードを空にしてランダムパスワードを作成するのがよいと思います。(作成したパスワードについては /etc/redmine/default/database.yml に書いてあります。)

Sqliteの場合はこんな感じ。

# apt-get install redmine redmine-sqlite apache2 libapache2-mod-passenger

こちらは特に聞かれることはありません。

設定

Redmineの設定についての情報は /usr/share/doc/redmine/ にあるのでよく読みます。 設定のサンプルは、使用するサーバー/モジュールに応じたサンプルが /usr/share/doc/redmine/examples/ にあるので、それを参考に設定します。

http://localhost/redmine/でアクセスする場合

お手軽に設定するならサンプルファイル apache2-passenger-alias.conf/etc/apache2/sites-available/ 以下にコピーしてa2ensiteで有効化、apacheを再起動するだけでredmineが使えます。

# cp /usr/share/doc/redmine/examples/apache2-passenger-alias.conf /etc/apache2/sites-available/redmine
# a2ensite redmine
# service apache2 reload

通常のサイトで設定する場合は、コピーした設定の3行目と4行目を変更すれば大丈夫なはず。

<VirtualHost *:80> ← localhostを「*:80」に
    ServerName my.domain.name ← 行頭のコメント「#」を外してmy.domain.nameにドメインを設定

Redmineの設定をするには /usr/share/doc/redmine/examples/configuration.yml.example.gz/etc/redmine/default/ にコピーして使います。

# cd /etc/redmine/default/
# cp /usr/share/doc/redmine/examples/configuration.yml.example.gz .
# gunzip configuration.yml.example.gz
# mv configuration.yml.example configuration.yml
# chown root:www-data configuration.yml ← 所有者とグループは www-dataとrootに変更。
# chmod 640 configuration.yml ← パーミッションは640に変更。

とりあえずメールの設定はconfiguration.ymlのコメント行を参考に、ファイルの保存場所のattachments_storage_pathは、ディレクトリ/var/redmine/filesを作成して設定しておくとよいかと思います。

http://localhost/でアクセスする場合

http://localhost/ だけでアクセスする場合は、サンプルファイル apache2-passenger-host.conf を使えばいいのですが、複数サイトのサンプルなので片方だけをコピーして、/etc/apache2/sites-available/にファイルを作成します。

# nano /etc/apache2/sites-available/redmine
<VirtualHost *:80> ← localhost:3000から変更
        # ServerName my.domain.name ← localhostじゃない場合は変更する必要ありかも
        # this is the passenger config
        RailsEnv production
        # create a link in /var/lib/redmine/default/passenger to /usr/share/redmine
        PassengerAppRoot /var/lib/redmine/default/passenger
        SetEnv X_DEBIAN_SITEID "default"
        Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/
        DocumentRoot /usr/share/redmine/public
        <Directory "/usr/share/redmine/public">
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>

そして忘れてはいけないのは、/var/lib/redmine/default/ 以下に /usr/share/redmine のシンボリックリンクを貼ること! コメントに書いてあるのですが、それを見落としてハマってました。

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

シンボリックリンクを貼ったら、apacheのサイト設定defaultを無効・redmineの設定を有効にして、apacheを再起動するとOK。

# a2dissite default
# a2ensite redmine
# service apache2 reload

プラグインをインストールしてdbをマイグレートする必要がある場合は

/usr/share/redmine/vendor/pluginsに使いたいプラグインを展開して、以下のように実行するとOKです。

# RAILS_ENV=production rake -f /usr/share/redmine/Rakefile db:migrate_plugins

おわりに

ということで、使いたいプラグインが2系でしか動かないとかそういう事情もなく、楽してRedmineを使いたい人はWheezyでパッケージを使うといいんじゃないかなー。

UbuntuだとLTSのpreciseは1.3.2だし、saucyは2.3.1でも

というような感じみたいですし。