Dans cet article, nous allons vous montrer comment installer NodeBB sur un VPS Ubuntu 18.04 .
NodeBB est un logiciel de forum open source qui s'exécute sur la plate-forme Node.js, qui est gratuit et facile à utiliser. Il est idéal pour alimenter tout type de forums communautaires, de discussion ou de tableaux d'affichage. NodeBB utilise des sockets Web pour des interactions instantanées et des notifications en temps réel.
Prérequis :
- Un VPS Ubuntu 18.04
- Node.js
- Base de données :nous utiliserons MongoDB dans ce didacticiel
- Serveur Web Nginx
- Accès SSH avec privilèges root
Étape 1 :Connectez-vous à votre serveur
Pour vous connecter à votre serveur via SSH en tant qu'utilisateur root, utilisez la commande suivante :
ssh root@IP_ADDRESS -p PORT_NUMBER
et remplacez "IP_ADDRESS" et "PORT_NUMBER" par l'adresse IP de votre serveur et le numéro de port SSH.
Une fois connecté, assurez-vous que votre serveur est à jour en exécutant les commandes suivantes :
$ apt-get update $ apt-get upgrade
Étape 2 :Installez Node.js
Sur les systèmes Ubuntu, vous pouvez installer Node.js à partir du référentiel NodeSource :
$ apt-get update $ apt-get install curl git gcc g++ make
Après cela, installez le référentiel Node.js avec la commande suivante
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Après cela, exécutez les commandes ci-dessous pour installer Node.js :
$ apt-get install nodejs
Cela devrait installer la version 10 de Node.js aux côtés de "npm". Vous pouvez vérifier les versions en utilisant :
$ node -v v10.15.3 $ npm -v 6.4.1
Étape 3 :Installer MongoDB
MongoDB est la base de données par défaut pour NodeBB. Démarrez l'installation en important la clé publique utilisée par le système de gestion des packages.
$ apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Ajoutez le dépôt MongoDB :
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list
Mettez à jour l'index du package apt et installez le serveur MongoDB :
$ apt-get update $ apt-get install -y mongodb-org
Démarrez le service MongoDB :
$ systemctl start mongod.service $ systemctl enable mongod.service
Vérifiez l'installation de MongoDB. Vous devez avoir au moins la version 4.0 :
$ mongod --version db version v4.0.6 git version: caa42a1f75a56c7643d0b68d3880444375ec42e3 OpenSSL version: OpenSSL 1.1.0g 2 Nov 2017 allocator: tcmalloc modules: none build environment: distmod: ubuntu1804 distarch: x86_64 target_arch: x86_64
Étape 4 :Configurer MongoDB
Connectez-vous à MongoDB en exécutant les commandes suivantes :
$ mongo
Ensuite, basculez la base de données sur "admin" et créez un nouvel utilisateur administrateur…
use admin
Créez un nouvel utilisateur administrateur nommé "admin" avec un nouveau mot de passe…
db.createUser( { user: "admin", pwd: "admin_password", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
N'oubliez pas de remplacer 'admin_password' par un mot de passe fort.
Ensuite, créez une nouvelle base de données appelée nodebb
use nodebb
Créez ensuite un nouvel utilisateur NodeBB nommé "nodebbuser" avec les droits d'administration de la base de données…
db.createUser( { user: "nodebbuser", pwd: "strong_password", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
Encore une fois, n'oubliez pas de remplacer 'strong_password' par un vrai mot de passe complexe.
Après cela, quittez le shell MongoDB.
quit()
Après cela, exécutez les commandes ci-dessous pour ouvrir le fichier de configuration MongoDB…
$ nano /etc/mongod.conf
changez la ligne en surbrillance en activé.
# network interfaces net: port: 27017 bindIp: 127.0.0.1 # how the process runs processManagement: timeZoneInfo: /usr/share/zoneinfo security: authorization: enabled #operationProfiling: #replication: #sharding:
lorsque vous avez terminé, enregistrez vos modifications.
Étape 5 :Installer Nginx
NodeBB peut très bien fonctionner avec de nombreux serveurs Web. Dans ce didacticiel, nous allons le configurer pour qu'il fonctionne avec Nginx, l'un des serveurs Web les plus personnalisables.
Pour installer Nginx sur votre serveur Ubuntu 18.04, vous devez exécuter la commande suivante :
$ apt-get install nginx
Une fois l'installation terminée, démarrez Nginx et activez-le pour qu'il démarre automatiquement après un redémarrage avec ces deux commandes :
$ systemctl start nginx.service $ systemctl enable nginx.service
Étape 6 :Installer NodeBB
Accédez au répertoire nouvellement créé en exécutant :
$ cd /var/www
Clonez NodeBB dans ce répertoire en exécutant cette commande :
$ git clone -b v1.12.0 https://github.com/NodeBB/NodeBB.git nodebb
* remplacez la v1.12.0 par la dernière version répertoriée ici.
Créer un nouveau nodebb
utilisateur :
$ useradd nodebb
Appliquez maintenant les autorisations recommandées pour les fichiers et les dossiers de /var/www/nodebb
répertoire vers le nodebb
utilisateur :
sudo chown -R nodebb:nodebb /var/www/nodebb
Entrez dans le répertoire nodeBB avec
$ cd nodebb
Lancez l'installation à l'aide de la commande suivante :
$ ./nodebb setup
Répondez à chacune des questions. Cela installera les modules à partir de npm, puis entrera dans l'utilitaire de configuration.
Démarrez maintenant NodeBB avec cette commande :
$ ./nodebb start Starting NodeBB "./nodebb stop" to stop the NodeBB server "./nodebb log" to view server output "./nodebb help" for more commands
Étape 7 :Créer un fichier d'unité systemd
Cette étape nous permettra d'exécuter NodeBB en tant que service dans systemd. Cela nous permet de le faire démarrer au démarrage, ainsi que de s'exécuter indépendamment de notre session de terminal.
S'il est déjà en cours d'exécution, arrêtez NodeBB :
$ ./nodebb stop
Dans l'étape suivante, nous allons créer un fichier d'unité de service afin de pouvoir exécuter NodeBB en tant que service.
Ouvrez votre éditeur de texte (nous utiliserons nano) :
$ nano /etc/systemd/system/nodebb.service
et collez la configuration ci-dessous :
[Unit] Description=NodeBB Documentation=https://docs.nodebb.org After=system.slice multi-user.goal mongod.service [Service] Kind=forking Person=nodebb StandardOutput=syslog StandardError=syslog SyslogIdentifier=nodebb Setting=NODE_ENV=manufacturing WorkingDirectory=/var/www/nodebb PIDFile=/var/www/nodebb/pidfile ExecStart=/usr/bin/env node loader.js Restart=at all times [Install] WantedBy=multi-user.goal
Enregistrez et quittez le fichier. Vous devez maintenant recharger le démon pour que le système puisse prendre la nouvelle unité que nous avons créée pour systemd.
$ systemctl daemon-reload
Enfin, nous pouvons démarrer l'instance NodeBB avec la commande :
$ systemctl start nodebb
Pour vérifier l'état du service NodeBB, vous pouvez exécuter la commande suivante :
$ systemctl status nodebb
Étape 8 :Configurer Nginx
NodeBB s'exécute par défaut sur le port 4567. Nous allons configurer Nginx pour lui envoyer les requêtes par proxy.
Créez un fichier de configuration Nginx :
$ nano /etc/nginx/conf.d/nodebb.conf
Ajoutez ensuite le contenu suivant :
server { listen 80; server_name forum.your_domain.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:4567; proxy_redirect off; # Socket.IO Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
REMARQUE : Remplacez "votre_domaine.com" par votre nom de domaine enregistré.
Maintenant, vérifiez le fichier de configuration pour vous assurer qu'il n'y a pas d'erreurs de syntaxe. Toute erreur pourrait planter le serveur Web au redémarrage.
$ nginx -t
Sortie :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
S'il n'y a pas d'erreurs, vous pouvez recharger la configuration Nginx.
$ systemctl reload nginx
Étape 9 :Accéder à l'interface Web de NodeBB
À ce stade, vous devriez avoir installé avec succès NodeBB sur votre serveur Ubuntu 18.04. Vous devriez pouvoir accéder à http://forum.your_domain.com
et interagissez avec votre forum.
Pour accéder à l'administrateur tableau de bord, utilisez http://forum.your_domain.com/admin
à la place et utilisez les informations d'identification que vous avez définies précédemment.
Si vous avez suivi les étapes correctement, vous devriez avoir une copie réussie de NodeBB en cours d'exécution sur votre serveur.
Bien sûr, vous n'êtes pas obligé de je installer NodeBB sur Ubuntu 18.04 si vous avez un VPS Ubuntu avec nous. Vous pouvez simplement demander à notre équipe d'assistance d'installer NodeBB sur Ubuntu 18.04 pour vous. Ils sont disponibles 24h/24 et 7j/7 et pourront vous aider dans l'installation.
PS . Si vous avez apprécié la lecture de cet article de blog sur l'installation de NodeBB sur Ubuntu 18.04, ou si vous l'avez trouvé utile, n'hésitez pas à le partager sur les réseaux sociaux en utilisant les raccourcis ci-dessous, ou laissez simplement un commentaire dans la section des commentaires. Merci.