服务器安装
要求
操作系统
支持所有主要操作系统,包括Windows、Linux和macOS。
环境
Casibase的使用分为两个步骤:
- 步骤1:部署并运行Casdoor
- 步骤2:部署并运行Casibase(本文档)
我们强烈建议使用Yarn 1.x来运行和构建Casdoor和Casibase前端,使用NPM可能会导致UI样式问题,详见:casdoor#294
对于中国用户,为了成功下载Go依赖包,您需要通过配置GOPROXY环境变量来使用Go代理。我们强烈推荐:https://goproxy.cn/ 我们强烈推荐:https://goproxy.cn/
数据库
Casibase 使用 XORM 与数据库通信。 Casibase使用XORM与数据库通信。基于Xorm驱动支持,Casibase目前支持以下数据库:
MySQL
MariaDB
PostgreSQL
CockroachDB
SQL Server
Oracle
SQLite 3
TiDB
guacd
Casibase使用guacamole-server提供远程桌面访问。如果您想使用此功能,需要先安装guacamole-server。如果您尚未安装guacamole-server,请参考guacamole-server安装。 如果您想使用此功能,您需要先安装 guacamole-server。 如果您还未安装 guacamole-server,请参阅 guacamole-server 安装指南。
您也可以使用以下命令在docker中运行guacd:
docker run -d --name guacd -p 4822:4822 guacamole/guacd
下载
Casibase的源代码托管在GitHub上:https://github.com/casibase/casibase。Go后端代码和React前端代码都在同一个仓库中。 Go 后端代码和 React 前端代码都在同一个仓库中。
名称 | 描述 | 语言 | 源代码 |
---|---|---|---|
前端 | Casibase的Web前端UI | JavaScript + React | https://github.com/casibase/casibase/tree/master/web |
后端 | Casibase的RESTful API后端 | Golang + Beego + XORM | https://github.com/casibase/casibase |
Casibase支持Go Modules
。要下载代码,您只需通过git克隆代码: 要下载代码,只需通过 git 克隆代码即可:
cd path/to/folder
git clone https://github.com/casibase/casibase
配置
配置Casdoor
请参考Casdoor-SSO部分来配置Casdoor。
记住您在Casdoor配置中的clientId
、clientSecret
、organization
、application
等信息,我们稍后会用到。
配置数据库
Casibase支持mysql、mssql、sqlite3、postgres。Casibase默认使用mysql。 Casibase 默认使用 mysql。
MySQL
Casibase将在名为casibase
的MySQL数据库中存储其用户、节点和主题信息。如果数据库不存在,需要手动创建。数据库连接字符串可以在以下位置指定:https://github.com/casibase/casibase/blob/master/conf/app.conf 如果数据库不存在,则需要手动创建。 数据库连接字符串可以在此指定:https://github.com/casibase/casibase/blob/master/conf/app.conf
driverName = mysql dataSourceName = root:123456@tcp(localhost:3306)/ dbName = casibase
PostgreSQL
由于我们必须在使用xorm打开Postgres时选择一个数据库,因此您应该在运行Casibase之前手动准备一个数据库。
假设您已经准备好了一个名为casibase
的数据库,那么您应该这样指定app.conf
:
driverName = postgres dataSourceName = "user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casibase" dbName =
对于PostgreSQL,确保dataSourceName
有非空的dbName
,并像上面的例子一样将独立的dbName
字段留空。
CockroachDB
您也可以使用postgres驱动程序使用Cockroachdb。它的配置与PostgreSQL相同。 其配置与 PostgreSQL 相同。
driverName = postgres dataSourceName = "user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casibase serial_normalization=virtual_sequence" dbName =
对于CockroachDB,不要忘记像上面的例子一样在dataSourceName
中添加serial_normalization=virtual_sequence
。否则,每当服务启动或重启时,您都会收到关于数据库已存在的错误。注意,这必须在数据库创建之前添加。 否则,每当服务启动或重启时,您会收到有关数据库已存在的错误信息。 请注意,此项必须在数据库创建之前添加。
Sqlite3
您应该这样指定app.conf
:
driverName = sqlite
dataSourceName = "file:casibase.db?cache=shared"
dbName = casibase
自定义配置
Casibase支持自定义配置,您可以修改配置文件conf/app.conf
来更改配置。
- 后端 (conf/app.conf)
casdoorEndpoint = <您的Casdoor端点>
clientId = <您的Casdoor应用程序的客户端ID>
clientSecret = <您的Casdoor应用程序的客户端密钥>
casdoorOrganization = <您的Casdoor组织名称>
casdoorApplication = <您的Casdoor应用程序名称>
- 前端 (web/src/Conf.js)
serverUrl: "<您的Casdoor端点>"
clientId: "<您的Casdoor应用程序的客户端ID>"
appName: "<您的Casdoor应用程序名称>"
organizationName: "<您的Casdoor组织名称>"
运行
目前有两种启动方法,您可以根据自己的情况选择其中一种。
开发模式
后端
Casibase的Go后端默认在端口14000上运行。您可以使用以下命令启动Go后端: 您可以使用以下命令启动 Go 后端:
go run main.go
服务器成功运行后,我们可以启动前端部分。
前端
Casibase的前端是一个非常经典的Create-React-App (CRA)项目。它默认在端口13001
上运行。使用以下命令运行前端: 默认在端口 13001
运行。 使用以下命令运行前端:
cd web
yarn install
yarn start
生产模式
后端
将Casibase Go后端代码构建成可执行文件并启动。
对于Linux:
go build
./casibase
对于Windows:
go build
casibase.exe
前端
将Casibase前端代码构建成静态资源(.html、.js、.css文件):
cd web
yarn install
yarn build
Nginx
如果您使用nginx作为反向代理,需要在nginx配置文件中添加以下配置:
location / {
*** 您的配置 ***
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
因为Casibase使用websocket与guacd通信。
预览
在浏览器中访问:http://localhost:13001
。 在浏览器中访问:http://localhost:13001
。使用您刚刚在Casdoor中注册的用户账户登录Casibase仪表板:
然后您将进入Casibase的主页:
要使用其他端口,请编辑conf/app.conf
并修改httpport
,然后重启Go后端。