RedmineのDBをPostgreSQLからMariaDBに移行

TL;DR Redmine 4.2.5にて、yaml_dbを利用することでPostgreSQL(14.2)からMariaDB(10.4.24)に移行できました 経緯 GCPのVMの無料枠(e2-small,Mem:1GB,HDD:30GB)で以下のDockerコンテナクラスタ(docker-compose)でredmineを運用しています。 redmine: 4.2.5-alpihne postgres: 14.2-alpine steveltn/https-portal: 1.21.1 環境が激poorなこともありますが、たまにアクセスするとページが表示されるまで10秒近く待たされることも。そこで、より軽量と思われるMySQL系のMariaDB(10.4.24)に移行しました。パフォーマンスが改善されたかどうかは、現在様子見です。 以下の手順を踏みました。 コンテナクラスタを停止 docker-compose.ymlにMariaDBコンテナを追加し、redmineコンテナから接続できるようnetwork設定し、rootた上で起動 docker-compose execコマンドでredmineコンテナに接続 apk-add mariadb-clientを実行してクライアントツールをインストール /usr/src/redmine/config/database.ymlのバックアップを取得した上で、記述をMariaDBに接続できるよう(adapterはmysql2) mysqlコマンドでMariaDBコンテナに接続し、Install Redmineの手順を参考にDBを作成 Install Redmine](https://www.redmine.org/projects/redmine/wiki/redmineinstall)の手順を参考にrake db:migrateでDBを初期化 /usr/src/redmine/Gemfileにgem "yaml_db"の記述を追加してgem bundle updateを実行。エラーとなるが、途中yaml_dbのインストールが成功していればOK /usr/src/redmine/config/database.ymlを更にバックアップした上で、前にバックアップしていたPostgreSQL用の設定に戻してRAILS_ENV=production bundle exec rake db:data:dumpを実行。/usr/src/redmine/db/data.ymlにバックアップが作成される /usr/src/redmine/config/database.ymlをMariaDBの設定に戻し、RAILS_ENV=production bundle exec rake db:data:loadを実行。 mysqlコマンドでMariaDBコンテナに接続し、データがリストアされていることを確認 docker-compose.ymlのPostgreSQLコンテナの記述を削除し、redmineコンテナからMariaDBコンテナに接続するよう設定を修正した上で起動。 参考サイト: https://hnron.hatenablog.com/entry/2015/08/18/012738

<span title='2022-04-01 00:00:00 +0900 +0900'>April 1, 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41

CentOS 7のRedmine 4.0でrmagick build error.

CentOS7のDockerコンテナにてRedmineを構築中にrmagick buildにてエラー発生。 先週は動作したのだが… ログを見ると、rmagickのバージョンは3.0.0で要求するImageMagickは6.8.9以上。インストールされているのは6.7.8Q16のためエラーとなっている。 このrmagick3.0.0は2月16日にリリースされたばかりらしい。その際に要求するImageMagickのバージョンが上がったのだろう。 https://rubygems.org/gems/rmagick/ CentOSのリポジトリでは最新でも6.7しかない。remiリポジトリにあるようなのでインストールしたところ、buildエラーがなくなった。 rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum -y install ImageMagick6 ImageMagick6-devel --enablerepo=remi

<span title='2019-02-18 00:00:00 +0900 +0900'>February 18, 2019</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41

redmineのwikiにおけるhtmlのサポート

redmineで、markdown形式を使っていると、文字に色を付ける方法がない。 セキュリティの観点から、あえてすべてのhtmlタグをフィルタしているようだ… http://www.redmine.org/issues/20497 社内で運用している場合にセキュリティを気にして表現力が落ちてもしょうがないので、管理画面で切り替えるなどできるといいのだが… 以下のサイトを参考に設定ファイルを直接書き換え、利用できるようになった。 http://redmine.jp/faq/wiki/use-html-tag-in-wiki/

<span title='2018-01-25 00:00:00 +0900 +0900'>January 25, 2018</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41

redmine, zabbixのActive Directory(LDAP)認証

redmine, zabbix共にActive DirectoryのLDAP機能を利用して認証の統合ができる。が、設定方法が引っかかった。 redmineはアカウントごとに認証方式の設定が可能。「管理」の「LDAP認証」にAD認証の設定をしたうえで、AD認証したいアカウントを作成して認証方法をADと指定してやればよい。 一方、zabbixは認証方法を変えるとそれが全ユーザーに適用される。ユーザーグループごとに認証方式が指定できるのだが、既定では「デフォルト」となっている。 認証を変えると、この「デフォルト」の認証方式が変わるので、結果として全ユーザーグループの認証方式が変更されてしまう。なので、「Zabbix administrators」グループの認証方式を事前にローカルに変更しておく必要がある。 だが、インストール時に作成される管理者アカウントでログインした状態だと、この「Zabbix administrators」グループの認証方式を変更できない。自分、及び自分のプライマリグループに関する情報は変更できないらしい。なので、別のユーザーグループを作成し、そこに所属するアカウントを作成。アカウントに「Zabbix特権管理者」権限を付与。そのアカウントでログインして「Zabbix administrators」グループの認証方式を「Zabbixデータベース内のユーザー情報」に変更する、という手順を踏む必要がある。 zabbixめんどい。

<span title='2017-11-24 13:11:09 +0000 UTC'>November 24, 2017</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41