2013年8月10日土曜日

Redmine 2.3.2 Install

仕事で使う事になりそうなので(今更?)、先に慣れておくことの意味も含めてインストールしてみる。
といいつつ、あくまでもテスト&勉強用なので可能な限り一つのフォルダ内に押し込めて、不要になったらフォルダごと削除することで環境を戻すようにする。
と言うより、環境が整った時点でフォルダごとバックアップし、何かあったら(テストで壊したら)フォルダごと差し替えで「最初に戻る。」が出来るようにしたい。

【環境】
Windows XP (32bit)

【ソフトウェア】
  • 7-Zip 9.20
  • Sqlite3 3.7.17
  • Ruby 1.9.3-p448(mingw32版)
  • Redmine 2.3.2
【概要】
  1. 各種ソフトウェアのダウンロード
  2. アーカイブの展開
  3. インストール
  4. 稼動確認

【実施手順】
  1. 前提
    Zipでアーカイブされているファイルを解凍できる事。
    例:コマンドラインでZIPファイルを解凍する方法(日本エフ・セキュア株式会社)
    http://www2.f-secure.co.jp/download/antivirus/unzip.htm
    とか、Lhaplus などのツールを利用するとか。
  2. 各種ソフトウェアのダウンロード
    1. 7-Zip
      http://www.7-zip.org/download.html
      7-Zip Command Line Version を 選択。(アーカイブの展開だけで利用できる。即ちインストールの必要が無い)
    2. Sqlite3
      http://www.sqlite.org/download.html
      sqlite-dll-win32-x86-3071700.zip を選択
    3. Ruby
      http://rubyinstaller.org/downloads/
      7-ZIP ARCHIVES 内にある Ruby 1.9.3-p448 を選択。(mingw32版,  これもアーカイブの展開だけで利用できる)
      Ruby2.0系を利用しないのは、sqlite3用バイナリが無い為、sqlite3を利用した環境を構築出来ない為)
      (※元ネタを記載されていた方のページが見つけられなくなった…ごめんなさい)
    4. DEVELOPMENT KIT
      http://rubyinstaller.org/downloads/
      DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe を選択。(自己解凍形式7Zipアーカイブ)
    5. Redmine
      http://rubyforge.org/frs/?group_id=1850
      redmine-2.3.2.zip を選択。(構築時点の最新)
  3. アプリケーション展開先フォルダ作成 & ダウンロードファイル移動
    1. [c:\apps\redmine] フォルダを作成
    2. ダウンロードした各ファイルを移動
      c:\apps\redmine
      ├7za920.zip
      ├DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
      ├redmine-2.3.2.zip
      ├ruby-1.9.3-p448-i386-mingw32.7z
      └sqlite-dll-win32-x86-3071700.zip
  4. アーカイブの解凍
    1. zip形式ファイルの解凍
      結果として以下フォルダが作成される
      c:\apps\redmine
      ├7za920
      ├redmine-2.3.2
      └sqlite-dll-win32-x86-3071700
    2. Ruby
      1. Command Lineで操作
        c:\apps\redmine> 7za920\7za.exe x ruby-1.9.3-p448-i386-mingw32.7z
      2. 作成されたフォルダ名は長いのでRename
        c:\apps\redmine> rename ruby-1.9.3-p448-i386-mingw32 ruby193p448
      3. Paath を通したcommand.comを作成。
        [c:\apps\redmine\command.com] をテキストファイルで新規作成。
        @SET PATH=%~dp0sqlite-dll-win32-x86-3071700;%PATH%
        @SET PATH=%~dp0ruby193p448\bin;%PATH%
        @cd /d %~dp0
        @cls
        @ver
        @ruby -v
        @CMD /k
    3. DEVELOPMENT KIT
      JSONのインストールに必要
      1. DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe をダブルクリック
      2. 解凍先を指定する。[C:\DevWork\Redmine\DevKit-tdm-32-4.5.2]
      3. この時、自フォルダを作らないため、「DevKit-tdm-32-4.5.2」などを忘れずに指定すること。
      4. DEVELOPMENT KIT 初期化(config.yml の作成)
        上記2.Ruby にて作成した command.com を起動
        c:\apps\redmine> cd DevKit-tdm-32-4.5.2
        c:\apps\redmine> ruby dk.rb init
      5. config.yml 編集
        サンプル記述を参考に下記を追加(---の前行に挿入)
        ----- 前略 -----
        # ---
        # - C:/ruby19trunk
        # - C:/ruby192dev
        #
        - c;\apps\redmine\ruby193p448
        ---
      6. DEVELOPMENT KIT インストール実行
        c:\apps\redmine> ruby dk.rb install
  5. Redmine 初期セットアップ
    1. 上記2.Ruby にて作成した Command.com を起動
    2. bundler のインストール
      c:\apps\redmine> gem install bundler
    3. Redmineが使うツール群のインストール
      c:\apps\redmine> cd redmine-2.3.2
      c:\apps\redmine\redmine-2.3.2> bundle install --without development test postgresql mysql rmagick
    4. SQLite3-ruby のインストール
      c:\apps\redmine\redmine-2.3.2> gem install sqlite3-ruby
    5. セッションキー作成
      c:\apps\redmine\redmine-2.3.2> rake generate_secret_token
  6. DataBase設定(作成)
    1. database.yml の作成
      c:\apps\redmine\redmine-2.3.2> cd config
      c:\apps\redmine\redmine-2.3.2\config> cp database.yml.example database.yml
    2. database.yml の修正(Sqlite3用)
      1. Mysql2関連を全てコメントアウト(全行をコメントアウト)
      2. SQLite3の設定を追記(コメントを外す)
        # SQLite3 configuration example
        production:
          adapter: sqlite3
          database: db/redmine.sqlite3
    3. DB生成
      c:\apps\redmine\redmine-2.3.2\config> cd ../
      c:\apps\redmine\redmine-2.3.2> set RAILS_ENV=production
      c:\apps\redmine\redmine-2.3.2> rake db:migrate
      c:\apps\redmine\redmine-2.3.2> rake redmine:load_default_data
  7. 稼動確認(初回起動)
    1. Redmine(WEBrick)起動
      c:\apps\redmine\redmine-2.3.2> ruby script/rails server webrick
    2. Webブラウザ起動
      http://localhost:3000/
    3. ログイン
      右上の"ログイン"をクリックし
      ログイン:admin
      パスワード:admin
      ※管理-ユーザー にて admin を変更
    4. 停止(WEBrick Shutdown)
      [Ctrl + c]
  8. 2回目以降の起動準備
    1. Redmine起動用バッチファイル作成
      c:\apps\redmine\redmine-2.3.2> cd ../
      c:\apps\redmine\copy con redmine-start.cmd
      @SET PATH=%~dp0sqlite-dll-win32-x86-3071700;%PATH%
      @SET PATH=%~dp0ruby193p448\bin;%PATH%
      @SET RAILS_ENV=production
      @cd /d %~dp0redmine-2.3.2
      @ruby script/rails server webrick
      [Ctrl + z]
    2. 稼動確認
      c:\apps\redmine\redmine-start.cmd をダブルクリック
【備忘】
ImageMagick をインストールして利用したかったが、少し敷居が高かった(めんどくさかった)ので今度に持ち越し。
参考:RMagick を Windows 7 にインストールする方法


2013年1月11日金曜日

3週/1ターンのすすめ(月と言う単位からの脱皮)

1ヶ月1ターンで物事を考えることは多い。しかし、それでは1年があっという間に終わってしまう。そんな時は、3週で1ターンと言う考え方をしてみてはどうだろう。(実践している人も居られると思いますが。。。)

以前(もう何年も昔の話)、研究会に所属したことがあります。この時、会合の開催タイミングは1ヶ月に1回でした。しかしこれでは1年でたった12回しか出来ない。これでは作業が遅々として進まない。
この為、月2回(第1週と第3週)会合を行うことになった。ところがこの開催タイミングでは忙しい。
会合のあった週は会合内容について、整理と検証を行う。第2週は次の会合の準備を行うことになる。これでは何かアイデアを考えている暇が無い。それどころか普段の仕事と生活を含めるとのんびりする暇もなくなってしまう。
このような場合、3週を1ターンとするリズムが作れると、案外上手く行く。第1週は会合の整理・検証。第2週はテーマの深堀・調査。第3週に次会合の準備。と言う具合。なお、年単位に見ると18ターン。10ヶ月であれば、15ターン程度会合を行うことが出来る。
念の為ですが、会合のある曜日を会合の無い週でも研究会活動とすればリズムが作りやすい。(また、上司や仕事仲間にも時間調整や理解してもらいやすい)

なお、何か勉強、研究や調査などをやりたい。と普段から思っているが、なかなか上手く時間調整が出来ないと感じている場合も上手く行くと思う。

例:来週(2013/1/14)から活動を開始する場合
 第 1ターン:2013/ 1/14 ~ 2013/ 2/ 3
 第 2ターン:2013/ 2/ 4 ~ 2013/ 2/24
 第 3ターン:2013/ 2/25 ~ 2013/ 3/17
 第 4ターン:2013/ 3/18 ~ 2013/ 4/ 7
 第 5ターン:2013/ 4/ 8 ~ 2013/ 4/28
 第 6ターン:2013/ 4/29 ~ 2013/ 5/19
 第 7ターン:2013/ 5/20 ~ 2013/ 6/ 9
 第 8ターン:2013/ 6/10 ~ 2013/ 6/30
 第 9ターン:2013/ 7/ 1 ~ 2013/ 7/21
 第10ターン:2013/ 7/22 ~ 2013/ 8/11
 第11ターン:2013/ 8/12 ~ 2013/ 9/ 1
 第12ターン:2013/ 9/ 2 ~ 2013/ 9/22
 第13ターン:2013/ 9/23 ~ 2013/10/13
 第14ターン:2013/10/14 ~ 2013/11/ 3
 第15ターン:2013/11/ 4 ~ 2013/11/24
 第16ターン:2013/11/25 ~ 2013/12/15
 第17ターン:2013/12/16 ~ 2014/12/31(4日程足りない)
※18ターン無いと思う無かれ。この例では1月14日始まり。1月1日~13日分が無い為、18ターンにならないんよ。

備考(参照)
 ・セルA1に日付がある場合
  月曜始まり:=1+INT((A1-(DATE(YEAR(A1),1,2)-WEEKDAY(DATE(YEAR(A1),1,0))))/7)
  日曜始まり:=1+INT((A1-(DATE(YEAR(A1),1,2)-WEEKDAY(DATE(YEAR(A1),1,1))))/7)