Bitnami Redmineのバージョンアップ 

2013年より採用して6年経過。定期的（1､2年毎）にバージョンアップしています。

以下はバージョンアップメモです。(3.3.2-2⇒4.0.4）
環境はWindows7（もうじきサポート終わりますね）windows10でも大丈夫だと思います。

#1. 旧バージョンの作業
##1.1 データベースバックアップ
(1) データベースのパスワードを確認
パスワードはデータベースにアクセスする時に必要。

以下はバックアップ時に必ず確認。
C:¥BitNami¥redmine-X.X.X¥apps¥redmine¥htdocs¥config¥database.yml

```
production:
  adapter: mysql2
  database: bitnami_redmine
  host: 127.0.0.1
  username: bitnami
  password: XXXXXXXX
  encoding: utf8
  port: 3306
```

(2) MySQL以外のサービスを停止
manager-windows.exe を起動してMySQL Database以外のサービスを停止。
(3) データベースのバックアップ
use_redmine.bat を起動してDOS窓を立ち上げて以下を実行。
　Eドライブにバックアップした例です。

```
C:¥BitNami¥redmine-X.X.X¥mysql¥bin¥mysqldump --user=bitnami --password=XXXXXXXX bitnami_redmine > e:¥backup¥redmine_mysql.dmp
```

(4) 関連ファイルのバックアップ
xcopy C:¥BitNami¥redmine-X.X.X¥apps¥redmine¥htdocs¥files e:¥backup¥files¥ /D /S /E /H /C /Y /R >> e:¥backup¥backup.log


#2. 新バージョンの作業
##2.1 インストール
インストール時は　旧バージョンのサービスを停止

bitnami からモジュールダウンロード。
https://bitnami.com/
カタログからwindows版Rredmineをダウンロードし、インストール。
以下　留意事項
インストールは言語を「English」にして実施。
但し、ＤＢの言語は「Japanease」で

管理者のユーザとパスワードは控えておく。

##2.2 windows環境変数の変更

pathのredmine設定追加。

以下　サンプル

```
%SystemRoot%¥system32;%SystemRoot%;%SystemRoot%¥System32¥Wbem;%SYSTEMROOT%¥System32¥WindowsPowerShell¥v1.0¥;c:¥BitNami¥redmine-X.X.X¥ruby¥bin;c:¥BitNami¥redmine-X.X.X¥imagemagick;c:¥BitNami¥redmine-X.X.X¥subversion
```

再起動
　以下　ManagerWindowで実行
　旧サービスが立ち上がっていないのを確認
　立ち上がっていれば　停止して
　新サービスの開始

##2.3 データベースリストア

(1) データベースのパスワードを確認
C:¥BitNami¥redmine-X.X.X¥apps¥redmine¥htdocs¥config¥database.yml

production:
  adapter: mysql2
  database: bitnami_redmine
  host: 127.0.0.1
  username: bitnami
  password: XXXXXXXX
  encoding: utf8
  port: 3306

(2) MySQL以外のサービスを停止

manager-windows.exe を起動してMySQL Database以外のサービスを停止。

(3) データベースのリストア

DOS窓を立ち上げて以下を実行。

```
C:¥BitNami¥redmine-X.X.X¥mysql¥bin¥mysql --user=bitnami --password=XXXXXXXX bitnami_redmine  < e:¥backup¥redmine_mysql.dmp
```

ユーザ警告がでるが　無視してよい。

##2.4 データベースマイグレーション
パス設定後　再起動し、ＤＢサービス以外を停止し、以下を実行

(1) htdocsのフォルダーで「bundle exec rake db:migrate RAILS_ENV="production"」を実行。

```
cd C:¥BitNami¥redmine-X.X.X¥apps¥redmine¥htdocs
C:¥BitNami¥redmine-X.X.X¥apps¥redmine¥htdocs>bundle exec rake db:migrate RAILS_ENV="production"
```

##2.5 MySQLのサービスを停止

manager-windows.exe を起動してMySQLのサービスを停止。


##2.6 データベースマイグレーション その２

以下を実行

```
cd C:¥BitNami¥redmine-X.X.X¥apps¥redmine¥htdocs
C:¥BitNami¥redmine-X.X.X¥apps¥redmine¥htdocs>bundle exec rake tmp:cache:clear
C:¥BitNami¥redmine-X.X.X¥apps¥redmine¥htdocs>bundle exec rake tmp:sessions:clear ```
[何故かエラー、でも無視]
```

##2.7 サービスの起動

manager-windows.exe を起動してすべてのサービスを起動する。


##2.8 旧バージョンのアンインストール
旧バージョンをアンインストールする。
※十分ば動作確認後、行う。

#3.ログローテーション、チューニング
##3.1 メールサーバ設定

C:¥BitNami¥redmine-X.X.X¥apps¥redmine¥htdocs¥config
の　configuration.yml を　以下に変更
これでないと　外部のメールサーバ gmail となっているので　レスポンス悪化の元になる。

```
    default configuration options for all environments
    default: # Outgoing emails configuration (see examples above)

  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: localhost
      port: 25
      domain: xxxx.com
      authentication: :none
```

※メール運用は僕のPJではやめてます。

##3.2 ログローテーション
必ず実施

C:¥BitNami¥redmine-X.X.X¥apps¥redmine¥htdocs¥config
以下のログを追加
の　additional_environment.rb  に追加

```
config.action_controller.relative_url_root = '/redmine'

 #    1.Copy this file to additional_environment.rb and add any statements

 #    2.that need to be passed to the Rails::Initializer. `config` is

 #    3.available in this context. # #

以下

config.logger = Logger.new("log/production.log", 'daily')

config.log_level = :info
```

#4.タイムゾーン設定
Redmineの個人設定でタイムゾーン設定を行う。
　これをしないと１日ずれる。
　デフォルトタイム
    画面上部メニュー「管理」→「設定」→「ユーザ」タブをクリック
    「タイムゾーン」から「(GMT+09:00) Tokyo」を選択
    「保存」をクリック


#5.Redmineの管理でメール設定
（送る設定はしない）====データ移行で完了している。
※メール運用は僕のPJではやめてます。

#6.テーマ設定
お好きなテーマをダウンロード
僕のおすすめは「minimalflat2」です。
①展開
C:¥BitNami¥redmine-X.X.X¥apps¥redmine¥htdocs¥public¥themes
に展開。
②Redmine表示設定で選択

#■通常運用　バックアップ、リカバリー■
通常運用では以下バックアップ、何かあった時に再インストールしてリカバリー
MysqlのVerが同じことが前提
バッチファイルとか作成して運用
■バックアップコマンドサンプル
【ＤＢ】

```
C:¥BitNami¥redmine-X.X.X¥mysql¥bin¥mysqldump --user=bitnami --password=XXXXXXXX bitnami_redmine > e:¥backup¥redmine_mysql.dmp
'''

【関連ファイル】

```
xcopy C:¥BitNami¥redmine-X.X.X¥apps¥redmine\htdocs\files e:¥backup¥files¥ /D /S /E /H /C /Y /R >> e:¥backup¥backup.log
```

■リカバリコマンドサンプル

```
C:¥BitNami¥redmine-X.X.X¥mysql¥bin¥mysql --user=bitnami --password=XXXXXXXX bitnami_redmine  < e:¥backup¥redmine_mysql.dmp
```
関連ファイルは旧Verフォルダからコピペしても良いし、バックアップからコピーしても良いです。

以上