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 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
を設定してもいいかもしれない# 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 tlsmail
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!
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