Documentations utiles :

https://ptitsite.com/nodejs-express-proxy-apache-vps/


Connexion au projet :

ssh root@use_your_server_ip
//Puis entrer le mot de passe

Installations des plugins :

apt-get update

curl -o- <https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh> | bash
//Fermer et réouvrir le terminal

nvm install 19

sudo apt install git

sudo npm install -g pm2

sudo apt-get install apache2

sudo apt install certbot
sudo apt install python3-certbot-apache

Mise en ligne du site :

cd var/www

git clone <https://github.com/RudyDupuis/mielsdupuis_code>

npm i

npm run build

pm2 start npm --name "mielsdupuis_code" -- start

pm2 startup systemd

Configuration du nom de domaine et du https :

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod rewrite

sudo certbot --apache -d mielsdupuis.fr

sudo service apache2 restart

sudo nano /etc/apache2/sites-available/mielsdupuis-ssl.conf
//Récupérer les liens du ssl dans le fichier généré par cerbot

mielsdupuis-ssl.conf

<IfModule mod_ssl.c>
   <VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName mielsdupuis.fr
        ServerAlias www.mielsdupuis.fr

        RewriteEngine On
        RewriteCond %{HTTP_HOST} ^(www\\.)?mielsdupuis\\.fr$ [NC]
        RewriteRule ^(.*)$ <https://mielsdupuis.fr> [R=301,L]

        RewriteCond %{HTTPS} off
        RewriteRule ^(.*)$ <https://mielsdupuis.fr> [R=301,L]

    </VirtualHost>

   <VirtualHost *:443>
        ServerAdmin [email protected]
        ServerName mielsdupuis.fr
        ServerAlias www.mielsdupuis.fr

        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/mielsdupuis.fr/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/mielsdupuis.fr/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf

        ProxyRequests off

        <Proxy *>
           Order deny,allow
           Allow from all
        </Proxy>

        <Location />
           ProxyPass <http://localhost:3000/>
           ProxyPassReverse <http://localhost:3000/>
        </Location>

    </VirtualHost>
</IfModule>
sudo a2dissite 000-default.conf
sudo a2ensite mielsdupuis-ssl.conf

sudo service apache2 restart