URL: https://linuxfr.org/users/killruana/journaux/auto-hebergement-sous-openbsd Title: Auto-hébergement sous OpenBSD Authors: jtremesay Date: 2021年03月04日T23:01:13+01:00 License: CC By-SA Tags: openbsd, selfhost, letsencrypt et postgresql Score: 20 Bon, tu as lu le titre, tu te doutes que je ne suis pas là pour te parler de mes [protèges préservatifs](https://i.ibb.co/TrYZGd6/2021-03-04-20-59-39.jpg) cousus maison. Je te réserve ça pour un prochain journal. Aujourd'hui, je vais te résumer mon installation d'[OpenBSD](https://www.openbsd.org/) sur un netbook pour faire tourner mon blog et une instance FreshRSS. ## Fluff Cela fait un moment que [Solène](https://dataswamp.org/~solene/index.html), développeuse OpenBSD me parle de ce système. Je n'y ai jamais trop prêté attention. Voyez-vous, elle et moi n'avons pas la même définition de la simplicité. Elle code en lisp et perl sous emacs avec un stacking vm, alors que je suis plutôt du genre arch/kde/vscode/python/rust. Je n'ai jamais compris comment elles faisait pour aimer ses trucs et réciproquement1. Alors quand ses principaux arguments étaient « ça marche pas », « c'est lent », et « les programmes crashent à cause des protections mémoires :D », je pense que vous comprendrez aisément mon manque d’intérêt. Pis là, comme l'envie de m'auto-héberger commence à poindre, j'ai décidé de lui donner une chance. Le serveur ? Un netbook de récupération qui prenait la poussière et que j'ai décidé de sacrifier pour la cause. ![Un netbook affichant le prompt OpenBSD](https://i.ibb.co/sjh5S6f/image-2021年03月04日-20-45-03.jpg) ## Installation Pour l'installation, [Read The Fine Documentation](https://www.openbsd.org/faq/faq4.html). Mais en résumé, télécharger l'image, l'écrire sur une clé usb, l'insérer dans le netbook et booter. Il est temps d'attaquer les choses sérieuses. "fr-dvorak" (bépo), enter, "harvest.slaanesh.org", enter, "killruana", enter, reboot. Yup, aussi simple que ça. Au premier boot, le système va automatiquement chercher les dernières mises du système et télécharger les firmware du processeur et du module Wi-Fi. La [connexion au Wi-Fi](https://www.openbsd.org/faq/faq6.html#Wireless) se fait avec un simple fichier de configuration et fonctionne sans aucun soucis. ``` $ cat /etc/hostname.ral0 nwid MY-SSID wpakey MY-TOP-SECRET-PASSWORD dhcp ``` Installation des paquets nécessaires ``` $ doas pkg_add php php-curl php-pdb_pgsql php-fpm postgresql-server ``` Génération des certificats Let's Encrypt avec le [client ACME](https://man.openbsd.org/acme-client) intégré au système ``` $ doas cp /etc/examples/httpd.conf /etc/httpd.conf $ doas rcctl start httpd $ doas cp /etc/examples/acme-client.conf /etc/acme-client.conf $ doas vi /etc/acme-client.conf $ cat /etc/acme-client.conf domain slaanesh.org { alternative names { www.slaanesh.org rss.slaanesh.org } domain key "/etc/ssl/private/slaanesh.org.key" domain full chain certificate "/etc/ssl/slaanesh.org.fullchain.pem" sign with letsencrypt } $ acme-client slaanesh.org ``` Configuration du serveur web intégré au système : ``` $ doas nvim /etc/httpd.conf $ cat /etc/httpd.conf # $OpenBSD: httpd.conf,v 1.20 2018年06月13日 15:08:24 reyk Exp $ server "slaanesh.org" { alias "beta.slaanesh.org" alias "www.slaanesh.org" listen on * port 80 location "/.well-known/acme-challenge/*" { root "/acme" request strip 2 } location * { block return 302 "https://$HTTP_HOST$REQUEST_URI" } } server "slaanesh.org" { alias "www.slaanesh.org" listen on * tls port 443 tls { certificate "/etc/ssl/slaanesh.org.fullchain.pem" key "/etc/ssl/private/slaanesh.org.key" } root "/htdocs/blog" } server "rss.slaanesh.org" { listen on * tls port 443 tls { certificate "/etc/ssl/slaanesh.org.fullchain.pem" key "/etc/ssl/private/slaanesh.org.key" } root "/htdocs/freshrss/p" directory index "index.html" location "*.php*" { fastcgi socket "/run/php-fpm.sock" } location "/i/*" { directory index "index.php" } } $ rcctl restart httpd ``` Configuration de postgresql et de php classique, création de la base de données et de l'utilisateur pour freshrss, chargement des modules php nécessaires, ... Lancement des services php-fpm et postgresql : ``` # rcctl php74_fpm postgresql ``` L'installation de FreshRSS est laissé en exercise au lecteur. Mais en résumé, récupérer les sources, les mettre dans /var/www/htdocs/freshrss, et accéder à votre instance. ## Conclusion Ça m'a pris moins de trois heures pour avoir mon [blog](https://slaanesh.org) et mon [instance](https://rss.slaanesh.org/i/ freshrss en partant de zéro. Il n'y pas eu de mauvaises surprises. Tout fonctionne simplement et directement. La documentation est claire (si jamais vous trouvez ce que vous cherchez. Ça manque d'un wiki tout ça). C'est simple d'utilisation. Ça juste marche. Je recommande et je regrette de ne pas avoir découvert plus tôt. 1: c'était à l'époque hein, les goûts et avis ont depuis évolués.

AltStyle によって変換されたページ (->オリジナル) /