Ce document est une traduction du contenu de la page discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub.
La version originale de la traduction est publiée sur : Discourse 云平台安装 - Discourse - iSharkFly. N’hésitez pas à participer à la discussion.
Installation sur une plateforme cloud
L’installation de Discourse sur une plateforme cloud prend généralement moins de 30 minutes, même si vous n’avez aucune connaissance de Rails ou du shell Linux. Ci-dessous, nous effectuons le test d’installation via le fournisseur de services DigitalOcean, mais toutes les étapes d’installation peuvent être réalisées sur n’importe quelle plateforme cloud compatible Docker, ou même sur un serveur local.
Vous n’avez même pas 30 minutes ? Vous pouvez contacter la communauté Discourse pour vous aider à effectuer l’installation. La communauté Discourse facturera des frais uniques de 150 $ (dollars américains). Cliquez ici pour acheter le service.
Préparation avant le début
Nom de domaine
Discourse ne peut pas fonctionner avec une adresse IP. Vous devez posséder un nom de domaine ou un sous-domaine pour l’installation, par exemple
example.com.
- Si vous possédez déjà un nom de domaine, vous pouvez choisir n’importe quel sous-domaine pour l’installation, par exemple
discourse.example.com,talk.example.comouforum.example.compour installer votre instance Discourse. - Si vous n’avez pas encore de nom de domaine, vous pouvez visiter le site NameCheap pour rechercher le nom de domaine de votre choix, ou effectuer une recherche Google sur les meilleurs registraires de noms de domaine pour choisir votre registraire préféré.
- Votre console DNS doit être accessible. Après avoir acheté votre nom de domaine, vous devrez accéder à votre configuration DNS pour le configurer. Pour le site Discourse que vous installez, vous devez créer un enregistrement
Avia votre DNS. Cet enregistrement A doit pointer le nom de domaine que vous installez vers une adresse IP spécifique. Cette adresse IP est généralement l’adresse IP du serveur que vous avez achetée à l’étape 1.
Courriel
Le système de courriel est très important dans le processus de création d’utilisateurs de Discourse. Si vous n’avez pas configuré de serveur SMTP pour le courriel avant d’installer Discourse, votre installation de Discourse ne sera ni accessible ni connectable (SITE CASSÉ) !
- Si vous possédez déjà votre propre serveur de courriel SMTP, vous pouvez utiliser directement les informations de configuration de votre serveur de courriel existant.
- Vous n’avez pas encore de serveur de courriel ? Veuillez consulter les serveurs de courriel recommandés par Discourse.
- Pour garantir la livraison normale de vos courriels, vous devez ajouter des enregistrements SPF et DKIM valides dans votre DNS. Veuillez consulter la documentation de votre fournisseur de services de courriel pour savoir comment configurer ces informations.
Selon notre expérience pratique, l’installation de Discourse nécessite un nom de domaine valide et un serveur de courriel configuré. Dans le contexte de la Chine continentale, vous pouvez utiliser les services de courriel d’entreprise fournis par Alibaba Cloud ou Tencent Cloud. Nous vous recommandons généralement d’utiliser un serveur de courriel situé à l’étranger, comme AWS SES ou MailGun, qui sont d’excellents services. Vous aurez peut-être besoin d’une carte de crédit internationale pour la validation. Cependant, cette étape est obligatoire, sans quoi votre installation de Discourse ne pourra pas être complétée.
Installation
Créer un nouveau serveur cloud
Créez votre nouveau serveur cloud, par exemple sur DigitalOcean. Bien sûr, vous pouvez également utiliser des serveurs fournis par d’autres plateformes.
Si vous choisissez un serveur situé en Chine continentale, vous rencontrerez probablement des problèmes de réseau. Cette traduction ajoute un chapitre supplémentaire pour résoudre ces problèmes de réseau.
- La configuration par défaut avec le système d’exploitation Ubuntu LTS de la version actuelle fonctionne très bien. Au minimum, un système d’exploitation Linux 64 bits est requis, et le noyau de ce système d’exploitation doit être mis à jour vers la dernière version.
- La configuration par défaut avec 1 Go de mémoire fonctionne généralement très bien pour les petites communautés Discourse. Cependant, nous recommandons l’utilisation de 2 Go de mémoire pour les grandes communautés.
- La configuration par défaut avec le centre de données New York est une bonne région géographique pour l’Amérique du Nord et l’Europe. Si vos utilisateurs Discourse proviennent principalement d’autres régions géographiques, vous pouvez choisir un centre de données plus proche de vous.
- Saisissez le nom de domaine
discourse.example.compour créer un Droplet dans DigitalOcean (Droplet est le nom donné aux serveurs par DigitalOcean). Vous pouvez également acheter et utiliser votre propre nom de domaine. Généralement, l’installation de Discourse nécessite un vrai nom de domaine ; il est impossible d’installer via une adresse IP. Nous vous recommandons donc d’acheter d’abord un nom de domaine ou d’utiliser un sous-domaine de votre nom de domaine existant.
Créez votre nouveau Droplet. Ce processus équivaut à créer un serveur sur DigitalOcean, ou un VPS/serveur sur d’autres plateformes. Une fois la création terminée, vous recevrez un e-mail contenant le mot de passe de l’utilisateur Root. Cependant, nous vous recommandons de configurer l’utilisation de clés SSH pour renforcer la sécurité de l’accès à votre serveur.
Accéder à votre serveur cloud
Connectez-vous et accédez au serveur que vous avez créé en utilisant l’adresse IP et SSH, ou, pour les plateformes Windows, installez Putty et exécutez la commande suivante pour vous connecter :
ssh root@192.168.1.1
Si vous n’avez pas configuré de clé SSH, vous pouvez utiliser le mot de passe contenu dans l’e-mail envoyé par DigitalOcean pour vous connecter, ou utiliser votre clé SSH locale pour la connexion.
Installer Docker / Git (facultatif)
sudo apt install docker.io
sudo apt install git
Si vous souhaitez utiliser votre propre version de Docker, vous pouvez l’installer maintenant sur votre nouveau serveur. Si votre serveur n’a pas Docker installé par défaut, discourse-setup téléchargera et installera automatiquement Docker depuis get.docker.com.
Installer Discourse
Clonez le code du dépôt Installation Docker officielle de Discourse vers le répertoire /var/discourse de votre ordinateur local.
sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
Vous n’avez qu’à exécuter les commandes ci-dessus. L’installation de Discourse nécessite des privilèges root.
Ajouter des miroirs Docker (uniquement pour les serveurs en Chine continentale)
Si votre serveur est situé en Chine continentale, il est probable que vous soyez bloqué à l’étape Docker dans les étapes suivantes. Essayez d’ajouter un miroir Docker.
En prenant Tencent Cloud comme exemple, éditez /etc/docker/daemon.json dans Linux avec votre éditeur préféré et ajoutez le contenu suivant. Vous pouvez essayer de remplacer https://mirror.ccs.tencentyun.com par l’URL du miroir Docker fournie par votre fournisseur de services cloud :
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
Après avoir ajouté le miroir Docker, redémarrez l’application Docker avec sudo systemctl restart docker pour appliquer les modifications.
Éditer la configuration de Discourse
Exécutez l’outil de configuration avec la commande suivante :
./discourse-setup
Vous devez configurer tous les paramètres selon les invites ci-dessous :
Hostname for your Discourse? [discourse.example.com]:
Email address for admin account(s)? [me@example.com,you@example.com]:
SMTP server address? [smtp.example.com]:
SMTP port? [587]:
SMTP user name? [user@example.com]:
SMTP password? [pa$word]:
Let's Encrypt account email? (ENTER to skip) [me@example.com]:
Les données saisies ci-dessus créeront un fichier app.yml pour votre instance Discourse. Ce fichier configurera votre instance Discourse après l’installation. Le processus de démarrage de l’installation peut prendre 2 à 8 minutes pour configurer Discourse. Si une erreur se produit lors de l’installation, ou si vous devez modifier votre configuration après l’installation, vous pouvez exécuter à nouveau la commande ./discourse-setup (cette commande rechargera le fichier app.yml existant). Sinon, vous pouvez éditer manuellement le contenu du fichier /containers/app.yml, puis exécuter à nouveau ./launcher rebuild app, sinon vos modifications ne seront pas prises en compte.
Optimisation pour l’environnement réseau chinois
Si votre serveur cloud est situé en Chine continentale, vous rencontrerez probablement des problèmes de réseau lors de l’exécution de ./discourse-setup ou ./launcher rebuild app. Discourse a déjà configuré des services miroirs pour tout sauf Docker. Il vous suffit d’ajouter une ligne ici dans votre containers/app.yml :
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.china.template.yml" # Ajoutez cette ligne pour configurer les miroirs des gestionnaires de paquets npm, rubygems, etc.
Cela résoudra le problème.
Démarrer Discourse
Une fois la configuration d’initialisation terminée, votre exemple Discourse devrait être accessible via votre navigateur à l’adresse discourse.example.com que vous avez configurée.
Pour les serveurs situés en Chine continentale, vous devrez peut-être d’abord effectuer les formalités d’enregistrement (ICP) selon les instructions de votre fournisseur de services cloud avant de procéder à l’étape suivante.
Enregistrer un nouveau compte administrateur
Utilisez l’adresse e-mail que vous avez saisie lors de la configuration de démarrage pour enregistrer un compte administrateur.
(Si vous ne pouvez pas enregistrer votre compte administrateur, vérifiez les journaux via le chemin /var/discourse/shared/standalone/log/rails/production.log, ou consultez la liste de vérification des problèmes de courriel.)
Une fois l’enregistrement du compte administrateur terminé, l’assistant de configuration se lancera et vous guidera pour configurer votre instance Discourse.
Une fois tous les assistants de configuration terminés, vous verrez les sujets du personnel (Staff topics) et READ ME FIRST: Admin Quick Start Guide. Cet assistant de configuration contiendra des suggestions pour les configurations ultérieures et comment personnaliser votre installation Discourse.
Maintenance après l’installation
- Nous recommandons vivement d’activer les mises à jour automatiques de sécurité pour votre système d’exploitation. Sur Ubuntu, utilisez la commande
dpkg-reconfigure -plow unattended-upgrades. Sur CentOS/RHEL, utilisez le paquetyum-cron. - Si vous utilisez un mot de passe pour vous connecter à votre système d’exploitation au lieu d’une clé SSH, assurez-vous d’utiliser un mot de passe fort. Sur Ubuntu, utilisez le paquet
apt-get install libpam-cracklib. Nous recommandons l’utilisation defail2ban, qui interdira l’accès aux adresses IP ayant échoué 3 fois à la connexion pendant 10 minutes.- Ubuntu :
apt-get install fail2ban - CentOS/RHEL :
sudo yum install fail2ban(nécessite EPEL)
- Ubuntu :
- Si vous souhaitez installer un pare-feu par défaut, activez ufw pour Ubuntu ou utilisez
firewalldpour CentOS/RHEL 7 et versions ultérieures.
Lorsqu’une nouvelle version de Discourse est disponible, votre adresse e-mail recevra une notification de mise à jour. Veuillez mettre à jour votre instance Discourse vers la dernière version pour garantir que tous les problèmes de sécurité sont résolus. Vous recevrez des rappels par e-mail lorsque de nouvelles versions de Discourse seront publiées. Restez à jour pour bénéficier des dernières fonctionnalités et correctifs de sécurité. Pour mettre à jour Discourse vers la dernière version, accédez via votre navigateur à /admin/upgrade et cliquez sur le bouton de mise à jour.
La commande launcher dans le répertoire /var/discourse est utilisée pour certaines maintenances au niveau du système :
Usage: launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
Commands:
start: Start/initialize a container (Démarrer/initialiser un conteneur)
stop: Stop a running container (Arrêter un conteneur en cours d'exécution)
restart: Restart a container (Redémarrer un conteneur)
destroy: Stop and remove a container (Arrêter puis supprimer un conteneur)
enter: Use nsenter to get a shell into a container (Utiliser nsenter pour accéder au Shell à l'intérieur d'un conteneur)
logs: View the Docker logs for a container (Afficher les journaux Docker d'un conteneur)
bootstrap: Bootstrap a container for the config based on a template (Initialiser la configuration d'un conteneur à partir d'un modèle de configuration)
rebuild: Rebuild a container (destroy old, bootstrap, start new) (Reconstruire un conteneur, supprimera l'ancien, initialisera et démarrera le nouveau)
cleanup: Remove all containers that have stopped for > 24 hours (Supprimer tous les conteneurs arrêtés depuis plus de 24 heures)
Options:
--skip-prereqs Don't check launcher prerequisites (Ne pas vérifier les prérequis du lanceur)
--docker-args Extra arguments to pass when running docker (Arguments supplémentaires à passer lors de l'exécution de docker)





