Rubyで作られたプロジェクト管理システムRedmineを、FreeBSDにインストールした。
文字通り、インストールだけ。
というのもインストールだけで大変だから。
その経緯を示す。

前提

インストールしたのはredmine-2.5.1。
基本、公式の以下手順に沿うが、FreeBSD特有の条件で異なる手順を採ることもある。
http://www.redmine.org/projects/redmine/wiki/RedmineInstall
また、redmineはそのデータ格納にデータベースソフトウェアが必要で、sqlite3を使っている。
複数ユーザで使うならMySQLやPostgreSQLを推奨、というのが公式見解。
同様にwebサーバもapacheやnginxが推奨されているが、ここではwebrickでテストするところまで。

redmineのインストール

pkgからインストール。
pkg install redmineでよい。
apacheなどのwebサーバはなくてもよいが、なぜかgtk2も付いてくるのが謎だが、jailに入れるからもう気にしない。

# pkg install redmine
(略)
       Installing cups-image: 1.7.2
        Installing gtk-update-icon-cache: 2.24.22
        Installing ghostscript9: 9.06_6
        Installing gtk2: 2.24.22_3
        Installing gtk-engines2: 2.20.2_2
        Installing librsvg2: 2.36.4_1
        Installing ImageMagick: 6.8.0.7_8,1
        Installing rubygem-rmagick: 2.13.2
        Installing redmine: 2.5.1_2

The installation will require 651 MB more space

122 MB to be downloaded

Proceed with installing packages [y/N]: y

/usr/local/www/redmineにインストールされる。
ユーザ/グループはwwwが使われる。

空のデータベースを作る

SQLite3を使っているなら不要

redmineでデータベースに繋ぐ設定をする

/usr/local/www/redmine/configの下に各種設定ファイルがある。
ここでデータベースの設定を行う。
database.yml.exampleをdatabase.ymlとしてコピーし、書き換える。

/usr/local/www/redmine/config # cp ./database.yml.example ./database.yml
/usr/local/www/redmine/config #

「production」から始まる塊を以下のように。

#production:
  #adapter: mysql2
  #database: redmine
  #host: localhost
  #username: root
  #password: ""
  #encoding: utf8

production:
  adapter: sqlite3
  database: db/redmine.sqlite3

つまり、mysql2を使うような設定を、sqlite3に変えているわけですな。

bundler他のインストール

公式ドキュメントによればここでbundlerなどのインストールを行うが、FreeBSDでpkg/portsからインストールした場合にはスキップ可。
ご覧の通りredmineがインストールされた状態でbundlerもインストールされている。

$ pkg info|grep bundler
rubygem-bundler-1.5.3          A tool that manages gem dependencies for ruby applications

セッションストア秘密鍵の作成

クッキーの生成に使用される秘密鍵を作る。

# rake generate_secret_token
(in /usr/local/www/redmine)
#

データベースのスキーマ(テーブル)作成

テーブル作成
環境変数を使うのでshで。

# sh
# RAILS_ENV=production rake db:migrate
(略)
==  StoreRelationTypeInJournalDetails: migrating ==============================
==  StoreRelationTypeInJournalDetails: migrated (0.0057s) =====================

==  DeleteOrphanTimeEntriesCustomValues: migrating ============================
==  DeleteOrphanTimeEntriesCustomValues: migrated (0.0009s) ===================

==  ChangeChangesetsCommentsLimit: migrating ==================================
==  ChangeChangesetsCommentsLimit: migrated (0.0000s) =========================

#

データベースにデフォルトデータを投入

作ったばかりのテーブルにデータ(default configuration data)を投入

# RAILS_ENV=production REDMINE_LANG=ja rake redmine:load_default_data
(in /usr/local/www/redmine)
Default configuration data loaded.
#

パーミッション設定

あと少し。
redmineがファイルを置くディレクトリのパーミッションを設定する。
FreeBSDにおいてはユーザ、グループにwww:wwwを使う。

# mkdir -p tmp tmp/pdf public/plugin_assets

# chown -R www:www files log tmp public/plugin_assets
# chmod -R 755 files log tmp public/plugin_assets
#

これでほぼ準備完了

試運転

webrickでredmineを起動し、動くかどうかを確かめる。

# ruby script/rails server webrick -e production
=> Booting WEBrick
=> Rails 3.2.17 application starting in production on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2014-05-11 11:43:43] INFO  WEBrick 1.3.1
[2014-05-11 11:43:43] INFO  ruby 1.9.3 (2013-11-22) [amd64-freebsd10]
[2014-05-11 11:43:43] INFO  WEBrick::HTTPServer#start: pid=4187 port=3000

ご覧の通り、redmineをインストールしたマシンのポート3000で待ち受け。
ブラウザで繋ぐと、ターミナルには例えば以下のような反応があるはず。

Started GET "/" for 192.168.1.106 at 2014-05-11 11:44:01 +0900
Processing by WelcomeController#index as HTML
  Current user: anonymous
  Rendered welcome/index.html.erb within layouts/base (379.0ms)
Completed 200 OK in 716.5ms (Views: 468.3ms | ActiveRecord: 20.8ms)

あとはブラウザから操作。

最初のログイン

以下のような画面が表示されれば成功で、さっそく右上のログインをクリック

img

ID、パスワードはadmin,admin

img

以下の画面に遷移

img

ためしに「管理」をクリックすると、以下の画面に。

img

以上。