L'installation et le déploiement de SSCMS reposent sur une phase de compilation locale suivie d'une configuration sur le serveur de destination. Ce guide détaille les étapes pour préparer les binaires sous environnement .NET et assurer leur exécution sur un serveur Linux géré par BT Panel (Baota).
1. Configuration initiale de l'application
Avant de procéder à la compilation, il est possible de définir un port d'écoute spécifique pour l'application Kestrel. Par défaut, SSCMS utilice le port 5000. Pour le modifier, éditez le fichier sscms.json à la racine du projet :
{
"Urls": "http://*:8080",
"SSCMS": {
"Database": { ... }
}
}
2. Processus de build et packaging local
La génération des fichiers exécutables nécessite l'installation préalable de Node.js (pour les assets frontend) et du SDK .NET. Selon votre plateforme cible, exécutez les séquences de commandes suivantes dans votre terminal.
Cible Linux (x64)
Pour un déploiement sur CentOS, utilisez cette séquence pour isoler les fichiers nécessaires :
# Installation des dépendances NPM
npm install
# Préparation de la structure de build Linux
npm run build-linux-x64
# Compilation de la solution .NET
dotnet build ./build-linux-x64/build.sln -c Release
# Publication des composants CLI et Web
dotnet publish ./build-linux-x64/src/SSCMS.Cli/SSCMS.Cli.csproj -r linux-x64 -c Release -o ./publish/sscms-linux-x64
dotnet publish ./build-linux-x64/src/SSCMS.Web/SSCMS.Web.csproj -r linux-x64 -c Release -o ./publish/sscms-linux-x64
# Finalisation du package
npm run copy-linux-x64
Une fois l'opération terminée, les fichiers prêts pour la production se trouvent dans le répertoire ./publish/sscms-linux-x64.
3. Configuration du serveur CentOS via BT Panel
Une fois le package local généré, la mise en ligne s'effectue via l'interface de gestion BT Panel sur votre serveur CentOS 7.
Création du site et transfert
- Connectez-vous à votre interface BT Panel.
- Accédez à la section Website et cliquez sur Add Site.
- Renseignez votre nom de domaine et choisissez le chemin racine du site.
- Une fois le site créé, accédez au gestionnaire de fichiers dans le répertoire racine.
- Téléversez l'intégralité du contenu du dossier
publish/sscms-linux-x64généré précédemment. Assurez-vous que le dossierwwwrootse trouve bien à la racine du répertoire du site.
Configuration du Reverse Proxy
Puisque SSCMS s'exécute en tant que service .NET (Kestrel), Nginx doit agir comme un proxy inverse pour rediriger le trafic HTTP standard (port 80 ou 443) vers l'application interne.
- Dans les paramètres du site sur BT Panel, allez dans l'onglet Reverse Proxy.
- Cliquez sur Add Reverse Proxy.
- Donnez un nom au proxy (ex:
SSCMS_Proxy) et indiquez l'URL cible :http://127.0.0.1:5000(ou le port défini dans votre fichier json). - Validez la configuration.
4. Gestion du processus avec Supervisor
Pour garantir que l'application reste active en arrière-plan et redémarre automatiquement en cas de crash, il est fortement recommandé d'utiliser le gestionnaire de processus Supervisor, disponible via le centre d'applications de BT Panel.
Créez un nouveau démon dans Supervisor avec les paramètres suivants :
- Name : SSCMS
- Run User : www
- Run Directory : Le chemin absolu de votre site.
- Start Command :
dotnet SSCMS.Web.dll
Une fois le statut passé sur "Running", votre site SSCMS est officiellement en ligne et accessible via votre navigateur.