Aller au contenu principal

Mettre en ligne un site ou une application

Votre VPS Pro sert vos sites et vos applications sur leur nom de domaine, en HTTP et en HTTPS. Les visiteurs arrivent sur les ports 80 et 443 de votre serveur, sous le nom de votre serveur ; le chiffrement HTTPS va de bout en bout, jusqu'à votre serveur, où vit votre certificat.

1. Faire pointer votre domaine vers votre serveur​

Là où se gère la zone DNS de votre domaine, créez deux enregistrements pour le nom de votre serveur, avec les adresses affichées dans sa carte, rubrique VPS de votre espace client :

TypeNomValeur
Aapp (ou @ pour le domaine lui-même)l'Adresse IPv4 de votre carte
AAAAapp (ou @)l'Adresse IPv6 de votre carte

Un nom sous vps.simafri.cloud fonctionne déjà : il n'y a rien à créer.

Quand la zone DNS de votre domaine est gérée par Simafri, notre équipe pose ces enregistrements pour vous : écrivez-nous. Avant de basculer un site déjà en ligne, demandez-nous aussi d'abaisser la durée de vie (TTL) de l'enregistrement : la bascule se propage alors en quelques minutes.

Pour vérifier depuis votre ordinateur :

dig +short A app.mon-entreprise.com
dig +short AAAA app.mon-entreprise.com

2. Installer votre serveur web​

Votre serveur web écoute sur le port 80 pour HTTP et le port 443 pour HTTPS. Deux choix courants :

  • Caddy, qui obtient et renouvelle seul votre certificat HTTPS ;
  • Nginx ou Apache, avec Certbot pour le certificat.

Avec Caddy​

apt install caddy

Puis, dans /etc/caddy/Caddyfile, pour un site statique :

app.mon-entreprise.com {
root * /var/www/app
file_server
}

ou pour une application qui écoute sur le port 3000 :

app.mon-entreprise.com {
reverse_proxy 127.0.0.1:3000
}

systemctl reload caddy, et votre site répond en HTTPS : Caddy a obtenu le certificat et le renouvellera de lui-même.

Avec Nginx et Certbot​

apt install nginx certbot python3-certbot-nginx

Créez le site dans /etc/nginx/sites-available/app :

server {
listen 80;
listen [::]:80;
server_name app.mon-entreprise.com;

location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

Activez-le, puis demandez le certificat :

ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d app.mon-entreprise.com

Certbot pose le certificat Let's Encrypt, ajoute l'écoute sur le port 443 et programme son renouvellement automatique. certbot renew --dry-run vérifie que le renouvellement est prêt.

3. Garder votre application en marche​

Une application Node.js, Python, Go ou Java qui tourne en continu se confie à systemd : elle démarre avec le serveur et redémarre seule si elle s'arrête. Exemple, dans /etc/systemd/system/app.service :

[Unit]
Description=Mon application
After=network.target

[Service]
WorkingDirectory=/srv/app
ExecStart=/usr/bin/node server.js
Restart=always
Environment=NODE_ENV=production
User=www-data

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now app
journalctl -u app -f # suivre ses journaux

PM2 pour Node.js, Gunicorn ou Uvicorn pour Python, ou Docker Compose remplissent le même rôle si vous les préférez.

4. Votre base de données​

PostgreSQL, MySQL, MariaDB, Redis ou MongoDB s'installent sur votre serveur avec le gestionnaire de paquets, ou depuis le dépôt officiel de l'éditeur pour la dernière version :

apt install postgresql

Gardez votre base à l'écoute de localhost : votre application la joint sur le serveur même. Pour l'administrer depuis votre ordinateur, passez par un tunnel SSH :

ssh -p 22101 -L 5432:localhost:5432 root@app.mon-entreprise.com

Votre outil (DBeaver, pgAdmin, TablePlus) se connecte alors à localhost:5432.

Servir plusieurs domaines​

Votre serveur répond sous son nom, fixé à la commande. Pour servir un autre domaine ou un autre sous-domaine sur le même VPS Pro, écrivez au support en indiquant les noms à ajouter : notre équipe les branche sur votre serveur, puis vous créez leurs enregistrements DNS comme à l'étape 1 et ajoutez leur bloc à votre serveur web.

Questions fréquentes​

Mon site affiche une erreur de certificat.​

Vérifiez dans l'ordre : vos enregistrements A et AAAA désignent les adresses de votre carte (dig), votre serveur web écoute sur les ports 80 et 443 (ss -tlnp), et le certificat couvre bien ce nom (certbot certificates). Le certificat s'obtient une fois que le nom désigne votre serveur : relancez Certbot, ou rechargez Caddy, après la propagation DNS.

Mon site ne répond pas du tout.​

Sur le serveur, curl -I http://localhost montre si votre serveur web répond. systemctl status nginx (ou caddy, ou votre service) et ses journaux disent pourquoi il s'est arrêté. Décrivez ce que vous observez au support : l'Assistance intégrale diagnostique avec vous.

Puis-je installer WordPress, Laravel ou Symfony ?​

Oui : installez PHP-FPM, votre base de données et votre serveur web, puis votre application, comme sur tout serveur Linux. L'Assistance intégrale vous indique les réglages adaptés à votre projet, étape par étape.