Help us understand the problem. What is going on with this article?

サル以下でもできた!Redmineの移行(Windows Bitnami Redmine → AWS Bitnami redmine)

More than 1 year has passed since last update.

自宅のWindows Redmine サーバーは色々不安があったのでAWSへ移行した時の覚書です

読むに当たっての前提条件

  • AWS が何なのかを概ね知っている。
  • Bitnami Redmine が何なのかを概ね知っている
  • WindowsとAWSに Bitnami Redmine環境がある。
  • Tera Termを使ったことがある又は、SSHで接続する方法を知っている。
  • FTPソフトが使え、SSH接続方法を知っていて使える。

パスワードその他必要な情報

/var/log/syslogを参照するとパスワードが取得できます。
このパスワードは、共通で使われているので大切です。
こんな感じで入っています。
May 1 02:57:35 ip-172-31-31-77 bitnami[1218]: #########################################################################
May 1 02:57:35 ip-172-31-31-77 bitnami[1218]: # #
May 1 02:57:35 ip-172-31-31-77 bitnami[1218]: # Setting Bitnami application password to 'xxxxxxxxxxxx' #
May 1 02:57:35 ip-172-31-31-77 bitnami[1218]: # (the default application username is 'user') #
May 1 02:57:35 ip-172-31-31-77 bitnami[1218]: # #
May 1 02:57:35 ip-172-31-31-77 bitnami[1218]: #########################################################################
- Tera Termでのログインは bitnami+パスワード
- DBのroot+パスワード
- DBのbitnami+パスワード
- phpmyadminだとroot+パスワード
- データベース名:bitnami_redmine
- DBの設定は/opt/bitnami/apps/redmine/htdocs/config/database.yml
- メールの設定は、/opt/bitnami/apps/redmine/htdocs/config/configuration.yml
- 使いどころはわかりませんが、userというIDもあるみたい。
ポイントになるディレクトリをあげておきます。

/opt/bitnami/apache2/logs
/opt/bitnami/apps
/opt/bitnami/apps/redmine/htdocs
/opt/bitnami/apps/redmine/htdocs/config
/opt/bitnami/apps/redmine/htdocs/log
/opt/bitnami/apps/phpmyadmin/conf/
/var/log
変だなって思ったらここのログを見る
/opt/bitnami/apps/redmine/htdocs/log/production.log

my.cnfの場所を探す
$ mysql --help | grep my.cnf
ここに実際ありました。
/etc/mysql

phpMyAdminを使えるようにしておくと便利なので

そのままだと、外部からアクセスできないので設定を変更します。
/opt/bitnami/apps/phpmyadmin/conf/httpd-app.conf の以下の項目を編集
- Allow from 127.0.0.1 → Allow from all
- ・Require local → Require all granted
apacheを再起動

sudo /opt/bitnami/ctlscript.sh restart apache
これで起動ができるようになります。

bitnamiでログインしてもよいですが、root+パスワードログインする方が良いかもです。
★注意!対象のサーバーを一般に公開する場合は、危険なので必要なくなったら元に戻すか、IPを限定するなどしましょう。

ローカルにWindows側のバックアップを取る

以前のサーバーにもphpmyadminがあると思います。データエクスポートしましょう。
後で、AWSのサーバーに転送してます。
他のサイトにはコマンドで実行する旨がよく書いてあります。
僕はコマンド苦手なのでこうしましたが、どちらでもお好みでどうぞ!
参考はこちら
Bitnami Redmine Installer

インストール先のバックアップを取る

  • 書き込み権限のある場所に移動(そこに取ります)
    cd /var/tmp
  • サービスの停止
    sudo installdir/ctlscript.sh stop
  • バックアップ
    sudo tar -pczvf bitnami_application-backup.tar.gz /opt/bitnami ```
    念の為、lsでファイルができているか確認しましょう。 - 最後に止めておいたサービスをの起動しましょう sudo /opt/bitnami/ctlscript.sh start 念の為なので終わったら、ローカルにコピーするなり好きにしてください。 失敗談:うっかりして、目的でない別のサーバーで作業してました。

DBのインポート

phpMyAdmin使っても良いです。
通常は2MBだったと思いますが、80MB位までなら大丈夫に設定されているみたいです。
必要なサービスの停止と開始

sudo /opt/bitnami/ctlscript.sh stop apache
sudo /opt/bitnami/ctlscript.sh stop mysql
sudo /opt/bitnami/ctlscript.sh start mysql
Windowsからバックアップしたファイルを新サーバーに転送します。
場所はどこでもよいです。とりあえず以下に置きました。
/var/tmp/bitnami_redmine.sql
cd /var/tmp/
mysql -u root -p
Password: XXXX
mysql> drop database bitnami_redmine;
mysql> create database bitnami_redmine;
mysql> grant all privileges on bitnami_redmine.* to 'bn_redmine'@'localhost' identified by 'XXXX';
CTRL+C又はexit;で終了
mysql -u root -p bitnami_redmine < bitnami_redmine.sql
Password: XXXX
rm bitnami_redmine.sql

ファイルの取り込み

添付ファイルのフォルダーをファイルをコピーします。
プラグインがあればそれも。
場所だけ書いておきます。
/opt/bitnami/apps/redmine/htdocs/files
/opt/bitnami/apps/redmine/htdocs/plugins
Windows側も似たような場所にありますから探してください。
念の為、あるかどうかも確認します。
パーミッション(書き込みできるか)も確認しておきましょう。

DB接続の編集

redmine構成ファイルを編集してデータベース名(以前に設定したものと同じ)を更新します。
必要ならユーザーIDとパスワードを設定します。
正しく設定しないとマイグレーションでエラーが出る。当然だけど。

最後にマイグレーション

cd /opt/bitnami/apps/redmine/htdocs/
ruby bin/rake db:migrate RAILS_ENV=production
うまく行かない場合は、SQL接続してログインできるか試してみるといい。

サーバーを再起動します。

Apache再起動方法はこれ!!
sudo /opt/bitnami/ctlscript.sh start apache```

おっと、忘れてた

メールの設定を前のサーバーのをコピーして使いましょう。
/opt/bitnami/apps/redmine/htdocs/config/configuration.yml
を編集して
sudo /opt/bitnami/ctlscript.sh restart apache```

WEBからの確認

WEBから接続を確認しましょう。
場合によってはメール送信部分の変更は必要かもしれません。

超ハマったこと!!

1. メール設定のエラーで画面に?

このエラー
We're sorry, but something went wrong.
The issue has been logged for investigation. Please try again later.
先輩に教えてもらいました。
これをテストした時に定義の桁位置ずれを起こしていました。
/opt/bitnami/apps/redmine/htdocs/config/configuration.yml
データが始まる位置で入れこができるらしく、それがずれるとダメということです。
ついでに言うと、スペースだけが入った行があっても駄目だそうです。

2.メールがとばないその1

redmineの個人設定で「自分自身による変更の通知は不要」をチェックしていた。
全然気が付かなかった。先輩ありがと!

3.メールがとばないその2

メールの設定で、
/opt/bitnami/apps/redmine/htdocs/config
SSLを使っていないのに使う設定にしてました。
以下の様に設定
enable_starttls_auto: false
想像もできなかった。重ねて先輩ありがとう!
持つべきものはいい先輩だなー。
とは言え、その先輩は自分より30歳以上年下なんだけど。
笑えません。

4.ファイルのアップロードができない

アップロードできない。/opt/bitnami/apps/redmine/htdocs/logを見たら、パーミッションエラーが出ていた。
Completed 500 Internal Server Error in 13ms (ActiveRecord: 3.3ms)
Errno::EACCES (Permission denied @ dir_s_mkdir - /opt/bitnami/apps/redmine/htdocs/files/2018/05):
パーミッションが775になっていた。これでだめなんだ~。777にして完了。

訂正:サルには無理でした。さて、コーヒータイムにしましょうか

参考サイト

RedmineサーバのWindows環境からCentOS環境への移行手順

MySQLをインストールしたけど起動しないときのデバッグ方法

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away