Contabo VPS debian 13 - yannir.xyz
VPS 1 NVMe
3 vCPU Cores
8 GB RAM
150 GB SSD
1 Snapshot
Location: Hub Europe
IP: 144.91.89.149
IPv6: 2a02:c207:2278:6143::1
OS: Debian 13
Debian 13 (trixie)
On se connecte en root sur le VPS
1
ssh root@144.91.89.149
Le terminal
1
2
3
4
5
6
7
8
9
10
11
12
13
Linux vmi2786143 6.12.38+deb13-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.38-1 (2025-07-16) x86_64
_____
/ ___/___ _ _ _____ _ ___ ___
| | / _ \| \| |_ _/ \ | _ )/ _ \
| |__| (_) | .` | | |/ _ \| _ \ (_) |
\____\___/|_|\_| |_/_/ \_|___/\___/
Welcome!
This server is hosted by Contabo. If you have any questions or need help,
please don't hesitate to contact us at support@contabo.com.
root@vmi2786143:~#
Mise à jour + Réseau IPV6
Les commandes
1
2
apt update && apt upgrade -y # Mise à jour
apt install rsync curl tmux jq figlet git tree -y # Quelques outils
Date et heure + Synchro
Activer le fuseau Europe/Paris
1
timedatectl set-timezone Europe/Paris
Horloge système synchronisée : timedatectl
Reconfigurer locales
Activer uniquement en_US.UTF-8 et fr_FR.UTF-8
1
dpkg-reconfigure locales
Default en_US.UTF-8
1
2
3
4
Generating locales (this might take a while)...
en_US.UTF-8... done
fr_FR.UTF-8... done
Generation complete.
Motd
Motd
1
rm /etc/motd && nano /etc/motd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
____ _ _ _ _____
| _ \ ___ | |__ (_) __ _ _ __ / ||___ /
| | | | / _ \| '_ \ | | / _` || '_ \ | | |_ \
| |_| || __/| |_) || || (_| || | | | | | ___) |
|____/ \___||_.__/ |_| \__,_||_| |_| |_||____/
_
_ _ __ _ _ __ _ __ (_) _ __ __ __ _ _ ____
| | | | / _` || '_ \ | '_ \ | || '__|\ \/ /| | | ||_ /
| |_| || (_| || | | || | | || || | _ > < | |_| | / /
\__, | \__,_||_| |_||_| |_||_||_|(_)/_/\_\ \__, |/___|
|___/ |___/
_ _ _ _ _ ___ _ ___ ___ _ _ _ ___
/ || || | | || | / _ \ / | ( _ ) / _ \ / || || | / _ \
| || || |_ | || |_ | (_) || | / _ \| (_) | | || || |_| (_) |
| ||__ _||__ _|_\__, || | _| (_) |\__, |_ | ||__ _|\__, |
|_| |_| |_| (_) /_/ |_|(_)\___/ /_/(_)|_| |_| /_/
Créer un utilisateur
créer le premier utilisateur :
1
adduser yair
Ajout à sudoers
1
2
3
apt install sudo # installer sudo
#
echo "yair ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/10-yair
Pour lire le journal système
1
usermod -a -G adm yair
Redémarrer le VPS
OpenSSH, clé et script
connexion avec clé
sur l'ordinateur de bureau
Générer une paire de clé curve25519-sha256 (ECDH avec Curve25519 et SHA2) pour une liaison SSH avec le serveur.
1
ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/yannir-ed25519
Envoyer les clés publiques sur le serveur KVM
1
ssh-copy-id -i ~/.ssh/xoyize-ed25519.pub yair@144.91.89.149
sur le serveur KVM On se connecte via SSH
1
ssh yair@144.91.89.149
Modifier la configuration serveur SSH dans le VPS
1
sudo nano /etc/ssh/sshd_config
Ajouter
1
2
3
4
Port = 55149
PasswordAuthentication no
PermitRootLogin no
X11Forwarding no
Relancer le serveur
1
sudo systemctl restart sshd
Test connexion
1
ssh -p 55149 -i ~/.ssh/xoyize-ed25519 yair@144.91.89.149
Historique de la ligne de commande
Ajoutez la recherche d’historique de la ligne de commande au terminal Se connecter en utilisateur debian Tapez un début de commande précédent, puis utilisez shift + up (flèche haut) pour rechercher l’historique filtré avec le début de la commande.
1
2
3
# Global, tout utilisateur
echo '"\e[1;2A": history-search-backward' | sudo tee -a /etc/inputrc
echo '"\e[1;2B": history-search-forward' | sudo tee -a /etc/inputrc
Parefeu
1
sudo apt install ufw
Les règles
1
2
sudo ufw allow 55149/tcp # port SSH
sudo ufw allow https # port 443
Activer le parefeu
1
sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Vérifier : sudo ufw status
1
2
3
4
5
6
7
8
Status: active
To Action From
-- ------ ----
55149/tcp ALLOW Anywhere
443 ALLOW Anywhere
55149/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
Hostname
1
2
sudo hostnamectl set-hostname yannir.xyz
hostnamectl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Static hostname: yannir.xyz
Icon name: computer-vm
Chassis: vm 🖴
Machine ID: dba55ef5763e4e22bda3f2b7c668d65b
Boot ID: 197f0694d1634443aa287bf98720a76f
AF_VSOCK CID: 1
Virtualization: kvm
Operating System: Debian GNU/Linux 13 (trixie)
Kernel: Linux 6.12.41+deb13-cloud-amd64
Architecture: x86-64
Hardware Vendor: QEMU
Hardware Model: Standard PC _i440FX + PIIX, 1996_
Firmware Version: rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org
Firmware Date: Tue 2014-04-01
Firmware Age: 11y 5month 1d
Ajout au fichier hosts
1
sudo nano /etc/hosts
Remplacer
1
127.0.1.1 vmi2786143.contaboserver.net vmi2786143
Par
1
127.0.1.1 yannir.xyz vmi2786143
Vérifier : hostname -f
–> yannir.xyz
Contabo Reverse DNS
Activer le reverse DNS IPV4 et IPV6 pour le domaine yannir.xyz : Control panel → Reverse DNS management
Désactiver VNC: Your services → Manage → VPS Control → Manage → Disable VNC et valider par un clic sur Disable
Un reboot de la machine est obligatoire pour la prise en compte
DNS OVH yannir.xyz
Modifier les enregistrements DNS A et AAAA chez le fournisseur de domaine OVH
IP: 144.91.89.149
IPv6: 2a02:c207:2278:6143::1
Zone DNS domaine yannir.xyz
1
2
3
4
5
6
7
8
9
$TTL 3600
@ IN SOA dns200.anycast.me. tech.ovh.net. (2025090111 86400 3600 3600000 60)
IN NS dns200.anycast.me.
IN NS ns200.anycast.me.
IN A 144.91.89.149
IN AAAA 2a02:c207:2278:6143::1
IN TXT "1|yannir.xyz"
* IN A 144.91.89.149
* IN AAAA 2a02:c207:2278:6143::1
joker(*)
pour tous les sous-domaines
Caddy serveur
est un serveur web open source écrit en go proposant la mise en place de certificat SSL automatiquement
L’installation de ce paquet démarre automatiquement et exécute Caddy comme un service système nommé Caddy. Il est également livré avec un service caddy-api optionnel qui n’est pas activé par défaut, mais devrait être utilisé si vous configurez principalement Caddy via son API au lieu de fichiers de configuration.
Après l’installation, veuillez lire les instructions d’utilisation du service.
Installer caddy
1
2
3
4
5
6
7
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
chmod o+r /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
Afficher version : caddy --version
v2.10.2 h1:g/gTYjGMD0dec+UgMw8SnfmJ3I9+M2TdvoRL/Ovu6U8=
Utilisation du Service
Créer répertoire avec les droits
1
2
sudo mkdir -p /var/caddy/
sudo chown caddy:caddy /var/caddy/
Si vous utilisez un Caddyfile, vous pouvez modifier votre configuration avec nano, vi ou votre éditeur préféré:
1
sudo nano /etc/caddy/Caddyfile
Vous pouvez placer vos fichiers statiques dans /var/www/html ou /srv. Assurez-vous que l’utilisateur de caddy a la permission de lire les fichiers.
Pour vérifier que le service fonctionne :
1
systemctl status caddy
La commande status affichera également l’emplacement du fichier de service en cours d’exécution.
Avec le fichier de service officiel, la sortie de Caddy sera redirigée vers journalctl. Pour lire tous vos journaux et éviter que les lignes ne soient tronquées :
1
journalctl -u caddy --no-pager | less +G
Si vous utilisez un fichier de configuration, vous pouvez recharger Caddy après avoir apporté des modifications :
1
sudo systemctl reload caddy
Vous pouvez arrêter le service avec:
1
sudo systemctl stop caddy
N’arrêtez pas le service pour changer la configuration de Caddy. Utilisez plutôt la commande recharger.
Le processus Caddy fonctionnera en tant qu’utilisateur Caddy, qui a son $HOME défini à /var/lib/caddy
. Cela signifie que:
- L’emplacement de stockage des données par défaut (pour les certificats et autres informations d’état) sera dans
/var/lib/caddy/.local/share/caddy
. - L’emplacement de stockage par défaut (pour la configuration JSON enregistrée automatiquement, principalement utile pour le service caddy-api) sera dans
/var/lib/caddy/.config/caddy
.
Dossier yannir.xyz
1
sudo -u caddy mkdir -p /var/caddy/yannir.xyz
Le fichier /etc/caddy/Caddyfile
1
2
3
4
5
yannir.xyz {
root * /var/caddy/yannir.xyz
#encode gzip
file_server
}
Le fichier index.html
sudo -u caddy nano /var/caddy/yannir.xyz/index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>yannir.xyz</title>
<!--
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
-->
</head>
<body>
<!-- page content -->
<h1>Domaine yannir.xyz</h1>
</body>
</html>