Cent OS 7にBitnami Redmine Stackを構築してデータベース移行した話

##目次
1.　経緯
2.　前提条件
3.　インストーラーファイルの取得
4.　Bitnami Redmineのインストール
5.　現行データベースのバックアップ
6.　リストア
7.　参考文献
##1.　経緯
Bitnami Redmine Stackが構築されたWindowsサーバから，Linuxサーバへデータベースを移行する機会があったため，手順を備忘録として書かせて頂きました。

BitnamiはWebアプリケーションを，PHP，MySQLなど込み込みで構築してくれる素晴らしいソフトウェアです。大変便利です。
##2.　前提条件
①ネットワーク環境に応じた，適切なIPアドレスが設定されていること。
（今回は192.168.10.60を指定。）
②ファイアウォールが無効になっていること。
③SELINUXが無効になっていること。
##3.　インストーラーファイルの取得
1.　[Bitnamiの公式サイト](https://bitnami.com/stack/redmine/installer)にアクセスし，【Download for Linux 64-bit】を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/cc9ee06e-62ef-98bc-1f82-27c9cb21f04b.png)
2.　「Download now!」と表示されます。アカウント登録を促されますが，【No thanks, just take me to the download】を押下することで回避可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/cc17bc4d-0047-4db3-037b-cdfdc9686f10.png)
3.　ダウンロードのダイアログが表示されます。【保存】を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/19d1d066-1df2-54ab-4851-c3efbf69957f.png)

以上で，インストーラーファイルの取得は完了です。
続いて，Bitnami Redmineのインストールへ移ります。

##4.　Bitnami Redmineのインストール
1.　移行先サーバにSSH接続します。今回はTeraTermを使用しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/ac065f99-b5b7-494c-b049-ca6004053d01.png)
2.　構築に必要なソフトウェアをインストールします。

```
# yum install -y glibc-devel perl perl-Data-Dumper
```

3.　先程ダウンロードしたインストーラーファイルを転送します。【ファイル】→【SSH SCP...】の順に押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/8fb58ea8-dd47-1352-5239-730770d06fed.png)
4.　「TTSSH：Secure File Copy」画面が表示されます。【...】を押下します。
![01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/2972f9ae-a302-b14e-151e-e5ee8fbbdaa5.jpeg)
5.　ダウンロード先フォルダを開き，【bitnami-4.1.1-7-linux-x64-installer.run】を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/d5af0c20-4e36-a4da-3db1-82332ac35d38.png)
6.　「TTSSH：Secure File Copy」画面に戻ります。【Send】を押下します。
![02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/80c832b1-32e5-4712-0316-957460fbc6f0.jpeg)
7.　インストーラーファイルに実行権限を付与します。

```
# chmod +x ./bitnami-redmine-4.1.1-7-linux-x64-installer.run 
```

8.　インストーラーファイルを実行します。

```
# ./bitnami-redmine-linux-x64-installer.run
```

9.　インストールウィザードの言語設定を行ないます。

```
Language Selection

Please select the installation language
[1] English - English
[2] Spanish - Espanol
[3] Japanese - 日本語
[4] Korean - ???
[5] Simplified Chinese - ?体中文
[6] Hebrew - ?????
[7] German - Deutsch
[8] Romanian - Roman?
[9] Russian - Русский
Please choose an option [1] : ★英語ワカラナイので3の日本語を選択
```

10.　インストールするコンポーネントを選択します。何も入力せずEnterを押下すると，大文字の方の選択肢となります。Enterを連打します。

```
----------------------------------------------------------------------------
ようこそ Bitnami Redmine Stack セットアップウィザードへ。

----------------------------------------------------------------------------
インストールするコンポーネントを選択してください。インストールしないの選択を
外してください。準備ができたら“次へ“をクリックしてください。

Subversion [Y/n] :★Enterを押下

PhpMyAdmin [Y/n] :★Enterを押下

Redmine : Y (Cannot be edited)

Git [Y/n] :★Enterを押下

上記選択部分が正しいことを確認してください。 [Y/n]:★Enterを押下
```
11.　インストール先フォルダの選択をします。今回は変更しませんでしたが，「/opt/redmine」とすると便利かもしれません。

```
----------------------------------------------------------------------------
Installation folder

Bitnami Redmine Stack をインストールするフォルダを選択してください。

フォルダを選択 [/opt/redmine-4.1.1-7]:★Enterを押下
```

12.　管理者アカウントの作成をします。変更したい場合は，適宜入力をします。

```
----------------------------------------------------------------------------
管理者アカウントの作成

Bitnami Redmine Stack の管理者アカウントを作成します。

表示用氏名 [User Name]: ★Enterを押下

Email アドレス [user@example.com]:★Enterを押下

ログイン名 [user]: ★Enterを押下

パスワード :★任意のパスワード
確認のためにパスワードをもう一度入れてください :★任意のパスワード
```

13.　データベースに保管する際の規定の言語を選択します。

```
----------------------------------------------------------------------------
データベースに保管する際の既定の言語

データベース設定の規定値として使用する言語を選択してください:

[1] Bosnian
[2] Bulgarian
[3] Catalan
[4] Czech
[5] Danish
[6] German
[7] English
[8] Spanish
[9] French
[10] Galician
[11] Hebrew
[12] Hungarian
[13] Italian
[14] 日本語
[15] 韓国語
[16] Lithuanian
[17] Dutch
[18] Norwegian
[19] Polish
[20] Portuguese
[21] Romanian
[22] Russian
[23] Slovak
[24] Slovenian
[25] Serbian
[26] Swedish
[27] Turkish
[28] Ukrainian
[29] Vietnamese
[30] Chinese
オプションを選択してください [14] : ★Enterを押下

Do you want to configure mail support? [y/N]: ★Enterを押下
```

14.　インストールを開始させます。

```
お使いのコンピュータに Bitnami Redmine Stack をインストールする準備が整いました。

続けますか？ [Y/n]:★Enterを押下
```

15.　100％になるまで待機後，Redmineを起動させます。

```
----------------------------------------------------------------------------
しばらくお待ちください。 Bitnami Redmine Stack をお使いのコンピュータにインストール中です。

インストール中
0% ______________ 50% ______________ 100%
################################
----------------------------------------------------------------------------
セットアップウィザードによる Bitnami Redmine Stack のインストールが完了しました。

Redmine アプリケーション起動 [Y/n]: ★Enterを押下

情報: Bitnami Redmine Stack については、ブラウザで
http://127.0.0.1:80 にアクセスしてください。
続けるには [Enter] キーを押してください ：★Enterを押下
```

以上でBitnami Redmineのインストールは完了です。
続いて，現行データベースのバックアップへ移ります。

##5.　現行データベースのバックアップ
1.　移行元のWindowsサーバへ接続します。エクスプローラを起動させ，以下のフォルダへアクセスします。
（インストール先を変更している場合は異なります。）

```
C:\\Bitnami\redmine-＊＊＊\apps\redmine\htdocs\config\
（＊＊＊はredmineのバーションが入ります。）
```

2.　【database.yml】ファイルをテキストエディタで開き，以下の記述内容を控えておきます。
（MySQLでデータベースのバックアップファイルを作成する際に使用します。）

```
production:
　adapter:mysql2
　database:bitnami_redmine　★
　host:127.0.0.1
　username:bitnami　★
　password:＊＊＊　★
　# Use "utf8" instead of  "utfmb4" for MySQL prior to 5.7.7
　encoding:utf8mb4
　port:3306
（★で示した箇所を控える）
```

3.　【スタートボタン】→【Bitnami Redmine Stack】を押下し，【Bitnami Redmine Stackを使用する】を起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/eac6c711-76b0-d45a-52c0-632886c1d311.png)
4.　コマンドプロンプトが表示されます。現行データベースのバックアップファイルを作成します。
※★部分は先程控えた内容を入力。
※「-p」の後にスペースを入れないよう注意！

```
C:\Bitnami\redmine-＊＊＊> mysqldump -u [★username] -p[★password] [★database] > bitnami_redmine_backup
```

5.　以下のフォルダにアクセスすると，「bitnami_redmine_backup」という名前でバックアップファイルが配置されています。ローカル端末へコピペして転送しておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/4baeffec-6cbc-fc17-be24-7c4d46cbb420.png)

##6.　リストア
1.　再度移行先サーバへSSH接続し，先程取得しておいたバックアップファイルを転送します。【ファイル】→【SSH SCP...】の順に押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/8fb58ea8-dd47-1352-5239-730770d06fed.png)
2.　「TTSSH：Secure File Copy」画面が表示されます。【...】を押下します。
![01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/2972f9ae-a302-b14e-151e-e5ee8fbbdaa5.jpeg)
3.　【bitnami_redmine_backup】を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/4410fbad-3278-b022-c84f-308b567cb2a9.png)
4.　「TTSSH：Secure File Copy」画面に戻ります。【Send】を押下します。
![03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/875391/21a23dee-596f-2b9a-10d3-76567cac281f.jpeg)
5.　「use_redmine」というコマンドを実行します。Windowsでいう「Bitnami Redmine Stackを使用する」はこのコマンドになるようです。

```
# /opt/redmine-4.1.1-7/use_redmine
```

7.　バックアップファイルを指定して，データベースを上書きします。実行ユーザーはrootにしました。

```
# mysql -u root -p＊＊＊ bitnami_redmine < bitnami_redmine_backup
（＊＊＊はrootユーザのパスワード）
```

以上で，リストア完了です。

##7.　参考文献
ⅰ）[bitnami CentOS Redmine - カロンの渡し船](https://mountbatten.hatenablog.com/entry/2019/01/12/005001)
ⅱ）[bitnamiでCentOS7にRedmineをインストールしてみた](https://corgi-lab.com/linux/bitnami-install-redmine/)
ⅲ）[データのバックアップ方法](https://redmine.jp/faq/system_management/backup/)