CollabNet Subversion Edge上に Redmine をデプロイしてなんか Traclightning っぽくしてみた
前回CollabNet Subversion Edge(以下 csvn)をインストールしたが、
急遽Redmineも合わせて使いたいという要望が上がった。
ITSを導入するプロジェクトが増えるのはいいことだし、
自分も実際に仕事で Redmine を使うのは初めてだったので是非!という感じでセットアップをさせてもらった。
ただし
- 外に開けるポートはなるべく減らしたい
- イントラネット上に構築するのでセキュリティはそこまで神経質でなくてよい
- とにかく早く構築して使い始めたい
構築の際には上記のような制限があったので、最終的にcsvnでインストールされた
apacheサーバーの後ろに Redmine を立てることにした。以下はその際の作業メモ。
csvn をインストールしたディレクトリに各ソフトウェアをインストールし、環境を構築する。
インストール済みのもの
- CollabNetSubversionEdge v1.3.1
- java v1.6.23
インストールするもの
ruby installer
csvn\ruby187にインストール。
pathを通す。
sqlite3
exeとdllを両方ダウンロードし、exeにpathを通す。
インストール先はcsvn\sqlite375。
必要なgem をインストールする
$ gem --version 1.3.7 $ gem install rails -v=2.3.5 $ gem install -v=0.4.2 i18n $ gem install mongrel_service $ gem install sqlite3-ruby
sqlite3-rubyをインストールする際に以下のようなメッセージが表示されるので
指示通りにdllを%RUBYHOME%\binにコピーする。
You've installed the binary version of sqlite3. It was built using SQLite3 version 3.7.3. It's recommended to use the exact same version to avoid potential issues. At the time of building this gem, the necessary DLL files where available in the following download: http://www.sqlite.org/sqlitedll-3_7_3.zip You can put the sqlite3.dll available in this package in your Ruby bin directory, for example C:\Ruby\bin
redmine/config/database.yml.exampleをsqlite3用に編集。
production: adapter: sqlite3 dbfile: db/redmine.db timeout: 5000
redmineのセションをクリアしてデータベースのinitialize。
デフォルトデータの挿入をする。
$ cd csvn\redmine $ rake config/initializers/session_store.rb $ rake redmine:load_default_data RAILS_ENV="production"
mongrelでredmineが立ち上がることを確認し、サービスに登録する
$ cd csvn\redmine $ ruby script/server -e production # booting mongrelと表示されていることを確認する # http://localhost:3000にアクセスしてredmineのログイン画面が表示されればOK $ mongrel_rails service::install -N "Redmine" -c D:\tools\csvn\redmine -p 3000 -e production
今回は3000番のポートは外に向けて開けない。
したがってcsvnが稼動しているapachに/redmineでアクセスがあった場合、redmineに
リクエストを送るように変更する。
# csvn\data\conf\httpd.conf # *.so自体はcsvnに標準で含まれているのでLoadModuleのみ追記する LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so <Location /redmine> ProxyPass http://localhost:3000 ProxyPassReverse http://localhost:3000 </Location>
このままだとredmineの表示が崩れるのでproduction.rbを編集する
# rails_root/config/environment/production.rb # 2行目に以下を追記する ActionController::Base.relative_url_root = '/redmine'
apacheおよびredmineのサービスを再起動してアクセスできるか確認する。
よりTraclightningっぽくするのであれば同じようにJenkinsをapache上に展開すれば良い。