概要¶
筆者が「Redmineを採用している最大の理由」は、ひとえにこのプラグインがあるからです。
(この文章もRedmine Knowledgebaseを用いて運用しています)
各種文書やファイルをカテゴリー/タグで分類し、各種ナレッジ/Tipsを整理するプラグイン、knowledgeをインストールし、設定します。
プラグイン名¶
Knowledgebase
動作を確認した環境¶
Redmine 4.2
- Githubレポジトリ上では4.1までのサポートですが、こちらの設定で4.2まで動くことを確認しています。
-
また、Redmine5.xに適合したバージョンがGithub上で現れていないため、Redmine4.2を利用しているというのが実情です。- Redmine6.xに適合したバージョンを確認しました。
導入時¶
Gem追加:要
DBマイグレーション:要
設定ファイル修正 : 要
手順¶
さっくりとした手順¶
- SSHログイン後、Redmineプラグインに移動
- gitでレポジトリをダウンロード
- 新規ジェムをインストール
- 設定ファイル修正
- DBマイグレーション
- Webサービス再起動
ディレクトリに移動します。¶
cd /home/www-data/redmine/plugins
# 自分の環境に合わせます。
プラグインを配置します。¶
sudo -u www-data git clone https://github.com/alexbevi/redmine_knowledgebase
ls -ld redmine_knowledgebase/
# このディレクトリがあることを確認します
プラグインの修正を行います。(1-links.htmlの退避)¶
この処理を行わないと、ファイルの添付ができません
cd redmine_knowledgebase/app/views/attachments/
sudo mv _links.html.erb ../_links.html.erb.$(date +%Y%m%d)
プラグインの修正を行います。(2-設定ファイルの書き換え)¶
この処理を行わないと、ファイル添付後にInternal Server Errorが発生します。
cd /home/www-data/redmine/plugins/redmine_knowledgebase/app/helpers
# /pluginsまでは自分の環境に合わせます。
sudo cp -pi knowledgebase_helper.rb /path/to/backup/path/knowledgebase_helper.rb.$(date +%Y%m%d)
diff -u knowledgebase_helper.rb /path/to/backup/path/knowledgebase_helper.rb.$(date +%Y%m%d)
#差分が無いことでバックアップが取れていることを確認します。
sudo -u www-data sed -i 's/return "#{Setting.protocol}:\/\/#{Setting.host_name}#{thumbnail_path(thumb)}"/return polymorphic_url(thumb, :host => Setting.host_name, :protocol => Setting.protocol)/g' knowledgebase_helper.rb
◎修正後の差分確認
diff -u /path/to/backup/path/knowledgebase_helper.rb.$(date +%Y%m%d) knowledgebase_helper.rb
thumb = get_article_thumbnail( article )
if thumb
- return "#{Setting.protocol}://#{Setting.host_name}#{thumbnail_path(thumb)}"
+ return polymorphic_url(thumb, :host => Setting.host_name, :protocol => Setting.protocol)
else
return ''
Gemをインストールします¶
cd /home/www-data/redmine/
# 自分の環境に合わせます。
sudo -u www-data bundle install
DBのマイグレーションを行います¶
cd /home/www-data/redmine/
# 自分の環境に合わせます。
sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production
Webサービスを再起動します。¶
sudo systemctl restart apache2
動作後の確認¶
- Redmineに管理者アカウントでログインします。
- 任意のプロジェクトを選択して設定をクリックします。
- モジュール「knowledge」にチェックを入れて保存します。
- このように、プロジェクトにナレッジベースのタブが表示されていれば設定完了です。