プロジェクト

全般

プロフィール

 

他の形式にエクスポート: PDF

Redmine4.2のファイルサーバ化。(Redmine_dmsf)

はじめに

Redmine 5.1で運用したい場合は、以下を参照してください。

https://atelier.reisalin.com/projects/zettel/knowledgebase/articles/78

概要

Redmineをファイルサーバのように扱うプラグインをインストールします。

  1. Redmine 4.2でも動く環境でのインストール手順
  2. Redmine本体の設定を修正する手順
  3. Windows 11でのWebDAVを有効にする手順

をそれぞれ追加しました。

備考

  • この作業、下手すればRedmine全体が使えなくなる作業です。(実際にRedmineが使えなくなりました)
  • そのため、DBのバックアップとリストアによる切り戻し手順も込みです。
  • そもそも:WebDAVを有効化するかどうかは組織のセキュリティポリシーに関わる問題です。有効化すべきか否かは事前に了承を取ってください。
  • また、Redmineサーバ上のインターネット利用において、WebDavの使用は非推奨です。
    • 本サイトではWebDavを無効化しています。

2023/11/08追記

MicrosoftはWebDavを「非推奨」とする方針を打ち出しました。

https://forest.watch.impress.co.jp/docs/news/1544482.html

プラグイン名

動作を確認した環境

  • Redmine 4.2
  • mysql Ver 8.0.31
  • Windows 11 (WebDav設定)

WebDav接続の前提

  • Redmineがhttps化されていること。
  • 証明書をWindowsにインポートしていること。

導入時

  • 追加パッケージのインストール:要
  • 設定ファイルの修正:要
  • Gem追加:要
  • DBマイグレーション:要
  • Windows設定:要 (WebDav接続をする場合のみ)

実施した手順

さっくりとならなかった手順

  1. 念のためDBバックアップ
  2. SSHログイン後、追加パッケージをインストール
  3. 設定ファイルの書き換え
  4. Redmineプラグインに移動
  5. gitでレポジトリをダウンロード
  6. 新規ジェムをインストール
  7. DBマイグレーション
  8. Webサービス再起動
  9. Redmine設定変更
  10. WebDAVサービス有効化(Windows作業)
  11. 切り戻し手順(それでも失敗した場合)

バックアップ取得

mysqldumpによるバックアップ

cd /hoge
# 任意のバックアップディレクトリに移動します

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ユーザのものです

環境が許すなら、AWSのようにシステム全体のバックアップを取った方が後腐れがありません。

動作に必要な追加パッケージのインストールと設定

追加パッケージをインストールします。

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

Redmineコンフィグファイルの修正

ディレクトリに移動します。

cd /home/www-data/redmine/config/
# 自分の環境に合わせます。

additional_environment.rbの作成(この作業をしていないなら必要です)

sudo cp -pi additional_environment.rb.example additional_environment.rb

addtional_environment.rbの追記

  • 配置ディレクトリは自分の環境に合わせます。
cat <<- __EOF__ | sudo tee -a /home/www-data/redmine/config/additional_environment.rb
# Redmine DMSF's WebDAV
require File.dirname(__FILE__) + '/plugins/redmine_dmsf/lib/redmine_dmsf/webdav/custom_middleware'
config.middleware.insert_before ActionDispatch::Cookies, RedmineDmsf::Webdav::CustomMiddleware
__EOF__

プラグインのインストール

プラグインを配置します。

  • リリースノートによれば、Redmine 4.2に対応しているバージョンはv3.0.5です。
cd /hoge && pwd
# 任意の作業ディレクトリに移動し、そのディレクトリにいることを確認します。

wget https://github.com/danmunn/redmine_dmsf/archive/refs/tags/v3.0.5.zip

unzip v3.0.5.zip

sudo chown -R www-data:www-data redmine_dmsf-3.0.5

sudo mv redmine_dmsf-3.0.5/ /home/www-data/redmine/plugins/redmine_dmsf
# 移動先のディレクトリは自分の環境のプラグイン配置ディレクトリです。
# ディレクトリ名から-3.0.5を取り除くのを忘れないでください。

ls -ld /home/www-data/redmine/plugins/redmine_dmsf
# このディレクトリがあることを確認します

Gemをインストールします。

cd /home/www-data/redmine/ && pwd
# 自分の環境に合わせます。

sudo -u www-data bundle install

DBのマイグレーションを行います。

cd /home/www-data/redmine/ && pwd
# 自分の環境に合わせます。

sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Webサービスを再起動します。

sudo systemctl restart apache2

Redmine設定変更

WebDAV有効化

  1. Redmineに管理者アカウントでログインします。
  2. 管理>プラグイン>DMSFの「設定」をクリックします。
  3. 以下のように修正します。
    1. WebDAV:有効 (デフォルト)
    2. WebDavアクセス制御:読み書き可能
  4. 任意のプロジェクトに移動します。
  5. 「設定」をクリックし、「文書管理」にチェックを入れます。
  6. また、Redmine管理画面の「ロールと権限設定」で、ユーザのアクセス権を忘れないようにしてください。(「文書管理」のセクションです)

Windows : WebDAVサービス有効化

  1. Windows 11のスタート画面からwindows featuresと入力。Windowsの機能の有効化または無効化を起動します。
  2. SMB 1.0/CIFS ファイル共有のサポート全てにチェックを入れます。
  3. OKをクリックして再起動します。

多分必要な作業 - 証明書のインポート

Redmineの証明書をWindowsにインポートしておきます。

接続確認

  1. エクスプローラーを開きます。
  2. PCに移動し、右クリックから「ネットワークの場所を追加する」をクリックします。
  3. 次へ > カスタムネットワークの場所を選択 >次へと進みます。
  4. 「インターネットまたはネットワークのアドレスは以下のように指定します。
    1. https://[ドメイン名]/dmsf/webdav/[プロジェクト識別子]
  5. 「次へ」をクリック後、資格情報を確認されるので、Redmineのアカウントを入力します。
  6. エクスプローラーウィンドウが表示され、ファイルの読み書きができれば設定完了です。

おまけ:切り戻し手順

この作業、バージョン変更や設定ミスで軽くRedmine全体が機能不全に陥ります。そのため、切り戻し手順を記しておきます。

通常の切り戻し

ディレクトリ移動

cd /home/www-data/redmine && pwd
# 自分の環境に合わせます。

プラグインアンインストール

sudo -u www-data 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リストア)

cd /hoge
# mysqldumpを行ったディレクトリ

mysql -h localhost -u redmine -p redmine < redmine_backup.$(date +%Y%m%d).sql
# パスワードはredmineインストール時に設定したDBユーザのものです

sudo systemctl restart apache2.service
トップへ
クリップボードから画像を追加 (サイズの上限: 50 MB)