1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

knowledge を CentOS6からalmalinux9に移行するメモ

Posted at

knowledge(https://github.com/support-project/knowledge) をかなり古いOSで動かしていたので新しいサーバーに移行しようとして悪戦苦闘した結果。

起きたこと

  • java11 では jaxb が本体から分離したことにより動作しない
  • ならば、と maven + jdk 入れて mvn package したらコンパイルは通るがテストが悉く失敗する
  • pom.xml を頑張っていじってたら h2 のデータベースが開けないとか言われる
  • h2 の jar をビルドしてコンソールを開いてデータベースを作成することには成功した
  • が、 mvn test が通らない。
  • sql関係で結構変更があるのかも

そんなわけで java11以降への移行…はあきらめる。まあどうせアレがアレだしもういいや。

requirements

  • java 8
  • postgresql (13以降)
  • tomcat 9

AJP 使って httpd からアクセスさせるなら apache httpd が必要となる。

移行元データのバックアップ

pg_dump -U knowledge_user knowledge_db > /backup/knowledge_db.bak

各種サービス等をインストールする

インストール

sudo dnf install java-1.8.0-openjdk
sudo dnf install tomcat
sudo dnf remove postgresql-server

起動設定

sudo systemctl enable tomcat
sudo systemctl enable postgresql

postgresql は指定したロールでホスト指定でログインさせるために にそういう設定が必要。

/var/lib/pgsql/data/pg_hba.conf

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            password
# IPv6 local connections:
host    all             all             ::1/128                 password

knowledge をインストールする

knowledge.war を https://github.com/support-project/knowledge からダウンロードして tomcat/webapps にコピーする。

sudo cp knowledge.war /usr/share/tomcat/webapps

アプリケーションにアクセスしたら一度 admin でログインする。

初回起動

tomcat を起動してから knowledge (http://192.168.0.nnn:8080/knowledge) にアクセスする。

tomcat を起動する

sudo systemctl start tomcat

データベースを作成して移行元データベースを復元する

必要なロール、データベースを作成してロールに対するアクセス権限を与える。
psql で以下

create database knowledge_db;
create role knowledge_user login password 'xxxxxxxx';
grant all priviledges on database knowledge_db to knowledge_user;

復元

 psql -d knowledge_db < /vagrant/knowledge_db.bak

カスタム設定を編集する

/usr/share/tomcat/.knowledge/custom_connection.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><connectionConfig><autocommit>false</autocommit><driverClass>org.postgresql.Driver</driverClass><maxConn>0</maxConn><name>custom</name><password>knowledge</password><schema></schema><URL>jdbc:postgresql://localhost:5432/knowledge_db</URL><user>knowledge_user</user></connectionConfig>

アプリケーションを再起動する

sudo systemctl stop tomcat
sudo systemctl start tomcat

アプリケーション設定を完了する

ログイン

knowledge (http://192.168.0.nnn:8080/knowledge) にアクセスして移行元で設定した管理者(多分 admin で、パスワードはデフォルト設定ではなく変更したもの)でログインする。

インデックス再作成

システム設定メニュー>検索用のインデックスの再作成 にアクセスし、記事番号の開始と終了を設定して「開始」ボタンをクリックする

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?