Server-Installation
Anforderungen
Betriebssystem
Alle wichtigen Betriebssysteme werden unterstützt, einschließlich Windows, Linux und macOS.
Umgebung
Die Verwendung von Casibase erfolgt in zwei Schritten:
- Schritt 1: Casdoor bereitstellen und ausführen
- Schritt 2: Casibase bereitstellen und ausführen (dieses Dokument)
Wir empfehlen dringend, Yarn 1.x zu verwenden, um das Casdoor- und Casibase-Frontend auszuführen und zu erstellen. Die Verwendung von NPM kann zu UI-Styling-Problemen führen, siehe: casdoor#294
Für chinesische Benutzer: Um Go-Abhängigkeiten erfolgreich herunterzuladen, müssen Sie einen Go-Proxy verwenden, indem Sie die GOPROXY-Umgebungsvariable konfigurieren. Wir empfehlen dringend: https://goproxy.cn/
Datenbank
Casibase verwendet XORM, um mit der Datenbank zu kommunizieren. Basierend auf der Xorm-Treiberunterstützung unterstützt Casibase derzeit die folgenden Datenbanken:
MySQL
MariaDB
PostgreSQL
CockroachDB
SQL Server
Oracle
SQLite 3
TiDB
guacd
Casibase verwendet guacamole-server, um Remote-Desktop-Zugriff bereitzustellen. Wenn Sie diese Funktion nutzen möchten, müssen Sie zuerst guacamole-server installieren. Wenn Sie guacamole-server noch nicht installiert haben, finden Sie unter guacamole-server Installation weitere Informationen.
Sie können guacd auch mit dem folgenden Befehl in Docker ausführen:
docker run -d --name guacd -p 4822:4822 guacamole/guacd
Herunterladen
Der Quellcode von Casibase wird auf GitHub gehostet: https://github.com/casibase/casibase. Sowohl der Go-Backend-Code als auch der React-Frontend-Code befinden sich im selben Repository.
Name | Beschreibung | Sprache | Quellcode |
---|---|---|---|
Frontend | Web-Frontend-UI für Casibase | JavaScript + React | https://github.com/casibase/casibase/tree/master/web |
Backend | RESTful API-Backend für Casibase | Golang + Beego + XORM | https://github.com/casibase/casibase |
Casibase unterstützt Go Modules
. Um den Code herunterzuladen, klonen Sie einfach den Code über git:
cd path/to/folder
git clone https://github.com/casibase/casibase
Konfiguration
Casdoor konfigurieren
Bitte beziehen Sie sich auf den Abschnitt Casdoor-SSO, um Casdoor zu konfigurieren.
Merken Sie sich Ihre Casdoor-Konfigurationsinformationen wie clientId
, clientSecret
, organization
, application
usw., die wir später verwenden werden.
Datenbank konfigurieren
Casibase unterstützt mysql, mssql, sqlite3, postgres. Casibase verwendet standardmäßig mysql.
MySQL
Casibase speichert seine Benutzer-, Knoten- und Themeninformationen in einer MySQL-Datenbank namens casibase
. Wenn die Datenbank nicht existiert, müssen Sie sie manuell erstellen. Die Datenbankverbindungszeichenfolge kann hier angegeben werden: https://github.com/casibase/casibase/blob/master/conf/app.conf
driverName = mysql dataSourceName = root:123456@tcp(localhost:3306)/ dbName = casibase
PostgreSQL
Da wir beim Öffnen von Postgres mit xorm eine Datenbank auswählen müssen, sollten Sie vor dem Ausführen von Casibase manuell eine Datenbank vorbereiten.
Angenommen, Sie haben bereits eine Datenbank namens casibase
vorbereitet, dann sollten Sie app.conf
wie folgt angeben:
driverName = postgres dataSourceName = "user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casibase" dbName =
Für PostgreSQL stellen Sie sicher, dass dataSourceName
einen nicht leeren dbName
hat und lassen Sie das separate dbName
-Feld leer, wie im obigen Beispiel.
CockroachDB
Sie können auch Cockroachdb mit dem postgres-Treiber verwenden. Die Konfiguration ist dieselbe wie bei PostgreSQL.
driverName = postgres dataSourceName = "user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casibase serial_normalization=virtual_sequence" dbName =
Für CockroachDB vergessen Sie nicht, serial_normalization=virtual_sequence
in dataSourceName
hinzuzufügen, wie im obigen Beispiel. Andernfalls erhalten Sie jedes Mal, wenn der Dienst startet oder neu startet, einen Fehler, dass die Datenbank bereits existiert. Beachten Sie, dass dies hinzugefügt werden muss, bevor die Datenbank erstellt wird.
Sqlite3
Sie sollten app.conf
wie folgt angeben:
driverName = sqlite
dataSourceName = "file:casibase.db?cache=shared"
dbName = casibase
Benutzerdefinierte Konfiguration
Casibase unterstützt benutzerdefinierte Konfigurationen. Sie können die Konfigurationsdatei conf/app.conf
ändern, um die Konfiguration zu ändern.
- Backend (conf/app.conf)
casdoorEndpoint = <Ihr Casdoor-Endpunkt>
clientId = <Client-ID Ihrer Casdoor-Anwendung>
clientSecret = <Client-Secret Ihrer Casdoor-Anwendung>
casdoorOrganization = <Ihr Casdoor-Organisationsname>
casdoorApplication = <Ihr Casdoor-Anwendungsname>
- Frontend (web/src/Conf.js)
serverUrl: "<Ihr Casdoor-Endpunkt>"
clientId: "<Client-ID Ihrer Casdoor-Anwendung>"
appName: "<Ihr Casdoor-Anwendungsname>"
organizationName: "<Ihr Casdoor-Organisationsname>"
Ausführen
Derzeit gibt es zwei Startmethoden, und Sie können eine davon entsprechend Ihrer Situation auswählen.
Casibase benötigt Casdoor für die Zugriffskontrolle und einige Backend-Dienste, daher müssen Sie sicherstellen, dass Casdoor ordnungsgemäß läuft, bevor Sie Casibase ausführen.
Wie man Casdoor installiert und ausführt:
Entwicklungsmodus
Backend
Das Go-Backend von Casibase läuft standardmäßig auf Port 14000. Sie können das Go-Backend mit dem folgenden Befehl starten:
go run main.go
Nachdem der Server erfolgreich gestartet wurde, können wir den Frontend-Teil starten.
Frontend
Das Frontend von Casibase ist ein sehr klassisches Create-React-App (CRA) Projekt. Es läuft standardmäßig auf Port 13001
. Verwenden Sie den folgenden Befehl, um das Frontend auszuführen:
cd web
yarn install
yarn start
Produktionsmodus
Backend
Kompilieren Sie den Casibase Go-Backend-Code zu einer ausführbaren Datei und starten Sie diese.
Für Linux:
go build
./casibase
Für Windows:
go build
casibase.exe
Frontend
Kompilieren Sie den Casibase-Frontend-Code zu statischen Ressourcen (.html, .js, .css Dateien):
cd web
yarn install
yarn build
Nginx
Wenn Sie nginx als Reverse-Proxy verwenden, müssen Sie die folgende Konfiguration in Ihrer nginx-Konfigurationsdatei hinzufügen:
location / {
*** Ihre Konfiguration ***
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
Da Casibase Websocket für die Kommunikation mit guacd verwendet.
Vorschau
Besuchen Sie im Browser: http://localhost:13001
. Melden Sie sich mit dem Benutzerkonto, das Sie gerade in Casdoor registriert haben, am Casibase-Dashboard an:
Dann gelangen Sie zur Startseite von Casibase:
Um einen anderen Port zu verwenden, bearbeiten Sie bitte conf/app.conf
und
ändern Sie httpport
, dann starten Sie das Go-Backend neu.