2014年2月24日月曜日

Redmine on TS-220 (3) Redmine のインストール

■ bundler のインストール
 Redmine に必要な Gem パッケージを一括取得するため

# gem install bundler --no-rdoc --no-ri
# ln -s /opt/local/ruby/bin/bundle /opt/bin

■ Redmine 2.4.3 のインストール

 current directory: /opt/local/src
# wget http://www.redmine.org/releases/redmine-2.4.3.tar.gz
# tar xvfz redmine-2.4.3.tar.gz
# mv redmine-2.4.3 ../redmine-2.4.3
# cd ../redmine-2.4.3

■ phpMyAdmin のインストール
 TS-220 にブラウザでログインし、App Center から phpMyAdmin をインストール

■ MySQL に Redmine 用 データベースとユーザを作成
 TS-220 にブラウザでログインし、MySQL を有効化
 ブラウザで http://'NAS-IP'/phpMyAdmin を開き、phpMyAdmin 上で操作を行う
 ※ 起動できないときは・・・

create database redmine character set utf8;
create user 'redmine'@'localhost' identified by 'my_password';
grant all privileges on redmine.* to 'redmine'@'localhost'; 

■ Redmine のデータベースへの接続設定

 current directory: /opt/local/redmine-2.4.3
# cp config/database.yml.example config/database.yml
# vi config/database.yml

 database.yml
production:
    adapter: mysql
    database: redmine
    host: localhost
    username: redmine
    password: my_password
    encoding: utf8

■ Redmine 用 Gem パッケージのインストール

 current directory: /opt/local/redmine-2.4.3
# bundle install --without development test

■ Redmine の初期設定とデータベースのテーブル作成

 current directory: /opt/local/redmine-2.4.3
# bundle exec rake generate_secret_token
# RAILS_ENV=production bundle exec rake db:migrate

■ Redmine インストール後の動作確認テスト

 current directory: /opt/local/redmine-2.4.3
# ruby script/rails server webrick -e production

 WEBrick 起動後にブラウザで http://'NAS-IP':3000 を開く
 Redmine のホーム画面が表示されれば、Redmine 自体のインストールは成功

# cd ../src

NEXT: Redmine on TS-220 (4) Passenger のインストールと Apache 連携

2014年2月23日日曜日

Redmine on TS-220 (2) ビルド環境の構築

Ruby が前提となるため、必要なものを用意する。

以降、すべての作業を次のユーザで行う。
 admin (TS-220 の管理者)

■ Optware(IPKG) のインストール
 (1) TS-220 にブラウザでログインし、App Center から Optware(IPKG) をインストール
 (2) TS-220 に SSH でログインし、Optware.sh の PATH 変数の優先順位を変更

# vi /opt/Optware.sh

 Optware.sh
[ $? -ne 0 ] && /bin/echo "export PATH=/opt/bin:/opt/sbin:\$PATH" >> /etc/profile

TS-220 を再起動し SSH でログイン

■ IPKG で色々とインストール
 ※参考先にもあるようにすべては不要(面倒だった)

# ipkg install man
# ipkg install man-pages
# ipkg install less
# ipkg install bash
# ipkg install grep
# ipkg install which
# ipkg install sed
# ipkg install gawk
# ipkg install perl
# ipkg install procps
# ipkg install coreutils
# ipkg install util-linux-ng
# ipkg install zip
# ipkg install bzip2
# ipkg install zlib
# ipkg install diffutils
# ipkg install patchutils
# ipkg install make
# ipkg install binutils
# ipkg install gcc
# ipkg install gdb
# ipkg install libtool
# ipkg install glib
# ipkg install openssl-dev
# ipkg install pcre-dev
# ipkg install ncursesw-dev
# ipkg install net-tools
# ipkg install wget-ssl
# ipkg install imagemagick
# ipkg install tcl

ここからは、下記を前提として作業を進める
・独自インストールするものはすべて 
 /opt/local/src 以下で make
 /opt/local に配置

# cd /opt
# mkdir -p local/src -m 755
# cd local/src

■ libyaml 0.1.5 のインストール

 current directory: /opt/local/src
# wget http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz
# tar xvfz yaml-0.1.5.tar.gz
# cd yaml-0.1.5
# ./configure --prefix=/opt/local/yaml-0.1.5
# make 
# make check
# make install
# cd ..

■ libffi 3.0.13 のインストール

 current directory: /opt/local/src
# wget ftp://sourceware.org/pub/libffi/libffi-3.0.13.tar.gz
# tar xvfz libffi-3.0.13.tar.gz
# cd libffi-3.0.13
# ./configure --prefix=/opt/local/libffi-3.0.13
# make
# make check
# make install
# cd ..

■ Ruby 1.9.2-p320 のインストール

 current directory: /opt/local/src
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p320.tar.bz2
# tar xvfj ruby-1.9.2-p320.tar.bz2
# cd ruby-1.9.2-p320
# ./configure --prefix=/opt/local/ruby-1.9.2-p320 \
 --with-opt-dir=/opt:/opt/local/yaml-0.1.5:/opt/local/libffi-3.0.13 \
 --disable-install-doc --disable-install-rdoc --disable-install-capi
# make
# make check
# make install
# cd ..

 ※ 途中で /tmp 以下でエラーがでる場合、スティッキービットを予め立てておく

# chmod 1777 /tmp

■ Ruby のシンボリックリンクを張っておく
 ※後程の作業が捗る
# ln -s /opt/local/ruby-1.9.2-p320 /opt/local/ruby
# ln -s /opt/local/ruby/bin/ruby /opt/bin
# ln -s /opt/local/ruby/bin/gem /opt/bin
# ln -s /opt/local/ruby/bin/rake /opt/bin


参考: QNAP TS410 QTS4.0.1 で ruby を入れる手順~

NEXT: Redmine on TS-220 (3) Redmine のインストール

Redmine on TS-220 (1) 構成

仕事ではGitを使う場面が多くなり、スクラム開発も絡めてRedmineを検討していたところ
ALMiniumが条件に合っていたので採用した。
ディストリビューションが制限されるのが難点ではあるが、お手軽さは魅力である。

一方、自宅のNAS(QNAP TS-220)にも同様な環境が構築できないものかと
悪戦苦闘したので忘備録として残しておく。

いわゆる組込みLinuxであり、/以下の基本部分はすべてRAMに乗っている。
シンボリックリンクで様々な辻褄を合わせているため、普通の感覚でいると
再起動時に設定が消えていたなどということが頻繁に起こるため要注意。

まず結論から書くと、以下の構成となる。
※動作は確認済み

・Apache Http Server
Phusion Passenger 3.0.0
・MySQL
Ruby 1.9.2-p320
Redmine 2.3.4

※特に Passenger と Ruby のバージョンを指定したことには理由があり
 この組み合わせ以外では Passenger のコンパイルが成功しない
 ・Passenger 3.0.0 以外 → Passenger のコンパイルに失敗
 ・Ruby 2.x.x → Ruby の make に失敗 
 ・Passenger 3.0.0 + Ruby 1.9.3 → インストールには成功するが接続時にエラー

上記の内、TS-220 には標準で下記がインストール済みである。

・Apache Http Server(Customized)
・MySQL
・Ruby

Apache Http Server および MySQL はそのまま利用することにする。
Ruby は Redmine が対応していないバージョンのため、標準のものには手を加えずに
残すものとする。

NEXT: Redmine on TS-220 (2) ビルド環境の構築