VPS webdock yockbis (xoyaz.xyz)
Webdock, des serveurs VPS évolutifs et des services cloud conçus pour répondre à vos besoins à tout moment.
Préalable
Ce post fait suite à une première création d’un VPS Pico4, voir le lien VPS webdock (Relais RustDesk)
Sur un poste linux, créer un jeu de clé SSH pour le VPS à venir
1
2
ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/vps-yockbis
chmod 600 ~/.ssh/vps-yockbis
Se connecter sur son compte à l’adresse https://webdock.io
Profile
Profil existant
Cliquer sur “Create server”
Etape suivante
Le serveur VPS est créé
Créer un shell user avec l’utilisateur yockbis et son mot de passe
Utilisateur
Utilisateur créé, ouvrir le shell
Après quelques instants…
Connexion SSH avec clé
Se connecter sur un terminal web (https://webdock.io/en/dash/webssh/yock/yock)
Ajouter la clé publique ~/.ssh/vps-yockbis.pub
1
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIObDm+2vx7qUDuMnJaKH9NcULmT1OgmSAOKXL+G9jKkr yann@PC1" >> .ssh/authorized_keys
Modifier le port sshd 55040
1
sudo nano /etc/ssh/sshd_config
Les paramètres pour une connexion SSH avec clé est sans mot de passe
1
2
3
4
Port 55040
# Pour désactiver les mots de passe en texte clair transmis par tunnel, il faut changer pour no ici !
PasswordAuthentication no
# Positionné à "no" par défaut dans la création des VPS Webdock
Redémarrer le serveur sshd
1
sudo systemctl restart sshd
Poste linux appelant
Tester la connexion ssh depuis le poste linux
1
ssh -p 55040 -i ~/.ssh/vps-yockbis yockbis@92.113.144.40
Sur le poste linux, ajout site “yockbis” à FileZilla
- Site: yockbis
- SFTP protocol
- Hôte: 92.113.144.40
- Port: 55040
- Authentification: Fichier clef
- Utilisateur: yockbis
- Fichier clef: /home/yann/.ssh/vps-yockbis
Gestion utilisateur
Créer les droits pour l’utilisateur courant
1
echo "$USER ALL=(ALL) NOPASSWD:ALL" |sudo tee /etc/sudoers.d/90-utilisateur
Supprimer utilisateur debian et ses droits sudo
1
2
3
sudo userdel debian
sudo rm -r /home/debian/
sudo rm /etc/sudoers.d/90-cloud-init-users
Mise à jour
Mise à jour Debian
1
2
sudo apt update
sudo apt upgrade
Motd
Afficher lors de la connexion SSH , /etc/motd
1
2
3
4
5
6
7
8
9
10
11
12
13
__ __ _ _ _ __ __ ___ ___
\ \ / /___ | |__ __| | ___ __ | |__ \ \ / /| _ \/ __|
\ \/\/ // -_)| '_ \/ _` |/ _ \/ _|| / / \ V / | _/\__ \
\_/\_/ \___||_.__/\__,_|\___/\__||_\_\ \_/ |_| |___/
_ _ _
_ _ ___ __ | |__| |__ (_) ___
| || |/ _ \/ _|| / /| '_ \| |(_-<
\_, |\___/\__||_\_\|_.__/|_|/__/
|__/
___ ___ _ _ ____ _ _ _ _ _ _ _ __
/ _ \|_ ) / |/ ||__ / / || | | | | | | | | / \
\_, / / / _ | || | |_ \ _ | ||_ _||_ _|_|_ _|| () |
/_/ /___|(_)|_||_||___/(_)|_| |_| |_|(_) |_| \__/
Parefeu UFW
Installation
1
sudo apt install ufw
Les règles
1
2
sudo ufw allow 55040/tcp # port SSH
sudo ufw allow https # port 443
Activer le parefeu
1
sudo ufw enable
Serveur web
Télécharger la dernière version du binaire Linux amd64 nommé caddy_linux_amd64 depuis un Ordinateur local linux (https://caddyserver.com/download)
Transférer le fichier caddy_linux_amd64 via FileZilla
DNS OVH
- VPS yockbis
- Adresse IPV4: 92.113.144.40
- Adresse IPV6: 2a0f:0f01:0206:29::0
Renseigner la zone dns domaine xoyaz.xyz avec les paramètres du VPS yockbis
1
2
3
4
5
6
7
8
9
$TTL 3600
@ IN SOA dns106.ovh.net. tech.ovh.net. (2025030900 86400 3600 3600000 300)
IN NS ns106.ovh.net.
IN NS dns106.ovh.net.
IN A 92.113.144.40
IN AAAA 2a0f:0f01:0206:29::0
IN CAA 0 issue "letsencrypt.org"
* IN A 92.113.144.40
* IN AAAA 2a0f:0f01:0206:29::0
Installer Caddy
Caddy est un serveur web écrit en Go, open source et disponible avec HTTPS automatiquement
Prérequis
1
sudo apt install libcap2-bin libnss3-tools wget tar rsync
Déplacez le binaire caddy dans votre $PATH, par exemple :
1
2
sudo mv caddy_linux_amd64 /usr/local/bin/caddy
sudo chmod +x /usr/local/bin/caddy
Version: caddy version
v2.9.1 h1:OEYiZ7DbCzAWVb6TNEkjRcSCRGHVoZsJinoDR/n9oaY=
Configurer un utilisateur restreint nommé caddy avec le répertoire personnel /etc/caddy
en exécutant la commande suivante
1
sudo useradd --shell /bin/false --home-dir /etc/caddy --system caddy
Caddy stocke la configuration dans le répertoire .config
, et les certificats dans le répertoire .local
1
sudo mkdir -p /etc/caddy/{.config,.local}
Répertoire lié à Caddy pour stocker les logs
1
sudo mkdir -p /var/log/caddy
Modifier la propriété des répertoires au profit de l’utilisateur caddy
1
sudo chown -R caddy: /etc/caddy /var/log/caddy
Lorsque vous exécutez un logiciel en tant qu’utilisateur non root, Linux interdit à ces processus d’écouter des numéros de port inférieurs à 1024. Pour contourner cette restriction et exécuter Caddy en toute sécurité en tant qu’utilisateur non root, ajoutez la capacité cap_net_bind_service au binaire caddy :
1
sudo setcap cap_net_bind_service+ep /usr/local/bin/caddy
Caddy service systemd
Configurer Caddy comme un service du système qui démarrera automatiquement
Créer le fichier /etc/systemd/system/caddy.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[Unit]
Description=Caddy web server
After=network-online.target
[Service]
User=caddy
Group=caddy
Type=exec
WorkingDirectory=/var/caddy/
ExecStart=/usr/local/bin/caddy run --config /etc/caddy/Caddyfile
ExecReload=/usr/local/bin/caddy reload --config /etc/caddy/Caddyfile
ExecStop=/usr/local/bin/caddy stop
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
PrivateDevices=true
ProtectHome=true
ProtectSystem=strict
ReadWritePaths=/etc/caddy/.local /etc/caddy/.config /var/log
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
Création répertoire par défaut /var/caddy/
et droits utilisateur
1
2
sudo mkdir -p /var/caddy/
sudo chown -R $USER:caddy /var/caddy/
Création d’un Caddyfile, qui indique à Caddy ce qu’il doit faire lorsqu’une requête HTTP arrive.
1
2
3
4
5
6
echo "xoyaz.xyz {
root * /var/caddy//
encode gzip
file_server
}
" | sudo tee /etc/caddy/Caddyfile
Créer un fichier index/
1
echo "<h1>Serveur xoyaz.xyz</h1>" |sudo tee /var/caddy//index/
Démarrer et activer le service
1
2
sudo systemctl daemon-reload
sudo systemctl enable caddy --now
Test page : https://xoyaz.xyz
Site statique
Le site statique et synchronisé depuis l’ordinateur local via rsync après chaque regénération
Modifier le fichier Caddyfile : sudo nano /etc/caddy/Caddyfile
1
2
3
4
5
static.xoyaz.xyz {
root * /var/caddy//Divers/static/
encode gzip
file_server
}
Redémarrer le serveur
1
sudo systemctl restart caddy
Voir lien https://static.xoyaz.xyz
Maintenance
Mises à jour automatiques sur debian
Mises à jour automatiques sur Debian