【AWS/Lightsail】bitnami の redmine をバージョンアップ(再構築)する

AWS
この記事は約6分で読めます。

はじめに

bitnami ではミドルウェアのバージョンアップをサポートしていません。
よってバージョンアップしたい場合はサーバごと作り直す必要があります。

私が redmine 初心者で分かってないからなのか、簡単だからなのか、
redmine の 4.x → 4.x へのバージョンアップについてはあまり文献を見なかったので、
次の改版に備えたメモとします。

あと、この WordPress サイトも同居しているので引っ越ししました。
(本稿に含みません)

Lightsail ?

【AWS】サイトを自宅鯖から Amazon Lightsail に移行しました
ことの発端Raspberry Pi 上に構築していた艦これ攻略用 Redmine ( ) の環境をふとしたことから触ってしまい、Ruby on Rails がまともに動かなくなりました。ほんと Ruby クソだな。Raspberry Pi

やること

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 化したりだとか、バーチャルホスト設定して
複数サイト乗せたりとかすると途端に大変です。(今回は触れていませんがやっている)

クラウドだけあって失敗した場合でも即削除 → 数分で再デプロイ出来るので、
下手にもがくより最初からやり直した方が早いというのはクラウドならでは・・・

タイトルとURLをコピーしました