Windows Bitnami RedmineからAWS Bitnami Redmineへの移行

はじめに

2018年12月、
Redmineサーバー用パソコン(サーバーでもない)の老朽化と、
社内のセキュリティーソフトの変更に伴い、
Bitnami Redmineの移行処理を行いました。

移行元環境

 Bitnami Redmine 3.2.0
 Windows7 Pro 32bit 4GBメモリ 500GBHDD

移行後環境

 Bitnami Redmine 3.4.6
 AWS環境(Linux Ubuntu 16.04.5 LTS)
 40GBストレージ、その他は不明
 ※多分、いちばん安い設定だと思うのですが、
  情報システム部門に依頼して構築してもらったので詳細は不明・・・
  アカウント名と秘密鍵だけもらいました

事前準備

移行元のRedmineのデータのバックアップを行いますが、
デイリーで夜間にバックアップしているので、前日データを使用します
ちなみにバックアップ用の処理は、
SQLデータのダンプと添付ファイルをフォルダごと圧縮して行っています

rem sqlback.dat  SQLデータのバックアップ
rem filedata.zip 添付ファイルのバックアップ

set BITNAMIDIR=[bitnamiインストールディレクトリ]
%BITNAMIDIR%\mysql\bin\mysqldump -ubitnami -p[パスワード] bitnami_redmine > sqlback.dat

set PATH7ZIP=[7zipのパス]
%PATH7ZIP%7z.exe a -tzip filedata.zip %BITNAMIDIR%\apps\redmine\htdocs\files"

(定期処理の起動はWindowsのタスクスケジューラーを使用)

AWSへの接続手段

これまでWindows(ローカルPCまたはリモートデスクトップ)のみ
使用していましたのでUnix系は初体験でした
手っ取り早く行う為、
 コマンド入力 → TeraTerm
 ファイル転送 → WinSCP
を使うことにしました
ファイルの修正が必要なものはWinSCPでダウンロードし、
Windows上で修正し、再度アップロードする感じです

AWSの初期設定

情報システム部門に用意してもらった環境は
ほとんど何も設定されていなかったので、
AWS自体の必要最低限の初期設定を行います

・AWSのローカルタイム設定

 sudo timedatectl set-timezone Asia/Tokyo

(もしかするともっとよい設定方法があるかもしれません)

MYSQLのデータインポートはローカルタイムを使用しているようで
移行元と移行先のローカルタイムを合わせておかないと
記録された時間がずれてしまいます。
最初は訳もわからずに、これでだいぶん悩みました。

移行処理(SQLデータ、添付ファイル)

WinSCPで接続して、添付ファイル群はAWS上の所定の位置にコピーします
同様に、SQLデータもテンポラリフォルダを作ってその中にコピーします
次にコマンドラインからSQLファイルをデータベースにリストアします

mysql -u MySQLユーザー名 -pMySQLパスワード Redmineデータベース名 < ダンプデータファイル名

データベースのパスワードは新しいRedmineのパスワードなのでご注意を!
MySQLユーザー名、MySQLパスワード、データベース名はconfig/database.yml内のusername, password, databaseを参照して下さい
-pとMySQLパスワードの間にスペースは不要というのも間違いやすい・・・

参考サイト http://redmine.jp/faq/system_management/backup/

移行処理(プラグイン)

使用しているプラグインを再設定します
・view_customize
・redmine_issue_templates
・redmine_default_custom_query
・redmine_issues_summary_graph
・redmine_issue_completion
各プラグインのファイルをapps/redmine/htdocs/plugins/の下に置いて、
マイグレーション等を実行して、エラーが出ないこと確認!

移行処理(Redmineの各種設定)

・ガントチャートに担当者名を入れる
・ログイン直後にトッププロジェクトのWikiを表示する
・メールサーバーの設定
・URL変更の影響を受けたViewCustomizeの処理修正

AWS再起動

参考ページ
https://qiita.com/noracorn92/items/8e6194db4839f1171c1c

移行後の定期バックアップ

cronを用いてデータのバックアップ、圧縮を行いAWS上に保存してます。
その後、外部PCから定期的に取得し、
社内の別のサーバーにコピーしている状況です。
(直接、AmazonS3に送れば?といわれますがその技はまだ未取得です)

・CRON設定、実行スクリプト
・PC側からのTeraTerm接続マクロ

※2019/03/06 バックアップ処理については下記に記載しました。
https://note.mu/t_yoshi_tomi/n/n8d3160f7ab1c


※随時、追記していく予定です。

この記事が気に入ったらサポートをしてみませんか?