転載・引用について

ユーザ用ツール

サイト用ツール


サイドバー

Site Contents Index

転載・引用について

RSS

serviceapp:redmine

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

環境

  • NetBSD
  • Ruby18
  • RubyGems
  • Rails
  • mysql
  • fastcgi
  • lighttpd+lua

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の設定

  • MySQLを参照
    • redmine用のDB(ここではredmine)とアクセス用のUser/Password(ここではrmuser/rmpass)を決めてDBを作成する

Redmineの設定

  • ここの「RubyForge: Redmine: ファイルリスト」から最新版のtarballを持ってくる
  • Webで公開するDirで展開する。(ここでは、/WebApp/redmineとする)
  • config/database.ymlを作成
    • cd config
    • cp database.yml.example database.yml
    • vi database.yml
      • 変更点は以下の通り
      • # すべてをComment outして、以下を追加
        production:
          adapter: mysql
          database: rmdb
          host: localhost
          username: rmadmin
          password: himitsu
          encoding: utf8
      • socket: some/where/socketfileを設定してもいいかもしれない
    • セッションストア秘密鍵を生成
      • 0.9.0からは必要みたいなので、生成する。
      • # cd /WebApp/redmine
        # rake config/initializers/session_store.rb
    • Redmine用DBを初期化
      • # cd /WebApp/redmine
        # rake db:migrate RAILS_ENV="production"
        # rake redmine:load_default_data RAILS_ENV="production"
    • Permissionの設定
      • # cd /WebApp/redmine
        # chown -R www:www .

WEBrickでのテスト

  • WEBrickで動作確認
    • ruby script/server webrick -e production -p 80
  • Browserからサーバーの80番ポートに接続すればredmineが動いていることが確認出来るはず。
  • なお、defaultのUser/passwordは admin/admin なので、さっさと変更しよう。

Lighttpd+fcgi対応

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

  1. vendor/rails/railties/configs/lighttpd.confを参考に、lighttpd.confを作成
  2. public/dispatch.fcgi.exampleをpublic/dispatch.fcgiにコピー
    • これを忘れると当然dispatchされないのでうまく動かない。
  • 注意点
    • 個人環境においては、mod_expireを生かす必要があった。
    • まず変更点を。
    • lighttpd.conf
      • server.modulesにmod_expireを追加
      • cgi.assignの“.cgi”を “.cgi” ⇒ “/usr/pkg/bin/ruby18” に変更 (これはおそらくいらないと思う)
    • lighttpd-vhost.conf (個人的に追加しているファイルなので、普通はlighttpd.confに追加すれば良い
      • # redmine.example.org
        $HTTP["host"] =~ "redmine.example.org" {
          server.document-root     = "/WebApp/redmine/public"
          server.error-handler-404 = "/dispatch.fcgi"
          accesslog.filename       = "/var/log/www/redmine"
          url.rewrite              = ( "^/$" => "index.html", "^([^.]+)$" => "$1.html" )
          compress.filetype        = ( "text/plain", "text/html", "text/css", "text/javascript" )
          compress.cache-dir       = "/home/www/rusty/redmine/tmp/cache"
          expire.url               = ( "/favicon.ico"  => "access 3 days", 
                                       "/images/"      => "access 3 days", 
                                       "/stylesheets/" => "access 3 days",
                                       "/javascripts/" => "access 3 days" )
          fastcgi.server      = (
            ".fcgi" => (
              "localhost" => (
                "min-procs"       => 1, 
                "max-procs"       => 1,
                "socket"          => "/WebApp/redmine/tmp/sockets/fcgi.socket",
                "bin-path"        => "/WebApp/redmine/public/dispatch.fcgi",
                "bin-environment" => ( "RAILS_ENV" => "production" )
              )
            )
          )
          $HTTP["useragent"] =~ "^(.*MSIE.*)|(.*AppleWebKit.*)$" {
            server.max-keep-alive-requests = 0
          }
        }

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
このウェブサイトはクッキーを使用しています。 Webサイトを使用することで、あなたはあなたのコンピュータにクッキーを保存することに同意します。 また、あなたはあなたが私たちのプライバシーポリシーを読んで理解したことを認めます。 同意しない場合はウェブサイトを離れてください。クッキーに関する詳細情報
serviceapp/redmine.txt · 最終更新: 2016/03/07 20:06 (外部編集)