Ubuntu19.04でknowledgeを利用する

Ubuntu19.04でknowledgeを利用する

Ubuntu19.04でナレッジ共有ツール「knowledge」を利用するまでの構築手順を記述してます。

Ubuntuバージョン

Ubuntu19.04

動作環境確認

## java バージョン確認
java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~19.04.1-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode

tomcat8インストール

こちらよりtomcat8のバージョンを確認

## インストール予定ファルダに移動
cd /opt

## ダウンロード
curl -O http://ftp.meisei-u.ac.jp/mirror/apache/dist/tomcat/tomcat-8/v8.5.45/bin/apache-tomcat-8.5.45.tar.gz

## 展開
tar -xzvf apache-tomcat-8.5.45.tar.gz

## ユーザー作成
useradd tomcat
→後述するが、ここでhomeディレクトリを作成を忘れて、起動しなかった
正しくは
useradd -m tomcat

## 所有者設定
chown -R tomcat:tomcat /opt/apache-tomcat-8.5.45

## 設定ファイル作成
vim /etc/systemd/system/tomcat.service

## 下記の内容を挿入
[Unit]
Description=Apache Tomcat 8
After=network.target
 
[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/opt/apache-tomcat-8.5.45/tomcat.pid
RemainAfterExit=yes
 
ExecStart=/opt/apache-tomcat-8.5.45/bin/startup.sh
ExecStop=/opt/apache-tomcat-8.5.45/bin/shutdown.sh
ExecReStart=/opt/apache-tomcat-8.5.45/bin/shutdown.sh;/opt/apache-tomcat-8.5.54/bin/startup.sh
 
[Install]
WantedBy=multi-user.target

## 8080ポートは既に利用しているので変更
vim /opt/apache-tomcat-8.5.45/conf/server.xml

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

を28080に変更

<Connector port="28080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

## firewall設定
ufw allow 28080
ufw reload

knowledgeのインストール

最新バージョンをダウンロード

## webappsまで移動
cd /opt/apache-tomcat-8.5.45/webapps

## ダウンロード
wget https://github.com/support-project/knowledge/releases/download/v1.13.1/knowledge.war

## tomcat 再起動
systemctl restart tomcat.service

起動しない!!

## ログを確認
vim /opt/apache-tomcat-8.5.45/logs/catalina.out

## エラー内容
Can't create a new connection for jdbc:h2:tcp://localhost/./knowledge_db
org.h2.jdbc.JdbcSQLException: ファイル "/home/tomcat" を作成中にエラーが発生しました

## tomcatのhomeディレクトリ確認
cd /home/tomcat
存在しない...

## 原因
ユーザー作成時にhomeディレクトリを作成してなかったため
userdel -r tomcat
一度削除して、再作成
useradd -m tomcat

## 念の為
chown -R tomcat:tomcat /opt/apache-tomcat-8.5.45

## tomcat再起動
systemctl restart tomcat.service

やっと起動

初期にDBのマイグレーションの実行が必要なため実行

初期設定は公式のこちらよりご確認ください
ID admin
PASS admin123
でログイン可能。初期はH2DBを利用しているため、 Postgresに変更しないと、利用を続けるとけっこう重くなります。