Skip to main content

Installation

Ces paragraphes vous aideront à déployer Casnode sur votre serveur. Si vous voulez installer Casnode par BT Panel ou Docker, veuillez consulter les détails sur: BT Panel et Docker.

Veuillez d'abord cloner Casnode :

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

et suivez ces étapes pour configurer facilement votre propre forum!

Environnement de Production

1. Configurer Casdoor

Casnode utilise Casdoor pour gérer les membres. Vous devez donc créer une organisation et une application pour Casnode dans une instance Casporte.

Suivez ces étapes pour configurer Casdoor pour Casnode:

  • Naviguez vers Casdoor (Cliquez sur ici pour plus de détails sur Casdoor)

  • Connectez-vous à l'organisation "intégré"

  • Cliquez sur Organisations dans la barre supérieure

  • Cliquez sur le bouton ajouter

  • Rappelez-vous le nom de l'organisation, ici j'utilise casbin-forum comme nom de mon organisation : organisation

  • Cliquez sur Applications dans la barre supérieure

  • Cliquez sur le bouton ajouter

  • Rappelez-vous le nom de l'application, ici j'utilise le forum comme nom de mon application:

  • Cliquez sur Modifier

application

  • Sélectionnez l'organisation que vous venez de créer en tant qu'organisation d'application

sélectionner

  • Modifier les URL de redirection vers l'URL du forum. Si vous êtes dans un environnement en développement, votre URL de redirection est http://localhost:3000/callback. Si vous êtes dans un environnement de production, votre URL de redirection est http://yourip:7000/callback

redirecturls

  • Cliquez sur Enregistrer et mémorisez l' ID du client et Secret du client

client

2. Modifier conf/app.conf

Voici une explication des éléments de configuration :

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. Modifier 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. Construire le frontal

Dans le dossier web, exécutez les commandes suivantes :

yarn install && yarn run build

5. Fin de la compilation

À la racine du dépôt, exécutez :

go build
./casnode

Ensuite, l'application Casnode devrait s'exécuter sur le port 7000. Vous pouvez configurer un proxy nginx pour gérer SSL ou autre chose.

Pour la plupart des propriétaires de site qui veulent développer un forum en utilisant Casnode, les étapes ci-dessus sont suffisantes. Mais si vous êtes un développeur, vous voulez contribuer à Casnode, ou modifiez le code en fonction de votre propre environnement, alors vous pouvez exécuter Casnode en mode développement. Veuillez suivre ces étapes pour commencer à développer le mode :

Environnement Dev

1. Faire l'étape 1-3 ci-dessus

4. Exécuter en arrière plan

go run main.go

5. Exécuter le front-end

Dans le dossier web:

yarn install
yarn run start

Maintenant, Casnode exécute son front-end au port 3000 et tourne son back end au port 7000. Vous pouvez modifier le code et voir ce qui va se passer. :::prudence Le front-end utilise ces codes pour déterminer si c'est un mode dev:

export function initServerUrl() {
const hostname = window.location.hostname;
if (hostname === "localhost") {
ServerUrl = `http://${hostname}:7000`;
}
}

Cela signifie que si le nom d'hôte est localhost, alors vous êtes en mode dev. Dans le cas contraire, vous êtes en mode productif. Le port du back end n'est pas le même en mode dev et en mode productif, donc n'utilisez pas 127. .0.1 au lieu de localhost dans votre navigateur en mode dev. :::