github地址:https://github.com/outline/outline
【由于在内网使用且ip地址会变化,我这里使用的是mdns地址 , **http://主机名.local**
】
# 设置主机名我这里使用的是 mc6
hostnamectl set-hostname mc6
# 查看
hostnamectl
Static hostname: mc6
Icon name: computer
Machine ID: 0b36caa9812843f5982bd903b337b79a
Boot ID: 71648266164d43fc8c59b8581a6ba2b0
Operating System: Ubuntu 20.04.6 LTS
Kernel: Linux 4.4.35_ecoo_83020168
Architecture: arm64
# mdns使用的包
apt install avahi-daemon avahi-utils
apt update && apt upgrade -y
apt install redis postgresql -y
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
apt-get install nodejs -y
npm config set registry https://registry.npmmirror.com
npm config set cache "/mnt/sda1/.cache/npm"
npm install -g yarn
yarn config set registry https://registry.npmmirror.com
yarn config set cache-folder /mnt/mmcblk1p1/.cache/yarn
npm install pm2 -g
ss -tunlp | grep 5432
su postgres
psql -U postgres
# 创建用户outline、keycloak数据库并授权
CREATE USER outline WITH PASSWORD '123456';
CREATE DATABASE outline OWNER outline;
ALTER USER outline WITH SUPERUSER CREATEDB;
ALTER USER outline WITH CREATEDB;
ALTER USER outline WITH CREATEROLE;
ALTER USER outline WITH REPLICATION;
CREATE USER keycloak WITH PASSWORD 'keycloak';
CREATE DATABASE keycloak OWNER keycloak;
ALTER USER keycloak WITH SUPERUSER CREATEDB;
ALTER USER keycloak WITH CREATEDB;
ALTER USER keycloak WITH CREATEROLE;
ALTER USER keycloak WITH REPLICATION;
# 检查
\l
\du
# 退出
\q
exit
# vi /etc/postgresql/12/main/pg_hba.conf
apt install openjdk-17-jdk -y
# 最新版本号: curl -sL https://api.github.com/repos/keycloak/keycloak/releases/latest | jq -r .tag_name
wget https://ghproxy.cfd/https://github.com/keycloak/keycloak/releases/download/26.3.3/keycloak-26.3.3.zip
unzip keycloak-26.3.3.zip
cd keycloak-26.3.3
vi conf/keycloak.conf
# ------.env文件内容---------
db=postgres
db-username=keycloak
db-password=keycloak
db-url=jdbc:postgresql://localhost:5432/keycloak
http-enabled=true
https-certificate-file=${kc.home.dir}/conf/server.crt.pem
https-certificate-key-file=${kc.home.dir}/conf/server.key.pem
spi-sticky-session-encoder-infinispan-should-attach-route=false
hostname=mc6.local
# ---------------
# 先以开发模式运行
bin/kc.sh start-dev --bootstrap-admin-username admin --bootstrap-admin-password 888888 --http-port=8080
在线生成个SSL证书和秘钥文件,重命名 server.crt.pem
、server.key.pem
后放入keycloak-26.3.3/conf
目录
KEYCLOAK 运行后,等待初始化,日志里会显示监听ip和端口号后打开 http://ip地址或hostname:8080
填写管理用户名**admin**
和密码**888888**
登录
首先修改语言为中文
- 1.创建新的正式管理员用户并删除临时用户;
- 2.创建领域 名称:
outline
;
- 3.切换到outline领域,在outline领域内创建用户;
- 4.进入用户管理为用户设置凭证(密码);
- 5.进入领域设置,创建客户端
- 客户端ID:
outline
对应配置参数OIDC_CLIENT_ID
- 客户端名称:
outline
- 功能设置-客户端认证:开
- 认证流程:勾选 标准流程、直接访问授权
- 6.登录设置
- 根网址:【Outline的访问地址】
http://mc6.local:6010
- 主页 URL:【Outline的访问地址】
http://mc6.local:6010
- 有效的重定向 URI:【Outline地址+ /* 匹配所有路径】
http://mc6.local:6010/*
- 有效的注销后重定向 URI【Outline地址+ /* 匹配所有路径】
http://mc6.local:6010/*
- 网络根源:【Outline的访问地址】
http://mc6.local:6010
- 管理网址:【Outline的访问地址】
http://mc6.local:6010
- 7.凭证
- 客户端验证器:Client Id and Secret(客户端id和证书)
- 客户端密码:【记录备用】 对应配置参数
OIDC_CLIENT_SECRET
- 其它保持默认即可
bin/kc.sh start --http-port=8080
pm2 start bin/kc.sh -- start --http-port=8080
curl -sL https://api.github.com/repos/outline/outline/releases/latest | jq -r .tag_name
wget https://gh-proxy.net/https://github.com/outline/outline/archive/refs/tags/v0.86.1.zip
unzip v0.86.1.zip
cd outline0.86.1
vi .env
# ------.env文件内容---------
NODE_ENV=production
SECRET_KEY=6697a4fc3c47d879f42d73e4ed00cda076c79e845257acfab8661b2241532ea7
UTILS_SECRET=9fb6973a0e562ca592999436c2f5ed4326a81e2fdff8c996b27cb58b5abff79a
DATABASE_URL=postgres://outline:123456@localhost:5433/outline
PGSSLMODE=disable
REDIS_URL=redis://localhost:6379
URL=http://mc6.local:6010
PORT=6010
COLLABORATION_URL=http://mc6.local:6010
FILE_STORAGE=local
FILE_STORAGE_LOCAL_ROOT_DIR=/mnt/mmcblk1p1/local/outline/data
FILE_STORAGE_UPLOAD_MAX_SIZE=26214400
OIDC_CLIENT_ID=outline
OIDC_CLIENT_SECRET=zvY91IfHH4uRaH4VPLMLfusNbzcrYSKZ
OIDC_AUTH_URI=http://mc6.local:8080/realms/outline/protocol/openid-connect/auth
OIDC_TOKEN_URI=http://mc6.local:8080/realms/outline/protocol/openid-connect/token
OIDC_USERINFO_URI=http://mc6.local:8080/realms/outline/protocol/openid-connect/userinfo
OIDC_LOGOUT_URI=http://mc6.local:8080/realms/outline/protocol/openid-connect/logout
OIDC_DISABLE_REDIRECT=false
OIDC_USERNAME_CLAIM=preferred_username
OIDC_DISPLAY_NAME=OpenID
OIDC_SCOPES=openid profile email
FORCE_HTTPS=false
ENABLE_UPDATES=false
WEB_CONCURRENCY=4
LOG_LEVEL=info
DEFAULT_LANGUAGE=zh_CN
RATE_LIMITER_ENABLED=false
# ---------------
git init && npx husky-init
yarn install && yarn clean && yarn --max-old-space-size=1024 vite:build && yarn --max-old-space-size=1024 build:i18n && yarn --max-old-space-size=1024 build:server
yarn sequelize db:migrate --env=production-ssl-disabled
yarn start
pm2 start yarn --name outline -- start
pm2 startup
pm2 save