Héberger son propre site web : Mon expérience avec un VPS
Dans cet article, je vais expliquer comment j'ai hébergé mon propre site web en utilisant un VPS chez Contabo, avec Nginx comme serveur web, Odoo comme CMS et un nom de domaine acheté chez OVH. Vous trouverez ici les étapes clés, accompagnées de captures d'écran et de configurations techniques.
1. Choix et configuration du VPS
J'ai opté pour un VPS chez Contabo, connu pour ses prix attractifs et ses performances correctes.
OS : Debian12
Dès la création du VPS, la première étape est de s'y connecter en SSH :
ssh user@mon_ip_vps
Ensuite, je mets à jour les paquets :
apt update && apt upgrade -y
2. Installation et configuration de Nginx
Nginx est mon choix pour servir Odoo en mode proxy inversé. Voici comment je l’ai installé et configuré :
Installation de Nginx
apt install nginx -y
On vérifie que Nginx fonctionne :
systemctl status nginx
Configuration de Nginx pour Odoo
J’ai créé un fichier de configuration dans /etc/nginx/sites-available/odoo :
upstream thomas-dev.fr {
server 127.0.0.1:PORT-ODOO;
}
server {
server_name thomas-dev.fr;
location / {
proxy_pass http://thomas-dev.fr;
proxy_set_header Host $host;
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; } }
#(configuration minimale)
Puis, on active la configuration et on redémarre Nginx :
ln -s /etc/nginx/sites-available/odoo /etc/nginx/sites-enabled/ systemctl restart nginx
3. Installation et configuration d'Odoo avec Docker
J’ai préféré utiliser Docker pour installer Odoo, afin de simplifier la gestion et l’isolation des services.
Installation de Docker
# Ajout de la clé GPG de Dockersudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc # Ajout du dépôt Docker echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# Installation de Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Lancement de PostgreSQL et Odoo
# Démarrer un serveur PostgreSQL sudo docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:15 # Démarrer une instance Odoo sudo docker run -p 8069:8069 --name odoo --link db:db -t odoo
On vérifie que les conteneurs fonctionnent :
docker ps
4. Configuration du nom de domaine sur OVH
J’ai acheté mon nom de domaine chez OVH et configuré les DNS pour pointer vers l’IP de mon VPS.
Dans l’interface OVH :
- Aller dans Domaines > Zone DNS
-
Ajouter un enregistrement A :
- Nom : @
- Cible : MON_IP_VPS
5. Test et validation
Après toutes ces étapes, j’ai vérifié que tout fonctionnait bien :
curl -I thomas-dev.fr
Et voilà, mon site est en ligne !
Dans le prochain article, je parlerai de la sécurité de mon site.