将从CentOS6迁移到almalinux9的知识备忘录

由于在一个相当古老的操作系统上运行 knowledge(https://github.com/support-project/knowledge),因此我们决定将其迁移到新的服务器上,结果经历了一番艰辛的斗争。

发生的事件 de

    • java11 では jaxb が本体から分離したことにより動作しない

 

    • ならば、と maven + jdk 入れて mvn package したらコンパイルは通るがテストが悉く失敗する

 

    • pom.xml を頑張っていじってたら h2 のデータベースが開けないとか言われる

 

    • h2 の jar をビルドしてコンソールを開いてデータベースを作成することには成功した

 

    • が、 mvn test が通らない。

 

    sql関係で結構変更があるのかも

因此,放棄迁移到Java 11或更高版本吧。反正那个是这样的,我也没什么意见了。

要求

    • 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

安装知识

从https://github.com/support-project/knowledge 下载knowledge.war,并将其复制到tomcat/webapps文件夹中。

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

一旦访问应用程序,需使用管理员账户登录。

首次启动

启动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 可以用以下的中文方式表达:
“/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

完成应用程序设置

登录

访问知识(http://192.168.0.nnn:8080/knowledge),使用迁移前设置的管理员凭证(可能为admin,并且密码已经更改,不再使用默认设置)进行登录。

重建索引

在系统设置菜单中,访问“重新创建搜索索引”选项,设置开始和结束的文章编号,然后点击“开始”按钮。

广告
将在 10 秒后关闭
bannerAds