茅渟湾亭

茅渟湾亭は「ちぬわん・てい」と読みます

Knowledgeを導入するためのKnowledge

勤務先で社内wikiのようなものを導入したく調べたことを(会社に怒られない範囲で)メモ。

簡単に社内wikiを立てたい

社内wikiという仕組みは今更感があるが、ひとまず社内LANで情報共有できる仕組みを簡単に立てたかった。

具体的に以下が要件。

  • 業務利用でもお金が掛からないこと
    Confluenceとか導入したいけど誰もお金出してくれないのでNG
  • 情報をネット上に上げないで済むこと
  • 会社にあるWindows PC or Windows Serverで動くこと

いろいろ調べた結果、以下のいずれかが良さそうだという結論に至った。

  1. Windows (Server) + Tomcat (+ Java) + Knowledge
  2. Windows Server + IIS + PHP + DokuWiki

今回の記事は上記1番についてのメモです。

 

Knowledgeとは?

公式サイトには「Knowledgeはオープンソースの情報共有サービスです 」とある。また、追加で言うならば「Javaで開発されており、*.war形式でモジュールが配布されているのでデプロイが楽ちん」。

information-knowledge.support-project.org

実際には、wikiというよりは社内Qiitaという感じか(それってQiita TEAMですよね)

手短に、早速上記を動かす上でうまく動く環境は下記。

  • Tomcatは「8.0以降」とあるが、10では動かないので9.*系統の最新が良い
  • JavaJREでよく、Java 8が良いが、Sun……もといOracle Java 8のJREを会社で使うと(ピー)されるのでダメAmazon Correttoが楽だった。

 

Tomcat 10だとjavax.*がjakarta.*になっていて(配布されている*.warでは)ダメ

下記ブログに詳しい。

Tomcat10の落とし穴!「インポートされたjavax.servletは見つかりません」と出た時の対処法 | 素人エンジニアの苦悩

もちろん、Knowledge自体はGitHubにあるので何とでもできるが、ビルド済みの*.war(※2022年9月現在のv1.13.01)では如何ともしがたい。

なのでTomcatは9.*(最新は9.0.65)を使いましょう。
あとTomcatのインストールパスは空白を含まないものにすること。

 

無料でJava 8を使いたいんです!

Java有料化」みたいなワードがネットの海を駆け巡ったのは2018年。僕はJava系を開発で使うことはないのであまり意識していませんでしたが。

普通にJavaを入れようとすると、Oracleから下記をダウンロードすることになるが、そこで冒頭のワードを思い出す。

https://www.java.com/ja/download/

商用ライセンスおよびサポートは、安価なJava SEサブスクリプションにより提供されます。

これ業務利用で使っているのバレたら(ピーーーーー)される奴ですね。。。

 

と言うわけで他のベンダが提供するJava 8を探し、今回はAmazon Correttoですんなり動いた次第。

aws.amazon.com

上記からJava 8で…Windows x64で…JREで…*.msiをダウンロード。

このMSIインストーラ環境変数JAVA_HOMEの設定もしてくれるのが感動もの。

 

あとは、Tomcatの一般的な設定(CATALINA_HOMEとか)をして、webappsフォルダにknowledge.warを置いたらオッケー。その辺は特に罠は無かったので各位ググって。