Passer au contenu principal

Installation du serveur

Exigences

Système d'exploitation

Tous les principaux systèmes d'exploitation sont pris en charge, y compris Windows, Linux et macOS.

Environnement

info

L'utilisation de Casibase est divisée en deux étapes :

Nous recommandons fortement d'utiliser Yarn 1.x pour exécuter et construire les interfaces de Casdoor et Casibase. L'utilisation de NPM peut entraîner des problèmes de style d'interface, voir : casdoor#294

prudence

Pour les utilisateurs chinois, afin de télécharger avec succès les packages de dépendance Go, vous devez utiliser un proxy Go en configurant la variable d'environnement GOPROXY. Nous recommandons fortement : https://goproxy.cn/

Base de données

Casibase utilise XORM pour communiquer avec la base de données. Basé sur la prise en charge des pilotes Xorm, Casibase prend actuellement en charge les bases de données suivantes :

  • MySQL
  • MariaDB
  • PostgreSQL
  • CockroachDB
  • SQL Server
  • Oracle
  • SQLite 3
  • TiDB

guacd

Casibase utilise guacamole-server pour fournir un accès bureau à distance. Si vous souhaitez utiliser cette fonctionnalité, vous devez installer guacamole-server au préalable. Si vous n'avez pas encore installé guacamole-server, veuillez vous référer à l'installation de guacamole-server.

Vous pouvez également exécuter guacd dans Docker avec la commande suivante :

docker run -d --name guacd -p 4822:4822 guacamole/guacd

Téléchargement

Le code source de Casibase est hébergé sur GitHub : https://github.com/casibase/casibase. Le code backend Go et le code frontend React sont tous deux dans le même dépôt.

NomDescriptionLangueCode source
FrontendInterface web de CasibaseJavaScript + Reacthttps://github.com/casibase/casibase/tree/master/web
BackendAPI RESTful de CasibaseGolang + Beego + XORMhttps://github.com/casibase/casibase

Casibase prend en charge les Go Modules. Pour télécharger le code, il vous suffit de cloner le code via git :

cd path/to/folder
git clone https://github.com/casibase/casibase

Configuration

Configuration de Casdoor

Veuillez vous référer à la section Casdoor-SSO pour configurer Casdoor.

N'oubliez pas les informations de votre configuration Casdoor, telles que clientId, clientSecret, organization, application, etc. Nous les utiliserons plus tard.

Configuration de la base de données

Casibase prend en charge mysql, mssql, sqlite3, postgres. Par défaut, Casibase utilise mysql.

MySQL

Casibase stockera ses informations sur les utilisateurs, les nœuds et les modèles dans une base de données MySQL nommée casibase. Si la base de données n'existe pas, vous devez la créer manuellement. La chaîne de connexion à la base de données peut être spécifiée ici : https://github.com/casibase/casibase/blob/master/conf/app.conf

driverName = mysql dataSourceName = root:123456@tcp(localhost:3306)/ dbName = casibase

PostgreSQL

Comme nous devons sélectionner une base de données lors de l'ouverture de Postgres avec xorm, vous devez préparer manuellement une base de données avant d'exécuter Casibase.

Supposons que vous ayez préparé une base de données nommée casibase, vous devriez alors spécifier app.conf :

driverName = postgres dataSourceName = "user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casibase" dbName =

info

Pour PostgreSQL, assurez-vous que dataSourceName a un dbName non vide et laissez le champ dbName séparé vide comme dans l'exemple ci-dessus.

CockroachDB

Vous pouvez également utiliser le pilote postgres pour utiliser Cockroachdb. Sa configuration est identique à PostgreSQL.

driverName = postgres dataSourceName = "user=postgres password=postgres host=localhost port=5432 sslmode=disable dbname=casibase serial_normalization=virtual_sequence" dbName =

info

Pour CockroachDB, n'oubliez pas d'ajouter serial_normalization=virtual_sequence dans dataSourceName comme dans l'exemple ci-dessus. Sinon, vous recevrez une erreur indiquant que la base de données existe déjà chaque fois que le service démarre ou redémarre. Notez que cela doit être ajouté avant la création de la base de données.

Sqlite3

Vous devez spécifier app.conf :

driverName = sqlite
dataSourceName = "file:casibase.db?cache=shared"
dbName = casibase

Configuration personnalisée

Casibase prend en charge la configuration personnalisée, vous pouvez modifier le fichier de configuration conf/app.conf pour changer la configuration.

  • Backend (conf/app.conf)
casdoorEndpoint = <Votre point de terminaison Casdoor>
clientId = <L'ID client de votre application Casdoor>
clientSecret = <Le secret client de votre application Casdoor>
casdoorOrganization = <Le nom de votre organisation Casdoor>
casdoorApplication = <Le nom de votre application Casdoor>
  • Frontend (web/src/Conf.js)
serverUrl: "<Votre point de terminaison Casdoor>"
clientId: "<L'ID client de votre application Casdoor>"
appName: "<Le nom de votre application Casdoor>"
organizationName: "<Le nom de votre organisation Casdoor>"

Run

Il existe actuellement deux méthodes de démarrage, vous pouvez en choisir une selon votre situation.

prudence

Casibase a besoin de Casdoor pour fournir le contrôle d'accès et certains services backend, donc avant d'exécuter Casibase, vous devez vous assurer que Casdoor fonctionne normalement.

Comment installer et exécuter Casdoor :

Mode développement

Backend

Le backend Go de Casibase s'exécute par défaut sur le port 14000. Vous pouvez démarrer le backend Go avec la commande suivante :

go run main.go

Après que le serveur a démarré avec succès, nous pouvons démarrer la partie frontend.

Frontend

Le frontend de Casibase est un projet Create-React-App (CRA) très classique. Il s'exécute par défaut sur le port 13001. Utilisez les commandes suivantes pour exécuter le frontend :

cd web
yarn install
yarn start

Mode production

Backend

Construisez le code backend Go de Casibase en un exécutable et démarrez-le.

Pour Linux :

go build
./casibase

Pour Windows :

go build
casibase.exe

Frontend

Construisez le code frontend de Casibase en ressources statiques (fichiers .html, .js, .css) :

cd web
yarn install
yarn build

Nginx

conseil

Si vous utilisez nginx comme proxy inverse, vous devez ajouter la configuration suivante dans votre fichier de configuration nginx :

location / {
*** Votre configuration ***
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

Car Casibase utilise websocket pour communiquer avec guacd.

Aperçu

Visitez http://localhost:13001 dans votre navigateur. Connectez-vous au tableau de bord Casibase avec le compte utilisateur que vous venez d'enregistrer dans Casdoor :

login

Vous accéderez ensuite à la page d'accueil de Casibase :

home

conseil

Pour utiliser un port différent, éditez conf/app.conf et modifiez httpport, puis redémarrez le backend Go.