Aller au contenu

Paramètres des cookies

Choisissez, par catégorie, les cookies que vous autorisez. Vous pouvez modifier votre choix à tout moment via Paramètres des cookies, en bas de chaque page. Politique de confidentialité

Nécessaires

Toujours activés

Indispensables pour vous connecter, conserver votre panier et mémoriser vos choix. Ils sont toujours activés.

Quels cookies ?
  • weboke_sessie, weboke_klant, weboke_remember: votre session et le maintien de la connexion
  • weboke_basket: votre panier
  • wkBtwIncl: l'affichage des prix TTC ou HT
  • wok_cookies: votre choix concernant les cookies, 12 mois

Mesure quelle publicité mène à une visite ou à une commande, pour que nous ne payions pas des publicités inefficaces.

Quels cookies ?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), jusqu'à 90 jours
  • OpenAI Ads, publicités dans ChatGPT
  • wok_aff: le partenaire qui vous a orienté vers nous (programme d'affiliation), 60 jours

4,6

Pays et langue

Chaque pays a son propre site, avec les prix et la TVA de ce pays.

Afficher

cloud-init personnalisé : configurer automatiquement votre VPS au premier démarrage

Avec cloud-init, vous fournissez lors de l'installation un fichier que votre VPS exécute lui-même au premier démarrage. Votre serveur installe ainsi immédiatement vos paquets habituels, crée votre propre utilisateur et exécute vos commandes. C'est pratique si vous réinstallez souvent ou si vous souhaitez toujours partir de la même base. Vous n'avez besoin ni d'API ni de terminal.

Où le saisir ?

  1. Ouvrez l'écran du VPS via Mes produits.
  2. Nouveau VPS : vous voyez le bloc Installez votre VPS (voir Installer votre VPS : système d'exploitation, mot de passe et clé SSH). Réinstallation : choisissez l'onglet Avancé et, sous Réinstallation, cliquez sur Réinstaller... (voir Réinstaller ou monter une ISO).
  3. Choisissez le système d'exploitation et saisissez le mot de passe root et, le cas échéant, votre clé SSH, comme d'habitude.
  4. Sous la clé SSH, cliquez sur cloud-init personnalisé. Le champ se déploie.
  5. Collez votre fichier dans le champ.
  6. Cliquez sur le bouton d'installation, par exemple Installer Debian 13, ou, en cas de réinstallation, sur Tout effacer et réinstaller.

Le mot de passe root ou la clé SSH reste nécessaire, même avec un cloud-init personnalisé. Ils vous permettent de toujours accéder au serveur, y compris via la console (voir La console : votre VPS dans votre navigateur).

Que peut contenir le fichier ?

Le champ accepte des user-data, le fichier que cloud-init lit au premier démarrage. La première ligne détermine de quoi il s'agit :

Première ligneDe quoi s'agit-il ?
#cloud-configDes paramètres en YAML : paquets, utilisateurs, fichiers, commandes. C'est ce que vous utiliserez le plus souvent.
#!, par exemple #!/bin/bashUn script. Il s'exécute une seule fois en tant que root, à la fin du premier démarrage.
#cloud-boothookUn script qui s'exécute très tôt pendant le démarrage, et à nouveau à chaque démarrage. Réservé aux utilisateurs avancés.
## template: jinjaUn modèle utilisant des variables de cloud-init. La ligne suivante contient alors #cloud-config ou #!.
  • 256 Ko maximum, et uniquement du texte (UTF-8).
  • En YAML, l'indentation se fait avec des espaces, jamais avec des tabulations.
  • Le réseau (IPv4 et IPv6) est géré par WebOké. Une network-config personnalisée n'est pas utilisée : n'y mettez donc aucun paramètre réseau.

Un exemple

Ce fichier met à jour tous les paquets, installe htop et fail2ban, crée l'utilisateur anna avec votre clé SSH et sudo, donne un nom personnalisé au serveur et règle le fuseau horaire :

#cloud-config
hostname: web1
fqdn: web1.example.com
package_update: true
package_upgrade: true
packages:
  - htop
  - fail2ban
users:
  - default
  - name: anna
    shell: /bin/bash
    sudo: "ALL=(ALL) NOPASSWD:ALL"
    ssh_authorized_keys:
      - ssh-ed25519 AAAAC3Nza... anna@laptop
runcmd:
  - timedatectl set-timezone Europe/Amsterdam

Remplacez la clé par votre propre clé publique (voir Créer une clé SSH sous Windows, Mac et Linux). La ligne - default conserve l'utilisateur par défaut, afin que le mot de passe root et la clé SSH du formulaire continuent de fonctionner. Après le premier démarrage, connectez-vous avec ssh anna@203.0.113.10. Pour savoir comment désactiver ensuite la connexion en tant que root et configurer fail2ban, consultez Désactiver la connexion par mot de passe et en tant que root et fail2ban contre les tentatives de connexion par force brute.

Astuce : L'exemple est conçu pour Debian et Ubuntu. Sur AlmaLinux et Rocky Linux, htop et fail2ban se trouvent dans le dépôt supplémentaire EPEL. Supprimez-y packages et placez sous runcmd d'abord dnf install -y epel-release, puis dnf install -y htop fail2ban.

Que fournit WebOké de son côté ?

WebOké fournit toujours le nom d'hôte, le mot de passe root (uniquement sous forme de hash) et votre clé SSH. Votre fichier est fusionné avec ces éléments. Si vous définissez vous-même users, password, chpasswd ou ssh_authorized_keys, vos valeurs priment sur celles fournies par WebOké.

Attention : Si vous placez vous-même ssh_authorized_keys ou password au niveau supérieur de votre fichier, ils remplacent la clé et le mot de passe du formulaire. Indiquez alors vous-même la clé avec laquelle vous souhaitez vous connecter, sinon vous ne pourrez plus accéder au serveur que via la console.

Est-ce que cela a fonctionné ?

cloud-init s'exécute une seule fois, au premier démarrage après l'installation. Cela prend parfois quelques minutes de plus que l'installation elle-même, surtout si des paquets sont installés. Connectez-vous et vérifiez :

anna@web1:~$ cloud-init status --long
anna@web1:~$ sudo tail -n 30 /var/log/cloud-init-output.log
anna@web1:~$ sudo cloud-init schema --system
  • cloud-init status --long affiche status: done lorsque tout est terminé, running s'il est encore en cours et error si quelque chose s'est mal passé, avec l'erreur correspondante. Avec cloud-init status --wait, vous attendez qu'il ait terminé.
  • /var/log/cloud-init-output.log contient la sortie de vos paquets, commandes et scripts. Vous trouverez plus de détails dans /var/log/cloud-init.log.
  • cloud-init schema --system vérifie que votre fichier ne contient pas d'erreurs. Si le YAML est incorrect, cloud-init ignore les parties qu'il ne comprend pas, sans que l'installation échoue.

Quelque chose s'est mal passé ? Corrigez-le manuellement sur le serveur, ou modifiez votre fichier et réinstallez. Attention toutefois : la réinstallation efface tout le contenu de votre VPS.

Bon à savoir

  • Cela fonctionne avec tous les systèmes d'exploitation de la liste : Ubuntu 24.04 et 26.04, Debian 12 et 13, AlmaLinux 9 et 10 et Rocky Linux 9 et 10.
  • Votre fichier est transmis de manière chiffrée et n'est pas conservé dans l'historique des tâches de votre VPS. N'y mettez toutefois pas de mots de passe ou d'autres secrets dont vous n'avez pas besoin.
  • Toutes les possibilités sont décrites dans la documentation de cloud-init sur docs.cloud-init.io.

Attention : Le contenu de votre cloud-init relève de votre responsabilité. Le support n'examine pas votre fichier et ne vous aide pas à le rédiger ou à l'améliorer.

Un instant…

Configurez vos domaines

Pour chaque domaine, réglez les serveurs de noms, l'association à votre hébergement et le futur titulaire.

Chargement de vos domaines…