Ruby on Rails(RoR)上で動作するProject Management System(PMS)のRedmineに関するメモ
| 2010/01/10 | redmine 0.8.7 | Initial install |
0.9.0がどうやらReleaseされているように見えるが、少なくともNetBSD/ruby18/lighttpdではうまく動かなかったので。
gem install fcgiではうまく以下なかった。なぜ?gem install rmagick でOKgem install tlsmailでOKgem install railsでOKcd configcp database.yml.example database.ymlvi database.yml# すべてをComment outして、以下を追加 production: adapter: mysql database: rmdb host: localhost username: rmadmin password: himitsu encoding: utf8
socket: some/where/socketfileを設定してもいいかもしれない# cd /WebApp/redmine # rake config/initializers/session_store.rb
# cd /WebApp/redmine # rake db:migrate RAILS_ENV="production" # rake redmine:load_default_data RAILS_ENV="production"
# cd /WebApp/redmine # chown -R www:www .
ruby script/server webrick -e production -p 80とりあえず、基本的な設定は省略
vendor/rails/railties/configs/lighttpd.confを参考に、lighttpd.confを作成 “.cgi” ⇒ “/usr/pkg/bin/ruby18” に変更 (これはおそらくいらないと思う)# 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を送るだけなら、以下の設定でOK
production:
delivery_method: :smtp
smtp_settings:
address: smtp.example.com
port: 25
domain: example.com
authentication: :login
user_name: rmuser
password: rmpass
SSLを使ってsubmissionで送る場合は、以下の設定を。
gem install tlsmaildomU2-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!
production:
delivery_method: :smtp
smtp_settings:
address: smtp.example.com
port: 587
domain: example.com
authentication: :login
user_name: rmuser@example.com
password: rmpass
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