Konga - 源码安装

konga支持两种方式部署分别是docker和nodejs原生部署。下面介绍 nodejs 原生安装方法:

仓库地址:https://github.com/pantsel/konga

环境准备:

CentOS Linux release 7.9.2009

nodejs(版本12.16 参考:https://www.cnblogs.com/trustnature/articles/15245599.html)  注意 nodejs版本一定要小于等于12.16

mv node-v12.16.0-linux-x64/ /usr/local/nodejs

ln -s /usr/local/nodejs/bin/npm /usr/local/bin/

ln -s /usr/local/nodejs/bin/node /usr/local/bin/

node -v 显示版本 安装成功

postgres(版本9.6 参考:https://docs.konghq.com/enterprise/2.4.x/deployment/installation/centos/?_ga=2.147802167.1606990405.1625532779-101864935.1621583375) 

一、PG数据库配置

konga 使用数据库 Postgres 作为存储。

postgresql是不允许使用root用户启动服务的,所以必须切换到其他用户下才可以进行正常的服务启动,但是有些时候我们又需要使用root用户来使用postgresql

首先登录进su - postgresql 交互控制台 psql,然后执行下面的语句创建konga的数据库并授权用户:

注意:用户名称为当前登录的用户名 一般为root,否则迁移数据库konga不成功

CREATE USER root; CREATE DATABASE konga OWNER root; ALTER USER root WITH password 'root';

然后编辑pgsql数据目录下的/var/lib/pgsql/9.6/data/pg_hba.conf设置用户访问权限:

host    all all 0.0.0.0/0  trust

为避免连接pgsql被拒绝,因此CIDR这里设置0.0.0.0/0临时允许全部的来源访问,保存配置后,重启postgresql服务,数据库配置完毕.

注意:一定要设置为 trust

sudo /etc/init.d/postgresql restart

注意 pg的用户一定要设置为 root

二、konga安装 https://github.com/pantsel/konga

首先下载源码:

git clone https://github.com/pantsel/konga.git
cd konga

下载完成之后安装:

npm i --unsafe-perm=true --allow-root  注意 一定要使用此命令

如果实在安装不行则试一下 参考:

https://www.cnblogs.com/trustnature/articles/15175463.html

三、数据库迁移(用户一定要一致)

 默认运行的时候读取的配置文件是:.env,可以配置比如绑定地址和端口,数据库连接等配置,默认当前目录下存在一份.env_example,可以拷贝出来:

cp .env_example .env ,然后按照实际的配置进行修改:

PORT=1337
NODE_ENV=production
KONGA_HOOK_TIMEOUT=120000
DB_ADAPTER=postgres
DB_URI=postgresql://localhost:5432/konga
DB_USER=root
DB_PASSWROD=root
KONGA_LOG_LEVEL=warn
TOKEN_SECRET=some_secret_token

cd config && cp local_example.js local.js

# 改成
models: {
    connection: process.env.DB_ADAPTER || 'postgres', // 这里可以用‘mysql’,‘mongo’,‘sqlserver’,‘postgres’
},

vim connections.js

  postgres: {
    adapter: 'sails-postgresql',
    url: process.env.DB_URI,
    host: process.env.DB_HOST || 'localhost',
    user:  process.env.DB_USER || 'root',
    password: process.env.DB_PASSWORD || 'root',
    port: process.env.DB_PORT || 5432,
    database: process.env.DB_DATABASE ||'konga',
    // schema: process.env.DB_PG_SCHEMA ||'public',
    poolSize: process.env.DB_POOLSIZE || 10,
    ssl: process.env.DB_SSL ? true : false // If set, assume it's true
  }

注意:如果改了connection.js 可以不配置 .env

开始迁移:

node ./bin/konga.js  prepare --adapter postgres --uri postgresql://localhost:5432/konga

四、启动konga

直接启动:npm run production  或 npm start

后台启动:

nohup npm run production > /dev/null 2>&1 &

推荐使用pm2 管理进程:

npm install -g pm2

ln -s /usr/local/nodejs/lib/node_modules/pm2/bin/pm2 /usr/local/bin

启动:

pm2 start npm --name 'konga'  -- run production

停止:

pm2 stop konga

查看:

pm2 list

删除:

pm2 delete id

保存:

pm2 save

pm2 startup

 

注意:因为github 安装会出现网络问题导致安装失败,可以用打包好的konga

konga.npm.tar.gz

然后迁移数据库,直接启动即可,省去下载步骤。

posted on 2021-08-23 13:39  TrustNature  阅读(424)  评论(0)    收藏  举报