目次

Redmine

Ruby on Rails(RoR)上で動作するProject Management System(PMS)のRedmineに関するメモ

Installed Version History

2010/01/10 redmine 0.8.7 Initial install

0.9.0がどうやらReleaseされているように見えるが、少なくともNetBSD/ruby18/lighttpdではうまく動かなかったので。

参照URL

環境

Install

環境構築

  1. NetBSD上に以下のpackageをpkgsrcから導入
    1. graphics/ImageMagick
    2. databases/mysql-server
    3. lang/Ruby18
    4. misc/rubygems
    5. www/ruby-fcgi (勝手にfcgiもinstallしてくれる)
      • 何故か、gem install fcgiではうまく以下なかった。なぜ?
    6. RMagick
      • 今回はpkgsrcからではなくgemからinstallする。(pkgsrcではうまくinstallできなかったので。原因は調査中)
      • gem install rmagick でOK
    7. tlsmail
      • gem install tlsmailでOK
    8. rails
      • gem install railsでOK
    9. Lighttpd+lua

MySQLの設定

Redmineの設定

WEBrickでのテスト

Lighttpd+fcgi対応

とりあえず、基本的な設定は省略

  1. vendor/rails/railties/configs/lighttpd.confを参考に、lighttpd.confを作成
  2. public/dispatch.fcgi.exampleをpublic/dispatch.fcgiにコピー
    • これを忘れると当然dispatchされないのでうまく動かない。

Mail関係の設定

普通にMailを送るだけなら、以下の設定でOK

  1. config/email.yml
    • production:
        delivery_method: :smtp
        smtp_settings:
          address: smtp.example.com
          port: 25
          domain: example.com
          authentication: :login
          user_name: rmuser
          password: rmpass
      • 当然、Mail Server(この例ではsmtp.example.com)にアカウントを掘っておかないと使えない。
      • 認証メソッドは、色々確認すること

SSLを使ってsubmissionで送る場合は、以下の設定を。

  1. gemでtlsmailを追加
    • gem install tlsmail
  2. 他のシステムは不明だが、NetBSD/ruby18(pkgsrc)/Lighttpdを利用している場合、dispatch.fcgiを修正する
    • domU2-04# diff -c ./dispatch.fcgi.example ./dispatch.fcgi
      *** ./dispatch.fcgi.example     Sun Jan 10 23:57:34 2010
      --- ./dispatch.fcgi     Mon Jan 11 01:49:55 2010
      ***************
      *** 20,24 ****
      --- 20,26 ----
        #
        require File.dirname(__FILE__) + "/../config/environment"
        require 'fcgi_handler'
      + require 'tlsmail'
      + Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)
        
        RailsFCGIHandler.process!
  3. config/email.yml
    • production:
        delivery_method: :smtp
        smtp_settings:
          address: smtp.example.com
          port: 587
          domain: example.com
          authentication: :login
          user_name: rmuser@example.com
          password: rmpass
      • 当然、Mail Server(この例ではsmtp.example.com)にアカウントを掘っておかないと使えない。
      • 必要な設定はMail Server側で行われていることを家庭している

backup

Redmineのデータバックアップは、Databaseだけでなくファイルでも行う必要がある。

バックアップscriptは以下の通り

#! /bin/sh
#
#       Generate Redmine backup.
#
#       USAGE:          set crontab to run.

umask 077

host=`hostname`
date=`date`

echo "To: ${MAILTO:-root}"
echo "Subject: $host redmine backup output status for $date"
echo ""

# Set variables
BASE=/some/where/bkup
new=1

for i in 6 5 4 3 2 1; do
  new=`expr $i + 1`
  if [ -f $BASE/db.$i.gz ]; then
    mv $BASE/db.$i.gz $BASE/db.$new.gz
  fi
  if [ -f $BASE/rmfiles.$i.gz ]; then
    mv $BASE/rmfiles.$i.gz $BASE/rmfiles.$new.gz
  fi
done

/usr/pkg/bin/mysqldump --all-databases -u MYSQL_ROOT --password='MYSQL_ROOT_PASSWORD' | gzip > $BASE/db.1.gz
(cd /home/www/rusty/redmine; /bin/tar czf $BASE/rmfiles.1.gz files)

echo "Backup of MySQL Database amd Redmine files are done."
ls -l $BASE