将从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,并且密码已经更改,不再使用默认设置)进行登录。
重建索引
在系统设置菜单中,访问“重新创建搜索索引”选项,设置开始和结束的文章编号,然后点击“开始”按钮。