veilletech.fr
26 août Feed du jour
#10 DEVOPS Article

OpenBSD sur DigitalOcean pour 4 dollars par mois

Le web fait maison coûte quatre dollars et un peu d'attention.

DigitalOcean ne propose pas OpenBSD dans son catalogue, mais accepte les images personnalisées. En envoyant l'image miniroot d'OpenBSD 7.9 comme instantané, on démarre l'installateur depuis la console web et on obtient un serveur à 4 dollars par mois, servi par httpd et acme-client, tous deux fournis avec le système.

2 min de lecturevidéo 1:18
Partager
Sommaire4 sections
  1. Ce qui se passe
  2. Comment s'y prendre
  3. Ce que ça change
  4. À retenir

Ce qui se passe

DigitalOcean propose Ubuntu, Debian, Fedora, Rocky — et aucun BSD. Cet article montre le détour : l'hébergeur accepte les images personnalisées, ce qui suffit à installer OpenBSD 7.9 sur la plus petite instance, à 4 dollars par mois (4,24 taxes comprises).

L'auteur y héberge sa page personnelle, précédemment sur GitHub Pages puis Cloudflare Pages, servie désormais par httpd(8) avec des certificats Let's Encrypt obtenus via acme-client(1) — deux outils fournis avec le système de base, sans paquet supplémentaire ni compilation.

Comment s'y prendre

On récupère l'image miniroot, la plus rapide des options de téléchargement, et on vérifie sa signature :

Terminal
curl -O -O https://cdn.openbsd.org/pub/OpenBSD/7.9/amd64/{miniroot79.img,SHA256}
sha256sum -c --ignore-missing SHA256 miniroot79.img

Puis, dans le tableau de bord DigitalOcean, sous Backups & SnapshotsUpload an Image : envoyer miniroot79.img, choisir un centre de données, et déclarer la distribution comme Other — l'hébergeur ne propose aucune entrée BSD.

L'instance créée à partir de cette image démarre directement sur l'installateur d'OpenBSD, accessible depuis la console web. C'est ce qui rend la manœuvre propre : on installe le système normalement, au lieu de bricoler une image préinstallée qu'il faudrait ensuite adapter.

Pour un serveur web, l'installateur permet de retirer la plupart des jeux de fichiers :

TEXT
-x*     retire les composants du serveur X
-gam*   retire les jeux
-com*   retire le compilateur

Il reste bsd, bsd.rd, base79.tgz et man79.tgz. Les signatures des jeux sont vérifiées au téléchargement.

Après redémarrage, on se connecte en SSH avec l'utilisateur non privilégié créé pendant l'installation — la connexion SSH de root ayant été désactivée à l'installation. Le minimum recommandé ensuite : copier sa clé publique et couper PasswordAuthentication.

Ce que ça change

Soyons honnêtes sur la nature de l'exercice : ce n'est pas une optimisation de coût, c'est un choix assumé de bricoleur. L'auteur l'écrit d'ailleurs franchement — il voulait retrouver le web qu'on fabrique soi-même.

Ce que vous récupérez : une machine dont vous comprenez chaque brique, un serveur web et un client ACME livrés avec le système, documentés par des pages de manuel plutôt que par un fichier de configuration de trois cents lignes, et la liberté de choisir votre système sur un hébergeur qui ne le propose pas.

Ce que vous reprenez à votre charge : les mises à jour du système, la surveillance, les sauvegardes, la disponibilité — tout ce que l'hébergement géré faisait silencieusement.

Le procédé, lui, dépasse OpenBSD : toute image compatible peut être envoyée en instantané chez cet hébergeur. C'est la porte d'entrée pour un système que le catalogue ignore, quel qu'il soit.

À retenir

Une pile minimale a une vertu qu'on sous-estime : elle tient dans quelques pages de manuel. httpd(8) et acme-client(1) couvrent l'essentiel de ce qu'on attend d'un serveur de site statique, et se lisent en une soirée.

Source : Nil — Run OpenBSD on DigitalOcean for $4/month