Last active
September 12, 2023 18:11
Revisions
-
guilmarc revised this gist
Sep 12, 2023 . No changes.There are no files selected for viewing
-
guilmarc revised this gist
Sep 12, 2023 . 1 changed file with 4 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -117,6 +117,8 @@ sudo ufw allow https (Port 443) ``` sudo apt install nginx ``` **Si vous être en SPA, allez à l'étape 9, continuer si vous êtes en mode SSR** Modifier le fichier de configuration de sites de NGINX à l'emplacement : /etc/nginx/sites-available/default @@ -147,10 +149,10 @@ Tester l'accès à l'application avec l'adresse IP, exemple : Si cela ne fonctione pas, vérifiez les configuration NGINX ou de firewall. ## 10. Ajouter le domaine dans Vultr [* Ajouter le domaine](https://serverpilot.io/docs/how-to-configure-dns-on-vultr/#:~:text=First%2C%20sign%20in%20to%20your,appear%20on%20your%20DNS%20page.) ## 11. Ajoutez un certificat SSL avec LetsEncrypt ``` sudo add-apt-repository ppa:certbot/certbot sudo apt-get update -
guilmarc revised this gist
Sep 12, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -148,7 +148,7 @@ Si cela ne fonctione pas, vérifiez les configuration NGINX ou de firewall. ## 9. Ajouter le domaine dans Vultr [* Ajouter le domaine](https://serverpilot.io/docs/how-to-configure-dns-on-vultr/#:~:text=First%2C%20sign%20in%20to%20your,appear%20on%20your%20DNS%20page.) ## 10. Ajoutez un certificat SSL avec LetsEncrypt ``` -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 2 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -147,10 +147,8 @@ Tester l'accès à l'application avec l'adresse IP, exemple : Si cela ne fonctione pas, vérifiez les configuration NGINX ou de firewall. ## 9. Ajouter le domaine dans Vultr * À suivre... ## 10. Ajoutez un certificat SSL avec LetsEncrypt ``` -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -74,7 +74,7 @@ N.B. Vous aurez besoin de configurer une clé SSH à partir du serveur vers votr ## 7. Installer les dépendances et tester Ouvrez le port 3000 sur le serveur ```sudo ufw allow 3000``` Copiez les fichier .env dans la racine du projet. -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 5 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -72,7 +72,10 @@ git clone [projet].git ``` N.B. Vous aurez besoin de configurer une clé SSH à partir du serveur vers votre hébergeur de Git. ## 7. Installer les dépendances et tester Ouvrez le port 3000 sur le serveur ```sudo ufw allow ssh``` Copiez les fichier .env dans la racine du projet. ```cd [project] @@ -84,7 +87,7 @@ Assurez-vous d'avoir accès à l'application à l'adresse: IP.IP.IP.IP:3000 Arrêter l'application ctrl+C ``` ## 8. Installer le gestionnaire de processus PM2 ``` sudo npm i pm2 -g -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -77,12 +77,12 @@ Copiez les fichier .env dans la racine du projet. ```cd [project] npm install npm start Assurez-vous d'avoir accès à l'application à l'adresse: IP.IP.IP.IP:3000 Arrêter l'application ctrl+C ``` ## 7. Installer le gestionnaire de processus PM2 ``` -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -83,7 +83,7 @@ Assurez-vous d'avoir accès à l'application à l'adresse: IP.IP.IP.IP:3000 Arrêter l'application ```ctrl+C``` ``` ## 7. Installer le gestionnaire de processus PM2 ``` sudo npm i pm2 -g -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 5 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -75,14 +75,14 @@ N.B. Vous aurez besoin de configurer une clé SSH à partir du serveur vers votr ### 7. Installer les dépendances et tester Copiez les fichier .env dans la racine du projet. ```cd [project] npm install npm start``` Assurez-vous d'avoir accès à l'application à l'adresse: IP.IP.IP.IP:3000 Arrêter l'application ```ctrl+C``` ## 7. Installer le gestionnaire de processus PM2 ``` -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 7 additions and 7 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -75,15 +75,15 @@ N.B. Vous aurez besoin de configurer une clé SSH à partir du serveur vers votr ### 7. Installer les dépendances et tester Copiez les fichier .env dans la racine du projet. * cd [project] * npm install * npm start Assurez-vous d'avoir accès à l'application à l'adresse: IP.IP.IP.IP:3000 * # arrêter l'application * ctrl+C ## 7. Installer le gestionnaire de processus PM2 ``` sudo npm i pm2 -g -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 3 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -74,11 +74,10 @@ N.B. Vous aurez besoin de configurer une clé SSH à partir du serveur vers votr ### 7. Installer les dépendances et tester Copiez les fichier .env dans la racine du projet. ```cd [project] npm install npm start``` Assurez-vous d'avoir accès à l'application à l'adresse: IP.IP.IP.IP:3000 ``` -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 2 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -77,7 +77,8 @@ Copiez les fichier .env dans la racine du projet. ``` cd [project] npm install npm start ``` Assurez-vous d'avoir accès à l'application à l'adresse: IP.IP.IP.IP:3000 ``` -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 9 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -50,7 +50,7 @@ Appuyez ensuite sur le section verte en bas à gauche de VSCode IdentityFile /users/[VOTRE_USER]/.ssh/id_ed25519</pre> * Sauvegardez le fichier de configuration et re-cliquez sur la section verte pour ouvrir la connexion. ## 5. Installer Nodejs et npm ``` sudo apt install build-essential @@ -65,17 +65,22 @@ nvm install --lts npm i -g nodemon ``` ## 6. Cloner une application Créer un répertoire /var/www et clonez-y votre projet ``` git clone [projet].git ``` N.B. Vous aurez besoin de configurer une clé SSH à partir du serveur vers votre hébergeur de Git. ### 7. Installer les dépendances et tester Copiez les fichier .env dans la racine du projet. ``` cd [project] npm install npm start``` Assurez-vous d'avoir accès à l'application à l'adresse: IP.IP.IP.IP:3000 ``` # arrêter l'application ctrl+C ``` -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -61,6 +61,8 @@ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash source ~/.bashrc nvm install --lts npm i -g nodemon ``` ## 5. Cloner une application -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 1 addition and 9 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -85,17 +85,9 @@ pm2 start app.js **ou** pm2 start /bin/www # Pour s'assurer que l'application démarre avec le serveur pm2 startup ubuntu pm2 save ``` ### L'application est maintenant accessible en utilisant son port. Maintenant nous voulons bloquer ce port et laisser NGINX gérer les accès au port HTTP (80) Tester l'accès à l'application avec [ip]:[port], exemple : -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 4 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -54,13 +54,13 @@ Appuyez ensuite sur le section verte en bas à gauche de VSCode ``` sudo apt install build-essential sudo apt update curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash source ~/.bashrc nvm install --lts ``` ## 5. Cloner une application -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -54,7 +54,7 @@ Appuyez ensuite sur le section verte en bas à gauche de VSCode ``` sudo apt install build-essential curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 20 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -29,6 +29,26 @@ Créer une nouvelle clé SSH sur Vultr. Copiez maintenant le contenu du fichier (la clé). * Server Hostname & Label: **Selon votre nom de projet / nom d’entreprise** ## 4. Accéder au serveur à partir de VSCode Installez d'abord le plug-in nommé ```Remote - SSH``` Appuyez ensuite sur le section verte en bas à gauche de VSCode * Connect to Host... * Configure SSH Host * Sélectionnez le fichier de config pointant sur un répertoire dans votre HOME * Ajoutez-y les informations de configuration suivantes: ### Sur MacOS <pre>Host NOM_DU_SERVEUR HostName 216.122.184.3 <-- Adresse IP de votre serveur Port 22 User root IdentityFile ~/.ssh/id_ed25519</pre> ### Sur Windows <pre>Host NOM_DU_SERVEUR HostName 216.122.184.3 <-- Adresse IP de votre serveur Port 22 User root IdentityFile /users/[VOTRE_USER]/.ssh/id_ed25519</pre> * Sauvegardez le fichier de configuration et re-cliquez sur la section verte pour ouvrir la connexion. ## 4. Installer Nodejs et npm ``` -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 13 additions and 10 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -15,16 +15,19 @@ Utiliser ce lien pour obtenir un crédit à l'abonnement (si applicable) https:/ ## 3. Créer un serveur Ubuntu incluant une clé SSH Utiliser ce lien pour ouvrir la page de création de serveur https://my.vultr.com/deploy/ ### Création du serveur * Choose Server: **Cloud Compute**. * CPU & Storage Technology: **Intel. Regular Performance**. * Server Location: **Toronto Canada** * Server Image: **Ubuntu (dernière version LTS)**. * Server Size: **25 GB SSD**. * Add Auto Backups: **False**. * Additional Features: **None**. * SSH Keys: Lancer cette commande sur votre ordi dans un bash : ```ssh-keygen -t ed25519 -N '' -C "email@email.ca"```. Mémorisez l’emplacement proposée et acceptez en appuyant sur enter. Ouvrez le fichier ```id_ed25519.pub``` avec un éditeur de texte. Créer une nouvelle clé SSH sur Vultr. Copiez maintenant le contenu du fichier (la clé). * Server Hostname & Label: **Selon votre nom de projet / nom d’entreprise** ## 4. Installer Nodejs et npm -
guilmarc revised this gist
Sep 10, 2023 . 1 changed file with 18 additions and 9 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,22 +1,31 @@ # NodeJS en production (version NGINX) > Étapes pour déploiement d'une application Node.js chez Vultr avec PM2, serveur NGINX en tant que proxy inversé et sécurité SSL (HTTPS) à l'aide de LetsEncrypt ## 1. Enregistrer et configurer votre nom de domaine Enregistrer un nom de domaine chez le revendeur préféré et changes les noms de domaines pour: * ns1.vultr.com * ns2.vultr.com Cela peut prendre quelques temps (heures) avant que les noms de domaines se propagent. Quelques minutes si on est chanceux. ## 2. Créer un compte chez Vultr Utiliser ce lien pour obtenir un crédit à l'abonnement (si applicable) https://www.vultr.com/register/ ## 3. Créer un serveur Ubuntu incluant une clé SSH Utiliser ce lien pour ouvrir la page de création de serveur https://my.vultr.com/deploy/ ###Création du serveur * Choose Server: Cloud Compute. * CPU & Storage Technology: Intel. Regular Performance. * Server Location: Toronto Canada * Server Image: Ubuntu (dernière version LTS). * Server Size: 25 GB SSD. * Add Auto Backups: False. * Additional Features: None. * SSH Keys: À configurer dans la prochaine dispositive… * Server Hostname & Label: Selon votre nom de projet / nom d’entreprise ## 4. Installer Nodejs et npm ``` -
guilmarc revised this gist
Sep 6, 2021 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -20,6 +20,8 @@ https://www.digitalocean.com/community/tutorials/how-to-use-visual-studio-code-f ## 4. Installer Nodejs et npm ``` sudo apt install build-essential curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt-get install -y nodejs -
guilmarc revised this gist
Sep 6, 2021 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -30,7 +30,7 @@ node --version ``` ## 5. Cloner une application Créer un répertoire /var/www et clonez-y votre projet ``` git clone [projet].git ``` -
guilmarc revised this gist
Sep 6, 2021 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -22,7 +22,7 @@ https://www.digitalocean.com/community/tutorials/how-to-use-visual-studio-code-f ``` curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt-get install -y nodejs npm i -g npm@latest -
guilmarc revised this gist
Sep 6, 2021 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -112,9 +112,9 @@ Si cela ne fonctione pas, vérifiez les configuration NGINX ou de firewall. ## 9. Ajouter le domaine dans Digital Ocean * Connectez-vous à Digital Ocean, allez à "networking" et ajoutez votre domaine. * Ajoutez 2 "records" de type A qui pointent sur le domaine, @ et www * Redémarrez le droplet ## 10. Ajoutez un certificat SSL avec LetsEncrypt ``` -
guilmarc renamed this gist
Sep 6, 2021 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
guilmarc revised this gist
Sep 6, 2021 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,4 +1,4 @@ # NodeJS en production (version NGINX) > Étapes pour déploiement d'une application Node.js chez DigitalOcean avec PM2, serveur NGINX en tant que proxy inversé et sécurité SSL (HTTPS) à l'aide de LetsEncrypt -
guilmarc revised this gist
Sep 6, 2021 . 1 changed file with 10 additions and 9 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,7 +2,7 @@ > Étapes pour déploiement d'une application Node.js chez DigitalOcean avec PM2, serveur NGINX en tant que proxy inversé et sécurité SSL (HTTPS) à l'aide de LetsEncrypt ## 1. Enregistrer et configurer votre nom de domaine Enregistrer un nom de domaine chez le revendeur préféré et changes les noms de domaines pour: * ns1.digitalocean.com @@ -11,14 +11,14 @@ Enregistrer un nom de domaine chez le revendeur préféré et changes les noms d Cela peut prendre quelques temps (heures) avant que les noms de domaines se propagent. Quelques minutes si on est chanceux. ## 2. Créer un compte chez Digital Ocean Utiliser le lien ci-bas pour obtenir un crédit à l'abonnement https://m.do.co/c/5424d440c63a ## 3. Créer une "droplet" Ubuntu et s'y connecter via SSH https://www.digitalocean.com/community/tutorials/how-to-use-visual-studio-code-for-remote-development-via-the-remote-ssh-plugin-fr ## 4. Installer Nodejs et npm ``` curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - @@ -29,21 +29,21 @@ npm i -g npm@latest node --version ``` ## 5. Cloner une application Créer un répertoire /var/www/html et clonez-y votre projet ``` git clone [projet].git ``` ### 6. Installer les dépendances et tester ``` cd [project] npm install npm start # arrêter l'application ctrl+C ``` ## 7. Installer le gestionnaire de processus PM2 ``` sudo npm i pm2 -g @@ -68,7 +68,7 @@ Tester l'accès à l'application avec [ip]:[port], exemple : ``` 137.184.58.65:3000 ``` ## 8. Configurer le firewall ufw ``` sudo ufw enable sudo ufw status @@ -77,7 +77,7 @@ sudo ufw allow http (Port 80) sudo ufw allow https (Port 443) ``` ## 9. Installation et configuration de NGINX ``` sudo apt install nginx ``` @@ -98,6 +98,7 @@ Add the following to the location part of the server block } ``` # Vérifier les configurations de NGINX et redémarrer ``` sudo nginx -t sudo service nginx restart ``` -
guilmarc created this gist
Sep 6, 2021 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,132 @@ # Node.js Deployment > Étapes pour déploiement d'une application Node.js chez DigitalOcean avec PM2, serveur NGINX en tant que proxy inversé et sécurité SSL (HTTPS) à l'aide de LetsEncrypt ## Enregistrer et configurer votre nom de domaine Enregistrer un nom de domaine chez le revendeur préféré et changes les noms de domaines pour: * ns1.digitalocean.com * ns2.digitalocean.com * ns3.digitalocean.com Cela peut prendre quelques temps (heures) avant que les noms de domaines se propagent. Quelques minutes si on est chanceux. ## 1. Créer un compte chez Digital Ocean Utiliser le lien ci-bas pour obtenir un crédit à l'abonnement https://m.do.co/c/5424d440c63a ## 2. Créer une "droplet" Ubuntu et s'y connecter via SSH https://www.digitalocean.com/community/tutorials/how-to-use-visual-studio-code-for-remote-development-via-the-remote-ssh-plugin-fr ## 3. Installer Nodejs et npm ``` curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install nodejs npm i -g npm@latest node --version ``` ## 4. Cloner une application Créer un répertoire /var/www/html et clonez-y votre projet ``` git clone [projet].git ``` ### 5. Installer les dépendances et tester ``` cd [project] npm install npm start # arrêter l'application ctrl+C ``` ## 6. Installer le gestionnaire de processus PM2 ``` sudo npm i pm2 -g pm2 start app.js **ou** pm2 start /bin/www # Autres commandes PM2 populaires... pm2 show app pm2 status pm2 restart app pm2 stop app pm2 logs (Show log stream) pm2 flush (Clear logs) # Pour s'assurer que l'application démarre avec le serveur pm2 startup ubuntu ``` ### L'application est maintenant accessible en utilisant son port. Maintenant nous voulons bloquer ce port et laisser NGINX gérer les accès au port HTTP (80) Tester l'accès à l'application avec [ip]:[port], exemple : ``` 137.184.58.65:3000 ``` ## 7. Configurer le firewall ufw ``` sudo ufw enable sudo ufw status sudo ufw allow ssh (Port 22) sudo ufw allow http (Port 80) sudo ufw allow https (Port 443) ``` ## 8. Installation et configuration de NGINX ``` sudo apt install nginx ``` Modifier le fichier de configuration de sites de NGINX à l'emplacement : /etc/nginx/sites-available/default Add the following to the location part of the server block ``` server_name [domaine] www.[domaine]; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } ``` # Vérifier les configurations de NGINX et redémarrer sudo nginx -t sudo service nginx restart ``` ### À ce stade vous devriez être en mesure d'accéder à votre application nodejs avec l'adresse ip seulement. Tester l'accès à l'application avec l'adresse IP, exemple : ``` 137.184.58.65 ``` Si cela ne fonctione pas, vérifiez les configuration NGINX ou de firewall. ## 9. Ajouter le domaine dans Digital Ocean Connectez-vous à Digital Ocean, allez à "networking" et ajoutez votre domaine. Ajoutez 2 "records" de type A qui pointent sur le domaine, @ et www Redémarrez le droplet ## 10. Ajoutez un certificat SSL avec LetsEncrypt ``` sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install python3-certbot-nginx sudo certbot --nginx -d [domaine] -d www.[domaine] # Choix de redirection 2 # Au besoin, utilisez https://letsdebug.net/ pour déboguer l'encryptage # Ce certificat sera valide pour 90 jours. Tester son renouvellement automatique avec : certbot renew --dry-run ``` Maintenant visitez https://[domaine] et votre application devrait fonctionner.