Skip to main content

Installation

Diese Absätze werden Ihnen helfen, Casnode auf Ihrem Server zu installieren. Wenn Sie Casnode über BT Panel oder Docker installieren möchten, lesen Sie bitte die Details unter: BT Panel und Docker.

Bitte klonen Sie Casnode zuerst:

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

und folgen Sie diesen Schritten, um ganz einfach Ihr eigenes Forum einzurichten!

Produktionsumgebung

1. Casdoor einrichten

Kasnode verwendet Casdoor um Mitglieder zu verwalten. Daher müssen Sie eine Organisation und eine Bewerbung für Casnode in einer Casdoer-Instanz erstellen.

Folge diesen Schritten, um Casdoor für Casnode einzurichten:

  • Navigiere zur Kasse (Klicke hier für Details zu Casdoor)

  • Bei der Organisation "eingebaut" anmelden

  • Klicke Organisationen in der oberen Leiste

  • Hinzufügen Schaltfläche

  • Denken Sie an den Namen der Organisation, hier verwende ich Casbin-forum als Name meiner Organisation: organisation

  • Anwendungen in der oberen Leiste anklicken

  • Hinzufügen Schaltfläche

  • Name der Anwendung merken - hier benutze ich das Forum als Name meiner Anwendung:

  • Bearbeiten

anwendung

  • Wählen Sie die Organisation aus, die Sie gerade erstellt haben

wählen

  • Ändern Sie die Umleitungs-URLs zur Forum-URL. Wenn Sie sich in einer sich entwickelnden Umgebung befinden, lautet Ihre Umleitungs-URL http://localhost:3000/callback. Wenn Sie sich in einer Produktionsumgebung befinden, lautet Ihre Umleitungs-URL http://yourip:7000/callback

umleitungen

  • Klicken Sie auf Speichern und merken Sie sich die Client ID und Client Secret

klient

2. conf/app.conf ändern

Hier ist eine Erklärung für die Konfigurations-Elemente:

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 ändern

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. Frontend erstellen

Führen Sie im Ordner webfolgende Befehle aus:

yarn install && yarn run build

5. Backend erstellen

Im Repository-Root, ausführen:

go build
./casnode

Dann sollte die Casnode-App auf Port 7000 laufen. Sie können einen nginx-Proxy-Pass einrichten, um SSL oder etwas anderes zu verwalten.

Für die meisten Website-Eigentümer, die ein Forum mit Casnode entwickeln wollen, sind Schritte oben genug. Aber wenn Sie ein Entwickler sind, möchten Sie zu Casnode beitragen oder ändern Sie den Code an Ihre eigene Umgebung, dann können Sie Casnode im Entwicklungsmodus. Bitte folgen Sie diesen Schritten, um mit dem Entwicklungsmodus zu beginnen:

Entwickler-Umgebung

1. Schritt 1-3 oben machen

4. Backend ausführen

go run main.go

5. Frontend ausführen

Im Web- Ordner:

yarn install
yarn run start

Casnode betreibt nun sein Frontend am Port 3000 und läuft am Port 7000. Sie können den Code ändern und sehen, was passieren wird.

Das Frontend verwendet diese Codes, um festzustellen, ob es ein Dev-Modus ist:
export function initServerUrl() {
const hostname = window.location.hostname;
if (hostname === "localhost") {
ServerUrl = `http://${hostname}:7000`;
}
}

Es bedeutet, wenn der Hostname localhostist, dann befinden Sie sich im Dev-Modus. Wenn nicht, dann sind Sie im produktiven Modus. Port des Backends ist nicht identisch im Dev-Modus und im Produktivmodus. Bitte verwenden Sie nicht 127. .0.1 anstelle von localhost in Ihrem Browser im dev-Modus. :::