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
L'utilisation de Casibase est divisée en deux étapes :
- Étape 1 : Déploiement et exécution de Casdoor
- Étape 2 : Déploiement et exécution de Casibase (ce document)
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
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.
Nom | Description | Langue | Code source |
---|---|---|---|
Frontend | Interface web de Casibase | JavaScript + React | https://github.com/casibase/casibase/tree/master/web |
Backend | API RESTful de Casibase | Golang + Beego + XORM | https://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 =
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 =
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.
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
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 :
Vous accéderez ensuite à la page d'accueil de Casibase :
Pour utiliser un port différent, éditez conf/app.conf
et modifiez httpport
, puis redémarrez le backend Go.