仕事でRedmineを使っていると、私用でもRedmineが使いたくなったため、持ち運び可能なRedmineを構築した時のメモ。
すでに存在しているもの
以下のサイトにて、構築済のRedmineへのリンクと構築時の紹介がありました。
記載内容がとても参考になり、助かりました。ありがとうございました。
Haru's blog - JRuby で Redmine や ChiliProjectを動かす
ただ、バージョンアップの方法などがわからないと自分で運用するときに困るので、参考にして自力でセットアップすることに。
実際の手順
構築する環境
JRubyの動作と現在のgem listを確認
jruby -v
jruby 1.6.7 (ruby-1.8.7-p357) (2012-02-22 3e82bc8) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_17) [Windows 7-amd64-java]
gem list
*** LOCAL GEMS ***rake (0.8.7)
sources (0.0.1)
パッケージの追加インストール
最終的なgemの状態は以下の通りとなるため、不足しているものを追加する。
*** LOCAL GEMS ***
actionmailer (2.3.14)
actionpack (2.3.14)
activerecord (2.3.14)
activerecord-jdbc-adapter (1.2.2)
activerecord-jdbcsqlite3-adapter (1.2.2)
activeresource (2.3.14)
activesupport (2.3.14)
i18n (0.4.2)
jdbc-sqlite3 (3.7.2)
rack (1.1.1)
rails (2.3.14)
rake (0.8.7)
sources (0.0.1)
ちなみに、Redmine.JP Blog - Redmine 1.3をCentOS 6にインストールする手順 によると、
なお、Redmineを実行するにあたり開発者用ドキュメントは不要なので、本手順では全てのgemパッケージのインストール時に --no-rdoc --no-ri を指定しています。
とのことなので、以下の手順もその方針で進める。
Railsのインストール
jruby -S gem install rails -v=2.3.14 --no-rdoc --no-ri
Fetching: activesupport-2.3.14.gem (100%)
Fetching: activerecord-2.3.14.gem (100%)
Fetching: actionpack-2.3.14.gem (100%)
Fetching: actionmailer-2.3.14.gem (100%)
Fetching: activeresource-2.3.14.gem (100%)
Fetching: rails-2.3.14.gem (100%)
Successfully installed activesupport-2.3.14
Successfully installed activerecord-2.3.14
Successfully installed actionpack-2.3.14
Successfully installed actionmailer-2.3.14
Successfully installed activeresource-2.3.14
Successfully installed rails-2.3.14
6 gems installed
Rackのインストール
Redmine.JPに従い、1.1.1をインストールする。
jruby -S gem install rack -v=1.1.1 --no-rdoc --no-ri
Fetching: rack-1.1.1.gem (100%)
Successfully installed rack-1.1.1
1 gem installed
i18nのインストール
jruby -S gem install i18n -v=0.4.2 --no-rdoc --no-ri
Fetching: i18n-0.4.2.gem (100%)
Successfully installed i18n-0.4.2
1 gem installed
SQLiteまわりのインストール
activerecord-jdbcsqlite3-adapterをインストールすれば、依存している他のものもインストールされるとのこと。
バリケンのRuby日記 - JRubyでRubyGems
jruby -S gem install activerecord-jdbcsqlite3-adapter --no-rdoc --no-ri
Fetching: activerecord-jdbc-adapter-1.2.2.gem (100%)
Fetching: jdbc-sqlite3-3.7.2.gem (100%)
Fetching: activerecord-jdbcsqlite3-adapter-1.2.2.gem (100%)
Successfully installed activerecord-jdbc-adapter-1.2.2
Successfully installed jdbc-sqlite3-3.7.2
Successfully installed activerecord-jdbcsqlite3-adapter-1.2.2
3 gems installed
SQLite3本体をダウンロード
ダウンロードページ(http://www.sqlite.org/download.html)から、sqlite-dll-win32-x86-3071000.zip をダウンロード・解凍し、C:\Windows\System32 などのパスの通っているところへ移動
Subversionの入手
Redmineを入手するため、Subversionのバイナリを入手する。
今回は手っ取り早く入手したかったため、メンテナンスされていないのを覚悟の上でTigris - 1.6.x (archived, win32, apache 2.2.x)より、svn-win32-1.6.6.zipを入手。任意のところへ解凍。
Redmine本体のダウンロード
先程ダウンロードしたsvn.exeを利用し、Redmine本体をダウンロードする
\path\to\svn.exe checkout http://redmine.rubyforge.org/svn/branches/1.3-stable redmine
Redmineを起動する前の設定
database.ymlの編集
production:
adapter: jdbcsqlite3
database: db/redmine.db
encoding: utf8development:
adapter: jdbcsqlite3
database: db/redmine_development.db
encoding: utf8test:
adapter: jdbcsqlite3
database: db/redmine_test.db
encoding: utf8
セッションストア秘密鍵の生成
rake config/initializers/session_store.rb
(in D:/Jredmine/redmine)
Please install RDoc 2.4.2+ to generate documentation.
DBの初期化
rake db:migrate RAILS_ENV=production
ちなみに、Redmine1.3.1では以下のエラーが出ることがある。
Please install RDoc 2.4.2+ to generate documentation.
Missing these required gems:
rubytree >= 0You're running:
ruby 1.8.7.357 at D:/Jredmine/jruby/jruby-bin-1.6.7/jruby-1.6.7/bin/jruby.exe
rubygems 1.8.15 at D:/Jredmine/jruby/jruby-bin-1.6.7/jruby-1.6.7/lib/ruby/gems
/1.8, C:/path/to/.gem/jruby/1.8Run `rake gems:install` to install the missing gems.
gemが足りないと言われるが、実際には、Redmine1.3.1のバグの模様。
究極のエンジニアへの道 - redmine のセットアップをするブヒー
stackoverflow - “missing required gems” error when creating the database
自分の場合は、リビジョン8214に記載されている以下のファイルを、trunk(リビジョン9125)のものと差し替えたところ、migrateすることができた。
デフォルトデータ投入
言語を求められたら、「ja」
rake redmine:load_default_data RAILS_ENV=production
Select language: ar, bg, bs, ca, cs, da, de, el, en, en-GB, es, eu, fa, fi, fr,
gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, s
k, sl, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] jaDefault configuration data loaded.
Redmineの起動
jruby script/server webrick -e production
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-03-06 05:36:59] INFO WEBrick 1.3.1
[2012-03-06 05:36:59] INFO ruby 1.8.7 (2012-02-22) [java]
[2012-03-06 05:36:59] INFO WEBrick::HTTPServer#start: pid=5860 port=3000
停止
コマンドプロンプト上で、「Ctrl + C」し、以下の表示で停止完了。
[2012-03-06 05:39:45] INFO going to shutdown ...
[2012-03-06 05:39:45] INFO WEBrick::HTTPServer#start done.
Exiting
Gitリポジトリの作成
とりあえずのリポジトリは、Windows7 + PortableGit + GitHub の環境を構築する で作成したGitHub用を再利用。
$ cd /d/Jredmine/git
$ git --bare init
Initialized empty Git repository in d:/Jredmine/git/$ cd /d/GitHub/Sample_FileWriter
$ git push /d/Jredmine/git master
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 1.85 KiB, done.
Total 5 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (5/5), done.
To d:/Jredmine/git
* [new branch] master -> master
Git用に、Redmineのconfiguration.ymlファイルを編集
config/configuration.yml を開き、130目あたりの「scm_git_command」に「git.cmd」のファイルパスを記入
scm_subversion_command:
scm_mercurial_command:
scm_git_command: \path\to\Git\cmd\git.cmd
scm_cvs_command:
scm_bazaar_command:
scm_darcs_command:
注意書きを見ると、
# On Windows + JRuby 1.6.2, path which contains spaces does not work.
# For example, "C:\Program Files\TortoiseHg\hg.exe".
# If you want to this feature, you need to install to the path which does not contains spaces.
# For example, "C:\TortoiseHg\hg.exe".
とのこと。
また、Redmine.JPにあるような、
bareリポジトリをWindows上で作成する場合、PATH環境変数の末尾に以下の内容を追加してください:
;%GIT_PATH%\cmd;%GIT_PATH%\bin;
はなくても大丈夫そう。
参考
他の記事
PortableなRedmineを作るためのヒントは以下より。
*1:Redmine.JP - アップグレード を読むと、SVNチェックアウトのみで良さそうで楽に見えたため