Tracksを試す

カテゴリ: misc.
タグ: ,

タスク管理というかGTDのためのWebサービスは世の中にたくさんあるが、
仕事柄(?)自分のタスクをそういう外部サービスには預けたくない。
となると必然的にローカルで使えるサービスを探すわけだが、
github で公開されている Tracks というのを見つけた。
今回はそのインストールログ。

環境構築

私の使ってるマシンは MacBook Air で、OS は Mac OS X 10.7.5。

まずソフトウェア本体を $HOME 以下の適当なディレクトリに git clone しておく。

$ git clone https://github.com/TracksApp/tracks.git

私は Ruby を全然使わないので、mac の Ruby 環境はまっさらである。
Mac OS X には最初から ruby 1.8.x や SQLite3 がインストールされているが、
Tracks の Install manual では v.2.2.2 より後のバージョンでは
Ruby 1.8.x をサポートしないなんて書いてあるので、
Ruby 1.9.x の環境を作る。

Ruby 本体の前に、RubyGems は労せずとも最新にできるので、
予め実行しておく。

$ gem update --system

Python でいう virtualenv のように、
Ruby でも仮想環境をスイッチできるソフトがあって、
rvm とか rbenv とかいうものがよく使われているらしいが、
私は Ruby をガチで使うことはおそらくないので、
軽量と噂の rbenv を使うことにする。
参考: Macにrbenvでruby1.9.3を入れてみた。 : ゆでだこカンタービレ

$ brew install rbenv ruby-build
$ echo 'PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ source ~/.bashrc

日本語環境を irb で使うためにはさらに readline 等も必要のこと。
私はすでにインストールしていたので今回改めてインストールしていないが、
インストールしていない方は注意。

さらに Ruby 1.9.x をインストール。まず提供されているバージョンを調べると

$ rbenv install -l | grep 1.9
  1.9.1-p378
  1.9.1-p430
  1.9.2-p0
  1.9.2-p180
  1.9.2-p290
  1.9.2-p318
  1.9.2-p320
  1.9.3-dev
  1.9.3-p0
  1.9.3-p125
  1.9.3-p194
  1.9.3-p286
  1.9.3-p327
  1.9.3-p362
  1.9.3-p374
  1.9.3-p385
  1.9.3-p392
  1.9.3-p429
  1.9.3-p448
  1.9.3-preview1
  1.9.3-rc1

とのことなので、本記事執筆時点で一番新しい 1.9.3-p448 を入れることにする。
開発版や rc はやめとく。

$ rbenv install 1.9.3-p448
$ rbenv rehash
$ rbenv global 1.9.3-p448

これで which ruby とかすると、 ~/.rbenv 以下の ruby に PATH が通って、

$ ruby -v
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin11.4.2]

といった具合になっていることがわかる。

インストール

Install manual にあるように、まず必要なパッケージを gem でインストールする。

最初の git clone でできた tracks ディレクトリを、これから $TRACKS と書く。
$TRACKS/Gemfile を編集して、MySQL についてコメントアウトしておく。

先に bundler とかいうのをインストールする必要があるらしいので、
which gem~/.rbenv 下の gem が呼ばれることを確認したうえで、

$ gem install bundler

次いで、同様に which bundler~/.rbenv 下の bundler が呼ばれることを確認したうえで、

$ bundle install --without development,test

として必要なパッケージをゴソッとインストールする。

あとは Install manual の指示通り、

$ cp $TRACKS/config/database.yml{.tmpl,}
$ cp $GRACKS/config/site.yml{.tmpl,}

して、これら2つの設定ファイルを適宜編集する。

Apache ではなく WEBrick という Web サーバ で動かす場合は、
次のような設定変更も必要である。

$ vi $TRACKS/config/environments/production.rb
config.serve_static_assets = true

さて、Install manual にあるように

$ bundle exec rake db:migrate RAILS_ENV=production
$ bundle exec rake assets:precompile

としておく。

Web サーバの設定

この状態で、WEBrick という Web サーバを起動してみる。

$ bundle exec rails server -e production

こうすると 3000/tcp を listen する Web サーバが起動するので、
適当なブラウザで http://localhost:3000/ へアクセスし、
サービスが動くことを確認する。

しかしいちいち Web サーバを起動するのは面倒なので、
mac の「Web共有」で起動する Apache httpd で利用できるようにする。

ググったら Passenger というのを見つけたので、これを使う。

$ gem install passenger
$ passenger-install-apache2-module

これを実行すると、httpd.conf に書くべき設定が表示される。
表示される説明はちゃんと読んでいかないといけない。

httpd.conf に直に書いて汚したくないので、
/private/etc/apache2/other/rails.conf という設定ファイルを作って、
ここに全部記述する。
other/*.conf は、httpd.conf にある

Include /etc/apache2/other/*.conf

の行で読み込まれる。rails.conf への記述内容は次の通り。

LoadModule passenger_module うんたらかんたら
PassengerRoot うんたらかんたら
PassengerDefaultRuby うんたらかんたら

RackEnv "production"

RailsBaseURI /tracks

最初の3行は passenger-install-apache2-module を実行して
表示される設定をコピペしただけ。

RackEnv は rails を本番環境で使うための設定。詳しくはググれ。

RailsBaseURI は Rails アプリへアクセスするための BaseURI。
上記の設定であれば、 $SERVERROOT/tracks へアクセスすると Rails に行く。

最後に、当該ディレクトリにシンボリックリンクを張る。

# ln -s $TRACKS/public $SERVERROOT/tracks

これで httpd を再起動すればおわり。Ruby on Rails 分からん。

2013/10/19 (土)

コメント