跳转到主要内容

安装

这将有助于您在服务器上部署Casnode 如果您想要通过 BT 面板或 Docker 安装 Casnode ,请在 BT Panel and Docker 查看详细信息。

请先克隆Casnode

git clone https://github.com/casbin/casnode

然后按照这些步骤轻松设置您自己的论坛!

生产环境

1. 设置Casdoor

Casnode 使用 Casdoor 来管理成员。 所以您需要在Casdoor 实例中创建一个组织和一个Casnode 的应用程序。

按照这些步骤设置Casdoor for Casnode:

  • Casdoor配置向导(点击 此处 获取更多Casdoor详细信息)

  • 登录到机构“built-in”

  • 点击顶部栏中的 Organizations

  • 点击 添加 按钮

  • 记住组织名称, 这里我使用 casbin-forum 作为我的组织名称: 组织

  • 点击 顶部栏中的应用程序

  • 点击 添加 按钮

  • 记住应用程序名称, 这里我使用论坛作为我的应用程序名称:

  • 点击 编辑

应用程序

  • 选择您刚刚创建的组织作为应用程序组织

选择

  • 修改重定向URL到论坛 URL。 如果您处于正在开发的环境中,您的重定向URL是 http://localhost:3000/callback。 如果您处于生产环境,您的重定向URL是 http://yourip:7000/callback

重定向器

  • 点击 保存 并记住 客户端 ID客户端密钥

客户

2. 修改 conf/app.conf

以下是配置项目的解释:

Database connection:

Casnode database

driverName = mysql
dataSourceName = root:123@tcp(localhost:3306)/
dbName = casnode

Casdoor database

casdoorDbName = casdoor
Casdoor's driverName and dataSourceName are the same as casnode by default. If your Casdoor and Casnode are not in the same database, you can set up the casdoor database in casdoor/adapter.go

Here we provide an example:

  1. Add casdoor configuration in conf/app.conf:
casdoorDriverName =
casdoorDataSourceName =
  1. Modify the func InitCasdoorAdapter():
    adapter = NewAdapter(beego.AppConfig.String("casdoorDriverName"), beego.AppConfig.String("casdoorDriverName"), beego.AppConfig.String("casdoorDbName"))

Object Storage Service (Casnode uses OSS to store resources):

OSSProvider = ""
accessKeyID = ""
accessKeySecret = ""
OSSCustomDomain = ""
OSSBasicPath = ""
OSSRegion = ""
OSSEndPoint = ""
OSSBucket = ""

If you can not access Google in normal ways, you need to set up a http proxy here:

httpProxy = "127.0.0.1:10808"

Casdoor config:

# Your Casdoor endpoint in step 1
casdoorEndpoint = http://localhost:8000

# Client ID you copied in step 1
clientId = xxx

# Client Secret you copied in step 1
clientSecret = xxx

jwtSecret = CasdoorSecret

# Organization name in step 1
casdoorOrganization = "casbin-forum"

3. 修改 web/src/Conf.js

export const AuthConfig = {
// Your Casdoor endpoint in step 1
serverUrl: "http://localhost:7001",

// Client ID you copied in step 1
clientId: "014ae4bd048734ca2dea",

// Application name you copied in step 1
appName: "app-casbin-forum",

// Organization name you copied in step 1
organizationName: "casbin-forum",
};

4. 构建前端

在文件夹 web中,运行以下命令:

yarn install && yarn run build

5. 重建后端

在资源库root中,运行:

go build
./casnode

接着,Casnode 应用程序应该运行在端口7000。 您可以设置 nginx 代理通过来管理 SSL 或其他东西。

对于大多数想要使用 Casnode开发论坛的站点所有者来说,以上步骤就足够了。 但如果您是开发者,想要为Casnode做出贡献, 或修改代码以适应您自己的环境,然后您可以在开发模式下运行 Casnode 。 请按照这些步骤开始开发模式:

开发环境

1. 执行上文第1-3步

4. 运行后退结束

go run main.go

5. 运行前端

网页 文件夹中:

yarn install
yarn run start

现在,Casnode 在3000端口运行前端,运行后端在7000端口结束。 您可以修改代码,看看会发生什么。

前端使用这些代码来确定它是否是一个开发模式:
export function initServerUrl() {
const hostname = window.location.hostname;
if (hostname === "localhost") {
ServerUrl = `http://${hostname}:7000`;
}
}

这意味着如果主机名是 localhost,那么你就处于开发模式。 如果没有,那么你就处于生产模式。 后端端端口在开发模式和生产模式中不相同,所以请不要使用 127。 0.0.1 而不是 本地主机 您的浏览器在开发模式。 :::