2024年11月23日 | ノート定期点検 |
2024年1月22日 | セゾンゴールドアメックスカードの変化 |
2024年11月20日 | DS-C480W購入 |
2024年11月18日 | EOS R7ファームウエアアップデート |
2024年11月17日 | PX-M730Fのシアンインク交換 |
2024年10月19日 | 腕時計のファームウエア |
2024年10月5日 | RF-S 10-18mm F4.5-6.3 IS STM購入 |
2024年10月3日 | 三菱UFJニコスカード到着 |
2024年9月28日 | 三菱UFJニコスカード申込 |
2024年9月23日 | 第10世代iPad購入 |
redmineはいわゆるIssue Tracking Systemである。 Ruby on Railsベースで、tracよりもだいぶ洗練されている。 http://news.mynavi.jp/articles/2009/04/22/redmine/ や http://redmine.jp/guide/RedmineInstall/ を参考にして、 FreeBSD 8.3なマシンにインストール。 まずは下準備として、
をインストール。 ついで
$ svn checkout http://redmine.rubyforge.org/svn/branches/2.0-stable redmine
でredmineを適切なディレクトリにコピーする。 redmineのディレクトリに移動してから、
% gem install bundler % bundle --without development test rmagick mysql postgresql
で必要なgemをインストール。 config/database.ymlに
production: adapter: sqlite3 database: db/redmine.sqlite3 development: adapter: sqlite3 database: db/redmine_dev.sqlite3
として、とりあえずはsqliteで動かすことにする。
$ rake generate_secret_token
でセッションストア秘密鍵を作成。
$ RAILS_ENV=production rake db:migrate
で必要なデータベースを作成。 管理者アカウントもできあがる。
$ RAILS_ENV=production rake redmine:load_default_data
で諸々のデータを作成する。 使用言語を聞いてくるので、jaにした。 後は
$ rails server -d webrick -e production
で動かしてみる。 本当はPassengerとかを使った方がいいのだろうが、 とりあえず一人で使う分にはこれでもいいだろう。 速攻でログインしてもう一つ管理者アカウントを作成し、 デフォルトの管理者アカウントを削除する。 が、外からうまくアクセスできない。
仕方ないのでapacheとpassengerを入れてみる。
% portinstall apache22 % portinstall rubygem-passenger
指示に従って/usr/local/etc/apache22/httpd.conf に
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.13/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.13 PassengerRuby /usr/local/bin/ruby18
の3行を追加する。 さらに
DocumentRoot "/foo/redmine/public"
と、
<Directory "/foo/redmine/public> RailsEnv "production" Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
を追加して、apacheをrestart。 これで、どこからでもアクセスできるようだ。
今まで使っていたtracからは、
RAILS_ENV=production rake redmine:migrate_from_trac
でデータを移行できるようだ。 ただし、tracのデータベースがsqlite3で、 tracとredmine双方がローカルなファイルシステム上にある、 というのが前提。 まあ、tracのデータベースがsqlite3なら、 一端止めてtarでまとめてからコピーしちゃえばいいんだけど。
サーバーのOSをFreeBSD 9.1にしたので、 最初からインストールし直し。 redmineもバージョンがあがっているので、 微妙にインストール方法が変わっている。 今回は、ruby18とruby20をインストールして、 /usr/local/bin/ruby をruby20にリンクしておいた。 で、まずはruby-gemsをインストール。 が、まだruby-gemsはruby18に依存しているようだ。 rubyのハードリンクをruby18に戻す。 で、
をインストールしてから、
$ git clone git://github.com/redmine/redmine.git
でリポジトリをまるごとコピー。
# chown -R www:www redmine/ # chmod -R g+w redmine/
でパーミッションを変更。 どうせgitのリポジトリなので、
$ git co 2.3.0 $ git co -b 2.3.0-local
で、おれおれブランチを作っておく。 redmineのディレクトリに移動してから、
# gem install bundler # bundle --without development test mysql postgresql
で必要なgemをインストール。 config/database.ymlは
production: adapter: sqlite3 database: db/redmine.sqlite3
と、相変わらずお手軽にSQLiteである。
$ rake generate_secret_token
でセッションストア秘密鍵を作成。
$ RAILS_ENV=production rake db:migrate
でデータベーススキーマを作成。
$ RAILS_ENV=production rake redmine:load_default_data
でデータ諸々を作成し、使用言語を設定。 なぜかpublic/plugion_assetsだけ作成されていないので、 mkdirで作成して所有者をwwwに変えておく。 テスト起動は
$ ruby script/rails server webrick -e production
で、http://localhost:3000/ でアクセスできる。 まずはadminでログインして新しい管理者アカウントを作り、 adminは削除しておく。
passengerもバージョンが上がっているので、httpd.confには
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.19/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.19 PassengerRuby /usr/local/bin/ruby18
である。
DocumentRoot "/foo/redmine/public"
と、
<Directory "/foo/redmine/public> RailsEnv "production" Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
はそのままでOKだった。
ただし、redmine/db/redmine.sqlite3 をapacheが読み書きできるように設定しておかないと、 Internal Server Errorになる。
tracからのインポートは相変わらず
$ RAILS_ENV=production rake redmine:migrate_from_trac
でいけるが、どうやらtrac側のデータベースはSQLite以外にも、 mysql2とpostgresqlに対応したようである。
800コミットで容量にして3GB超えのリポジトリを設定すると、 もちろんTime OutでInternal Server Errorになる。 そこで最初に同じ名前で空のリポジトリを作って登録する。 これはすぐに終わるので、 ダミーのリポジトリを削除して本当のリポジトリと入れ替える。 これでなんとか表示してくれたが、 一番最初はだいぶ待たされた。 これでもダメなら、
$ ./script/rails runner "Repository.fetch_changesets" -e production
という方法があるらしい。