Installer Caddy sur Ubuntu
Ce guide installe Caddy, un serveur web avec HTTPS automatique, sur Ubuntu 24.04 et 26.04, depuis le dépôt officiel Caddy. Une fois installé, voir les principales commandes Caddy.
Prérequis
Section intitulée « Prérequis »- Ubuntu 24.04 LTS (Noble) ou 26.04 LTS (Resolute).
- Un utilisateur disposant de
sudo. - Pour HTTPS : un nom de domaine dont les enregistrements DNS (
Aet/ouAAAA) pointent vers l’adresse IP publique du serveur. - Les ports 80 et 443 ouverts et libres (aucun autre serveur web ne doit les utiliser).
1. Ajouter le dépôt officiel
Section intitulée « 1. Ajouter le dépôt officiel »sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curlcurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpgcurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.listsudo chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpgsudo chmod o+r /etc/apt/sources.list.d/caddy-stable.list2. Installer Caddy
Section intitulée « 2. Installer Caddy »sudo apt updatesudo apt install caddyLe paquet crée l’utilisateur caddy, installe le service systemd et le démarre.
Le dépôt Caddy est indépendant de la version d’Ubuntu (any-version) : les commandes sont les mêmes sur 24.04 et 26.04.
3. Vérifier l’installation
Section intitulée « 3. Vérifier l’installation »caddy versionsudo systemctl status caddysudo systemctl enable --now caddy # démarrage automatique au bootcurl -I http://localhost # doit répondre 200 (page par défaut)Fichiers et emplacements :
| Élément | Emplacement |
|---|---|
| Configuration | /etc/caddy/Caddyfile |
| Service | caddy.service (utilisateur caddy) |
| Logs | journalctl -u caddy |
| Page par défaut | /usr/share/caddy |
| Certificats et données | /var/lib/caddy |
4. Ouvrir les ports (UFW)
Section intitulée « 4. Ouvrir les ports (UFW) »Si le pare-feu UFW est actif :
sudo ufw allow 80,443/tcpsudo ufw status5. Premier site en HTTPS
Section intitulée « 5. Premier site en HTTPS »Modifiez /etc/caddy/Caddyfile en remplaçant son contenu par un site statique :
exemple.com { root * /var/www/site file_server}Créez le dossier et une page de test :
sudo mkdir -p /var/www/siteecho '<h1>Bonjour</h1>' | sudo tee /var/www/site/index.htmlValidez puis rechargez la configuration :
sudo caddy validate --config /etc/caddy/Caddyfilesudo systemctl reload caddyCaddy obtient et renouvelle automatiquement le certificat HTTPS (Let’s Encrypt) dès que le DNS du domaine pointe vers le serveur et que les ports 80 et 443 sont joignables.
6. Droits sur les fichiers du site
Section intitulée « 6. Droits sur les fichiers du site »Caddy tourne sous l’utilisateur caddy : il doit pouvoir lire le dossier servi.
sudo chown -R $USER:www-data /var/www/site # exemple : propriétaire = vous, groupe = www-datasudo chmod -R u=rwX,g=rX,o=rX /var/www/siteUbuntu 24.04 et 26.04 : différences à connaître
Section intitulée « Ubuntu 24.04 et 26.04 : différences à connaître »Aucun changement n’est cassant pour Caddy : l’installation, le service et le Caddyfile sont identiques sur les deux versions. Points à connaître :
Mise à jour
Section intitulée « Mise à jour »Caddy se met à jour avec le système :
sudo apt updatesudo apt upgradePour mettre à jour uniquement Caddy : sudo apt install --only-upgrade caddy. Rechargez ensuite avec sudo systemctl reload caddy si nécessaire.
Désinstallation
Section intitulée « Désinstallation »sudo apt purge caddysudo rm /etc/apt/sources.list.d/caddy-stable.list /usr/share/keyrings/caddy-stable-archive-keyring.gpgDépannage
Section intitulée « Dépannage »| Symptôme | Cause probable et solution |
|---|---|
| Caddy ne démarre pas, port 80 ou 443 occupé | Un autre serveur web écoute déjà. Voir qui : sudo ss -tlnp | grep -E ':80|:443', puis arrêter l’autre service (par exemple sudo systemctl disable --now apache2) |
| Le certificat n’est pas émis | Vérifier le DNS du domaine, les ports 80/443 ouverts (UFW et pare-feu de l’hébergeur) et les logs : journalctl -u caddy --no-pager -n 100 |
| Erreur 403 ou fichiers introuvables | Droits insuffisants pour l’utilisateur caddy (section 6) ou mauvais root |
| Erreur après modification du Caddyfile | Lancer sudo caddy validate --config /etc/caddy/Caddyfile avant le rechargement |
Pour aller plus loin
Section intitulée « Pour aller plus loin »- Documentation officielle : caddyserver.com/docs/install
- Suite : les principales commandes Caddy