S_a_k_Uの日記みたいなDB

~サクゥーと呼ばないで~

いろいろインストール(2)〜Redmineを使う

いたさんのブログ > Ruby on Rails のセットアップ(Linux編)の手順に沿ってインストール。

Rubyのインストール

RedhatFTPサイトで、RPMファイルを探すと1.6台しかなかったのでソースからビルドすることに。
Rubyのサイトから最新の1.9.1のソースをダウンロードしようとしたら、なぜだか会社のウィルスチェックに引っかかってみたりw
でも、ダウンロードページの下にあるFTPのリンクからだとブラウザでダウンロードできてみたりwww

$ tar xzvf ruby-1.9.1-p129.tar.gz
$ cd ruby-1.9.1-p129
$ ./configure 
$ make 
$ make test
$ make install

ruby-1.9.1-p129.tar.gzの中のREADME.jaに説明があってこんな感じ。

RubyGemsのインストール

RubyForgeのサイトから最新の1.3.4をダウンロードしてセットアップを実行する。

$ tar xzvf rubygems-1.3.4.tgz
$ cd rubygems-1.3.4.tgz
$ ruby setup.rb

Railsのインストール

そのままgem installでインストールと思ったら、

$ gem install rails --include-dependencies
INFO:  `gem install -y` is now default and will be removed
INFO:  use --ignore-dependencies to install only the gems you list
ERROR:  http://gems.rubyforge.org/ does not appear to be a repository
ERROR:  could not find gem rails locally or in a repository

ってなメッセージが出て、リポジトリに繋がらないと。
wgetで取得できてるのに…と思ったけど、setコマンドで確認したけど環境変数のhttp_proxyの設定がなかったのが原因でした。
京の路 > Proxy経由のgem install

$ export http_proxy=http://proxy.xxx.yyy.zzz:8080
$ gem install rails --include-dependencies

SQLiteのインストール

こちら
[Z]ZAPAブロ〜グ2.0 > SQLite3インストールメモ
を参考にして、同じくmake時にTCL機能関係でエラーが出てみたり。

wget http://www.sqlite.org/sqlite-3.6.15.tar.gz
tar zxvf sqlite-3.6.15.tar.gz
sqlite-3.3.15/configure
make
【エラー発生】
make clean
sqlite-3.3.15/configure --disable-tcl
make
make install

SQLite/Rubyのインストール

($ export http_proxy=http://proxy.xxx.yyy.zzz:8080)
$ gem install sqlite3-ruby

Redmineのインストール

ダウンロードして解凍するだけ。

$ wget http://rubyforge.org/frs/download.php/56909/redmine-0.8.4.tar
$ tar xzvf redmine-0.8.4.tar.gz

DBの初期化

ここでワナが。
Rubyの最新ということで1.9.1をインストールしたけど、Redmineの0.8.xがRubyの1.9.xに対応していないらしいことが発覚w
database.ymlとemail.ymlを作成して、

【database.yml】
production:
  adapter: sqlite3
  database: db/redmine.db
  timeout: 5000

【email.yml】
production:
  delivery_method: :smtp
  smtp_settings:
    address:xxx.xxx.xxx.xxx
    port: 25
    domain: hoge.co.jp
    #authentication: :login
    #user_name: redmine@example.net
    #password: redmine

rakeコマンドを実行すると、

$ rake db:migrate RAILS_ENV=production
(in /usr/local/redmine/redmine-0.8.4)
rake aborted!
no such file to load -- test/unit/error
/usr/local/redmine/redmine-0.8.4/Rakefile:10:in `require'
(See full trace by running task with --trace)

というエラーが発生しますが、Rubyの1.8.7で再インストールを行うとエラーが発生しなくなりました。

$ rake db:migrate RAILS_ENV=production
$ rake load_default_data RAILS_ENV=production
【途中で言語を聞いてくるので】
Select language: bg, ca, cs, da, de, en, es, fi, fr, he, hu, it, ja, ko, lt, nl, no, pl, pt, pt-br, ro, ru, sk, sr, sv, th, tr, uk, vn, zh, zh-tw [en] 【jaと入力】

シェルで起動する

G・P・K > Redmine スケジュール管理ソフトを参考にさせて頂きました(パスとユーザを変えただけ)。

REDMINE_HOME="/usr/local/ruby/rails/redmine/redmine-0.8.4"
REDMINE_PORT=3000

DAEMON="/usr/local/bin/ruby"
DAEMON_OPTS="${REDMINE_HOME}/script/server -e production -p ${REDMINE_PORT} --daemon"
NAME=redmine
DESC="${NAME} server"
USER=redmine
PIDFILE=/usr/local/ruby/rails/redmine/$NAME.pid

test -x $DAEMON || exit 0
. /etc/rc.d/init.d/functions

start() {
    sudo -u $USER $DAEMON $DAEMON_OPTS 2>/dev/null
    if [ "$?" -eq 0 ]
    then
        pidof $DAEMON > $PIDFILE
        return 0
    fi
        return 1
}

stop() {
    kill -9 `cat $PIDFILE 2>/dev/null` 2>/dev/null
        [ "$?" -ne 0 ] && return 1
        rm -f $PIDFILE
        return 0
}

case "$1" in
        start)
                echo -n $"Starting ${DESC}: "
                start
                RETVAL=$?
                [ $RETVAL -eq 0 ] && success || failure
                echo
                 ;;
        stop)
           echo -n $"Shutting down ${DESC}: "
            stop
           RETVAL=$?
           [ $RETVAL -eq 0 ] && success || failure
           echo
            ;;
        restart)
                echo -n $"Restarting ${DESC}: "
                stop
                if [ $? -ne 0 ]; then
                        failure ; echo ; exit 0
                fi
                sleep 1
                start
                [ $? -eq 0 ] && success || failure
                echo
                 ;;
  *)
            echo "Usage: $0 {start|stop|restart}" >&2
            exit 1
             ;;
esac
exit 0