タグ: knowlegebase

Redmine 5.xにknowlegebaseをインストール。

筆者にとってRedmineのキラーアプリだったknowlegebase。その5.x対応版が出たので導入を行います。

https://github.com/yzzy/redmine_knowledgebase

環境

  • Ubuntu 22.04
  • Apache 2.4
  • MySQL 8.0.3
  • Redmine 5.1

導入時

  • Gem追加:要
  • DBマイグレーション:要

※Redmine 4.2で実施した設定ファイルの退避や修正は不要でした。

さっくりとした手順

  1. SSHログイン後、Redmineプラグインに移動
  2. gitでレポジトリをダウンロード
  3. 新規ジェムをインストール
  4. DBマイグレーション
  5. Webサービス再起動

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

cd /home/www-data/redmine/plugins && pwd

自分の環境に合わせます。

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

  • git clone
sudo -u www-data git clonehttps://github.com/yzzy/redmine_knowledgebase
  • clone確認
ls -ld redmine_knowledgebase/

このディレクトリがあることを確認します

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

  • Redmineのルートディレクトリに移動
cd /home/www-data/redmine && pwd

自分の環境に合わせます。

  • bundle install
sudo -u www-data bundle install

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

  • Redmineのルートディレクトリに移動
cd /home/www-data/redmine && pwd

自分の環境に合わせます。

  • マイグレーション
sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production

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

sudo systemctl restart apache2

動作後の確認

  1. Redmineに管理者アカウントでログインします。
  2. 任意のプロジェクトを選択して設定をクリックします。
  3. モジュール「knowledge」にチェックを入れて保存します。
  4. このように、プロジェクトにナレッジベースのタブが表示されていれば設定完了です。

Redmineプラグイン:knowledgebaseでのリンクの張り方。

概要

Redmineプラグイン『knowledgebase』に書いた記事を他のチケットで参照したいときはままあります。

そんなときに使えるTIPSです。

Wiki Macro

https://github.com/alexbevi/redmine_knowledgebase

githubのレポジトリにリンクの張り方が書かれていました。

特記事項

  • <article_id>は http(s)://redmineのドメイン/プロジェクト識別子/knowledgebase/articles の後に書かれている数字です。
    • この数字は全プロジェクトで一意の数字が割り当てられるので、他プロジェクトで書かれたナレッジを参照できます。
    • そのプロジェクトへの閲覧権限がない場合はその限りではありません。
  • <category_id>は http(s)://redmineのドメイン/プロジェクト識別子/categories/ の後に書かれている数字です。
    • articleと同様、全プロジェクトで一意の数字が割り当てられます。
  • <>は外して、数字のみを入力します。

マクロ一覧

  • {{article(<article_id>)}}
    • 「kb#:記事名」でリンクをレンダリングします。(例:kb#1:障害手順書)
  • {{kb(<article_id>)}}
  • {{article_id(<article_id>)}}
    • 「kb#」 でリンクをレンダリングします。 (例: kb#1)
  • {{category(<category_id>)}}
    • 「カテゴリー名」でリンクをレンダリングします。

使用した例

https://atelier.reisalin.com/projects/ryza3

こちらの「概要」のように、「実績一覧」にナレッジベースの記事のリンクがあるという状態。

これで、連携を取りやすくなりました。

Ubuntu20.04にTomcat8とknowledgeを導入。

バージョンを落としてでも用いたいシステムがありました。

Dockerではなくオンプレ環境で整えます。メインをredmineにしたものの

「redmineの障害に備えた構築メモ」が欲しかったのもあります。

また、PDFをプレゼン形式で表示してくれるのはこのシステムの強み。

先だってredmineとは別のサーバを入手したので早速のインストールです。

環境

  • Ubuntu 20.04(Kubuntu)

手順

JDKインストール

aptitude openjdk-8-jdk

java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~20.04-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

その後、Tomcatをaptitude(apt)でインストールを試みましたがaptitude(apt)でサポートするTomcatのバージョンは9。
knowlegeの対象外です。(knowledgeのシステム要件はTomcat8)

そこで、以下の手段を執りました。

Tomcatユーザー作成

mkdir /opt/tomcat

groupadd tomcat

useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Tomcat8のダウンロードと展開

cd /tmp
wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.5/bin/apache-tomcat-8.5.5.tar.gz
# DL先は2022/04/03時点のものです
tar -xf apache-tomcat-8.5.5.tar.gz -C /opt/tomcat/
ln -s /opt/tomcat/apache-tomcat-8.5.5 /opt/tomcat/latest
cd /opt/tomcat/latest/bin
chmod +x *.sh

Tomcat8の起動スクリプトを作成

vi /etc/systemd/system/tomcat.service
スクリプト内容

(CentOSから流用したので怪しい部分があります)

[Unit]
Description=Tomcat 8 servlet container
After=network.target

[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/opt/tomcat/latest/temp.pid
RemainAfterExit=yes

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
ExecReStart=/opt/tomcat/latest/bin/shutdown.sh;/opt/tomcat/latest/bin/startup.sh

[Install]
WantedBy=multi-user.target

Tomcat8のサービス化

chmod +x /etc/systemd/system/tomcat.service
systemctl daemon-reload
systemctl enable tomcat
systemctl start tomcat
systemctl status tomcat

ステータス確認

 systemctl status tomcat
● tomcat.service - Tomcat 8 servlet container
     Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: enabled)
     Active: active (exited) since Sun 2022-04-03 09:29:44 JST; 30min ago
    Process: 12416 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
   Main PID: 12416 (code=exited, status=0/SUCCESS)

Knowlegeインストール

cd /opt/tomcat/latest/webapps/
wget https://github.com/support-project/knowledge/releases/download/v1.13.1/knowledge.war
chown -R tomcat:tomcat knowledge.war 
systemctl restart tomcat

インストール後、

http://[インストールしたホスト]:8080/knowledge

でアクセスできることを確認しました。

redmineプラグイン「redmine_knowlegebase」での添付できない問題への対処。

以下、解決したのでメモとなります。

環境

  • OS: Ubuntu 20.04 (Linux Mint 20.3でも同様)
  • redmineバージョン:4.2.4
  • Rubyバージョン:2.7.0
  • Railsバージョン:5.2.6.2
  • knowlegebaseのバージョン4.1.1

発生していた現象

  1. プラグインredmine_knowlegebaseをインストール後、設定を有効にする。
  2. ナレッジベースで任意の記事を登録/更新する。
  3. ファイルを添付し、保存する。
  4. 登録/更新した記事の「ファイル」タブで添付ファイルが表示されず。

この事象はかなり厄介でした。各種ナレッジにファイルを添付したいことは多々あり、回避策としてredmineの「ファイル」機能のリンクを張るのも迂遠だったからです。

糸口

そんな中で以下の記事を発見。

https://github.com/alexbevi/redmine_knowledgebase/issues/351

I am using Redmine 3.4.4 and knowledgebase 3.3.1. Perhaps, the "knowledgebase" plugin /plugins/redmine_knowledgebase/app/views/attachments/_links.html.erb works until Redmine 3.3, but since Redmine 3.4 the specification has changed, so _links.html.erb Does not it work as an attached file processing? I thought, and deleted or moved _links.html.erb on the plugin side, it worked.

要約すると

  • Redmine 3.3→3.4以降で添付ファイルの仕様が変わった。
  • /redmine格納ディレクトリ/plugins/redmine_knowledgebase/app/views/attachments/_links.html.erb の添付ファイル処理がうまくいかない。
  • _links.html.erb を移動/削除すれば動いた。

解決

手順

全て管理者権限で実行します。

SSHログイン&ディレクトリ移動

cd /var/lib/redmine/plugins
#redmineのプラグインが格納されているディレクトリに読み替えてください
cd redmine_knowledgebase/app/views/attachments/

該当ファイル退避&設定反映

mv _links.html.erb ../_links.html.erb.org
# このケースでは上のディレクトリに退避させました
systemctl restart apache2

設定反映後

無事に動きました。これで、様々なファイルの添付が可能になります。

Powered by WordPress & Theme by Anders Norén