概要¶
https://atelier.reisalin.com/projects/zettel/knowledgebase/articles/39/
こちらの、Redmine5.1バージョンです。
Redmineをファイルサーバのように扱うプラグインをインストールします。
備考¶
- この作業、下手すればRedmine全体が使えなくなる作業です。(実際にRedmineが使えなくなりました)
- そのため、DBのバックアップとリストアによる切り戻し手順も込みです。
2023年11月よりMicrosoftはWebDavを「非推奨」とする方針を打ち出しているため、本手順ではWebDAV設定は省いています。
https://forest.watch.impress.co.jp/docs/news/1544482.html
プラグイン名¶
- Redmine_DMSF
動作を確認した環境¶
- Ubuntu 22.04
- Ruby 3.0
- Redmine 5.1
- mysql Ver 8.0.35
導入時¶
- 追加パッケージのインストール:要
- Gem追加:要
- DBマイグレーション:要
実施した手順¶
さっくりとならなかった手順¶
- 念のためDBバックアップ
- SSHログイン後、追加パッケージをインストール
- Redmineプラグインに移動
- gitでレポジトリをダウンロード
- 新規ジェムをインストール
- DBマイグレーション
- Webサービス再起動
- Redmine設定変更
- 切り戻し手順(それでも失敗した場合)
バックアップ取得¶
mysqldumpによるバックアップ¶
- 作業ディレクトリに移動
cd /hoge
任意のバックアップディレクトリに移動します
- mysqldump
mysqldump -h localhost -u redmine -p --no-tablespaces --single-transaction redmine > redmine_backup.$(date +%Y%m%d).sql
それぞれ-h ホスト名 -u redmine -p ユーザ オプション db名
です。パスワードはredmineインストール時に設定したDBユーザのものです。
環境が許すなら、VPSのスナップショットのようにシステム全体のバックアップを取った方が後腐れがありません。
動作に必要な追加パッケージのインストールと設定¶
追加パッケージをインストールします。¶
sudo aptitude install xapian-omega ruby-xapian libxapian-dev poppler-utils antiword unzip catdoc libwpd-tools libwps-tools gzip unrtf catdvi djview djview3 uuid uuid-dev xz-utils libemail-outlook-message-perl
プラグインのインストール¶
プラグインを配置します。¶
-
脆弱性に対応したv3.1.4以降を使用します。
-
Redmineのプラグイン配置ディレクトリに移動
cd /home/www-data/redmine/plugins && pwd
自分の環境に合わせます。
- git clone
sudo -u www-data git clone -b v3.2,2 https://github.com/danmunn/redmine_dmsf
念のため、バージョンを指定します。
- clone確認
ls -ld /home/www-data/redmine/plugins/redmine_dmsf
このディレクトリがあることを確認します。
Gemをインストールします。¶
- Redmineルートディレクトリに移動
cd /home/www-data/redmine/ && pwd
自分の環境に合わせます。
- bundle install
sudo -u www-data bundle install
かなり時間がかかります。
DBのマイグレーションを行います。¶
sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production
Webサービスを再起動します。¶
sudo systemctl restart apache2
Redmine設定変更¶
- Redmineに管理者アカウントでログインします。
- 管理>プラグイン>DMSFの「設定」をクリックします。
- 以下のように修正します。
- 貼り付けを許可にチェックを入れ、アップロードしたファイルをチケットなどに貼り付けられるようにします。
- WebDav:無効(デフォルトのままです)
- 任意のプロジェクトに移動します。
- 「設定」をクリックし、「文書管理」にチェックを入れます。
- また、Redmine管理画面の「ロールと権限設定」で、ユーザのアクセス権を忘れないようにしてください。(「文書管理」のセクションです)
以上で設定は完了です。
おまけ:切り戻し手順¶
この作業、Redmine5.1より手順は楽になったとは言え:やっぱりバージョン変更や設定ミスで軽くRedmine全体が機能不全に陥ります。そのため、切り戻し手順を記しておきます。
通常の切り戻し¶
ディレクトリ移動¶
cd /home/www-data/redmine && pwd
自分の環境に合わせます。
プラグインアンインストール¶
sudo -u www-data bundle exec rake redmine:plugins:migrate NAME=redmine_dmsf VERSION=0 RAILS_ENV=production
ディレクトリ削除¶
sudo rm plugins/redmine_dmsf -Rf
Webサービス再起動¶
sudo systemctl restart apache2.service
それでもダメだった切り戻し(DBリストア)¶
- DBをバックアップしたディレクトリに移動
cd /hoge && pwd
- DBリストア
mysql -h localhost -u redmine -p redmine < redmine_backup.$(date +%Y%m%d).sql
パスワードはredmineインストール時に設定したDBユーザのものです
- Webサービス再起動
sudo systemctl restart apache2.service
再起動後、復旧しているかを確認します。