自宅の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]
(https://docs.bitnami.com/installer/apps/redmine/)
インストール先のバックアップを取る
- 書き込み権限のある場所に移動(そこに取ります)
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環境への移行手順]
(https://qiita.com/GEROMAX/items/2893744ae63250d44e4a)
[MySQLをインストールしたけど起動しないときのデバッグ方法]
(https://qiita.com/karadaharu/items/d96974c0c0141546f565)