退役SEのつれづれ日記

定年退役SEが、つれづれなる想いをしたためています。
(旧名:『システムノヲニワソト』)

[redmine]Redmineのバージョンアップ対応(V4.2からV5.0)(その1)

2022-12-23 | サーバ設定(redmine,zabbix
今月に入って、Redmineの脆弱性についてのアナウンスがありました。
(参考)
1.SacnNetScurity:オープンソースのプロジェクト管理ソフトウェア「Redmine」にXSSの脆弱性
 https://scan.netsecurity.ne.jp/article/2022/12/16/48642.html
2.JVN#60211811:Redmine におけるクロスサイトスクリプティングの脆弱性
 https://jvn.jp/jp/JVN60211811/

これまで時間が取れずに対応できなかった、BitnaimiのRedmineコンテナへの移行作業を
この機会に実行してみようと取り組んでみました。
BitnamiがRedmineをソースコードの提供を終了したのは、昨年の6月末。
当時の最新版は4.2.1 でしたので、バージョン4からバージョン5への移行となります。
バージョン5では、Ruby,Railsの環境が新しくなり、データ・プラグインなどが
そのまま移行できるのかが、確認のポイントとなります。
(参考)
3.Redmine.JP Blog:Redmine 5.0.0 リリース
 https://blog.redmine.jp/articles/5_0/redmine-5_0_0-released/

(1)まずは、コンテナの起動(稼働)確認です。
ホスト環境のパッケージを最新化しておいて、
Bitnami のサイトの記載のとおり、Docker-compse.ymlをダウンロードして
修正のうえ、起動します。
これは無事に稼働しました。

 curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/redmine/docker-compose.yml > docker-compose.yml

# docker-compose up -d
Creating network "bitnami_default" with the default driver
Creating volume "bitnami_mariadb_data" with local driver
Creating volume "bitnami_redmine_data" with local driver
Pulling mariadb (docker.io/bitnami/mariadb:10.6)...
10.6: Pulling from bitnami/mariadb
・・・
Status: Downloaded newer image for bitnami/redmine:5
Creating bitnami_mariadb_1 ... done
Creating bitnami_redmine_1 ... done

# docker-compose ps
      Name                     Command               State                    Ports
-----------------------------------------------------------------------------------------------------
bitnami_mariadb_1   /opt/bitnami/scripts/maria ...   Up      3306/tcp
bitnami_redmine_1   /opt/bitnami/scripts/redmi ...   Up      0.0.0.0:80->3000/tcp,:::80->3000/tcp


(2)次は、チケットのデータ(DB、ファイル)の移行です。
ファイルは、/bitnami/redmine/files ディレクトリーに展開してアクセス権を設定(これが重要!)すれば大丈夫でしたが、
DBへのデータ移行が曲者でした。
Bitnamiのmariadbのコンテナに入ってみると・・??
# docker exec -it bitnami_mariadb_1 /bin/bash
I have no name!@192d363a2b8b:/$

なんと、「I have no name!」と言われてしまいます。この方法では何ともできないので断念です。
そこで、以下のサイトを参考に外からデータを投入します。
(参考)
4.へっぽこプログラマーの備忘録:Redmine のアップデートとリストア
 https://kuttsun.blogspot.com/2021/05/redmine.html
# docker exec bitnami_mariadb_1 bash -c "/opt/bitnami/mariadb/bin/mysql -u ユーザ名 bitnami_redmine < 移行データファイル.sql

しかしながら、エラーが発生して期待通りの起動ができません。
調べてみると、以下の3項目についての対応が必要でした。
・(削除する) /*!50013 DEFINER=`bitnami`@`localhost` SQL SECURITY DEFINER */
・(変更する) utf8mb4 => utf8
・(変更する) utf8mb4_0900_ai_ci => utf8mb3_general_ci

これらの対応をして、データを再投入したところ、無事稼働しました。
全てのチケットのデータの検証は時間がかかりそうなので、このまま継続します。
ここで、ステップ1は完了です。(ステップ2に続きます)

(12/24追記)
ホストファイル内に /Bitnami/redmine/config/database.yml が以下の内容で定義されています。
production:
  adapter: mysql2
  database: bitnami_redmine
  host: mariadb
  username: bn_redmine
  password: ""
  # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
  encoding: utf8mb4
  port: "3306"

投入データの変更値と、この定義ファイルの設定値が違っているのが気がかりですが、
もう少し時間をかけて確認する予定です。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 『RとStanではじめる ベイズ... | トップ | [redmine]Redmineのバージョ... »