はじめに
bitnami ではミドルウェアのバージョンアップをサポートしていません。
よってバージョンアップしたい場合はサーバごと作り直す必要があります。
私が redmine 初心者で分かってないからなのか、簡単だからなのか、
redmine の 4.x → 4.x へのバージョンアップについてはあまり文献を見なかったので、
次の改版に備えたメモとします。
あと、この WordPress サイトも同居しているので引っ越ししました。
(本稿に含みません)
Lightsail ?
やること
0.Lightsail コンソールから redmine のインスタンスを新規作成
1.mysqldump で DB をバックアップ → 新インスタンスにコピー&リストア
2.files 配下を tar で固めてバックアップ → 新インスタンスにコピー&リストア
3.db:migrate 投入、bitnami 再起動
ざっくりわずか4ステップ。かんたん!
手順
といっても、公式サイトの手順に則る+ migrate だけでした。
DB リストア
バックアップから DB にリストアします。
$ mysql -u root -p`cat /home/bitnami/bitnami_application_password` bitnami_redmine < ./DB_redmine.sql
mysql.bin: [Warning] Using a password on the command line interface can be insecure.
ファイルコピー
旧サーバの同じディレクトリから持ってきた files.tar.gz を解凍します
$ cd /opt/bitnami/apps/redmine/htdocs
$ rm -rf files
$ tar -xvf files.tar.gz
db:migrate 投入
今回はマイナーバージョンが異なったので、db:migrate を再投入しました。
公式ドキュメントでは同一バージョンの redmine にリストアするってありますが、
Lightsail だとイメージは AWS が指定するからバージョン指定は無理だし。
$ cd /opt/bitnami/apps/redmine/htdocs
$ bundle exec rake db:migrate RAILS_ENV=production
== 20180501132547 AddAuthorIdToTimeEntries: migrating =========================
-- add_column(:time_entries, :author_id, :integer, {:default=>nil, :after=>:project_id})
-> 0.1578s
== 20180501132547 AddAuthorIdToTimeEntries: migrated (0.2883s) ================
== 20190315094151 ChangeCustomValuesValueLimit: migrating =====================
-- change_column(:custom_values, :value, :text, {:limit=>16777216})
-> 0.0306s
== 20190315094151 ChangeCustomValuesValueLimit: migrated (0.0308s) ============
== 20190315102101 AddTrackersDescription: migrating ===========================
-- add_column(:trackers, :description, :string, {:after=>:name})
-> 0.0547s
== 20190315102101 AddTrackersDescription: migrated (0.0549s) ==================
== 20190510070108 AddUniqueIdToImportItems: migrating =========================
-- change_table(:import_items)
-> 0.0311s
== 20190510070108 AddUniqueIdToImportItems: migrated (0.0314s) ================
== 20190620135549 ChangeRolesNameLimit: migrating =============================
-- change_column(:roles, :name, :string, {:limit=>255, :default=>""})
-> 0.1540s
== 20190620135549 ChangeRolesNameLimit: migrated (0.1542s) ====================
bitnami サービス群 再起動
$ sudo /opt/bitnami/ctlscript.sh restart
/opt/bitnami/subversion/scripts/ctl.sh : subversion stopped
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd stopped
/opt/bitnami/php/scripts/ctl.sh : php-fpm stopped
/opt/bitnami/mysql/scripts/ctl.sh : mysql stopped
/opt/bitnami/mysql/scripts/ctl.sh : mysql started at port 3306
/opt/bitnami/php/scripts/ctl.sh : php-fpm started
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80
/opt/bitnami/subversion/scripts/ctl.sh : subversion started at port 3690
終わりに
単純な環境移行だけならこれだけでおしまいで超簡単。
が、ここに SSL 化したりだとか、バーチャルホスト設定して
複数サイト乗せたりとかすると途端に大変です。(今回は触れていませんがやっている)
クラウドだけあって失敗した場合でも即削除 → 数分で再デプロイ出来るので、
下手にもがくより最初からやり直した方が早いというのはクラウドならでは・・・