Autohébergement et Raspberry Pi

Suite à l’installation de mon petit serveur, voici un petit retour sur la “stack” utilisée.

PS: Au fait, bonne année :)

Le système

Pour mon Pi, je ne suis pas parti sur le système Raspbian traditionnel. Celui-ci fonctionne très bien, mais je préfère généralement me tourner vers Arch Linux pour les serveurs.

Arch Linux :

  • a l’avantage d’être une distribution légère,
  • n’installe que le strict nécessaire,
  • est parfaite pour être utilisée en ligne de commande
  • se met à jour facilement, pas de saut de version avec réinstallation du système à effectuer

De plus de nombreux packages sont mis à disposition via le dépôt communautaire AUR. Ce dépôt ne fournit pas de package précompilés mais des sources facilement installables.

D’ailleurs pour vous simplifier l’utilisation des packages d’AUR, je vous recommande l’utilisation de yaourt qui remplace pacman le package manager par défaut en tirant directement les paquets manquants depuis AUR.

Yaourt

Pour installer yaourt, ajoutez le dépôt suivant à votre fichier /etc/pacman.conf :

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

Puis mettez à jour la base des packages :

pacman -Sy

et installez yaourt :

pacman -S yaourt

Yaourt s’utilise strictement comme pacman. Pour mettre à jour votre système :

yaourt -Syu

Pour installer le package vim, par exemple :

yaourt -S vim

Le serveur web

Pour servir les pages, je ne souhaite pas utiliser le serveur embarqué dans hugo afin d’avoir des fonctionnalités avancées (https dans l’avenir …). J’ai donc décidé d’installer NGINX.

Simple :

yaourt -S nginx

Activez le service avec systemctl :

systemctl enable nginx
systemctl start nginx

et les pages à servir doivent être déposées dans /usr/share/nginx/html.

Le CMS : Hugo

Hugo est un générateur de site static développé en go. Il a l’avantage d’être très rapide et peu gourmand en ressources, bref, parfait pour un Pi.

J’ai choisi d’installer hugo depuis ses sources pour pouvoir contribuer au développement de l’outil (ah, si j’avais plus de temps :) ). Il va donc falloir commencer par installer go, git et mercurial :

yaourt -S go git mercurial

Pour définir l’emplacement des sources et binaires go (mon arborescence go sera ici $HOME/go; ne pas oublier de créer le répertoire), définissez les variables suivantes dans votre .bashrc :

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

L’installation et la compilation d’hugo et de ses dépendances seront alors gérés directement par go :

go get -v github.com/spf13/hugo

Et si tout se passe bien, miracle : hugo est installé !

Vous n’avez plus qu’à suivre le getting started pour créer votre premier site et déployer vos pages dans /usr/share/nginx/html. Enjoy !

Un nouveau départ pour ce blog

Hugo Static Website Engine De temps en temps, il faut bien faire du ménage. Aujourd’hui, c’est au tour de mon blog.

Ca faisait un moment que j’utilisais wordpress pour gérer mes posts et j’ai décidé d’utiliser quelque chose de plus moderne :) : Hugo.

Hugo est un générateur de site statique inspiré de jekyll et développé en Go.

Et gros avantage : il est super rapide à s’exécuter !!

Pourquoi est-ce si important ? Car mon serveur est assez “light” :)

Auto-hébergement et Raspberry Pi

Raspberry Pi Logo Et oui, je saute le pas de l’auto-hébergement. Mais je ne souhaite pas avoir un PC en fonctionnement permanent chez moi qui consomme de l’électricité pour le plaisir …

Ca tombe bien, j’ai toujours un Raspberry Pi sous le coude, donc voilà : une ArchLinux, un serveur Nginx et c’est parti !

Et bonus : la Freebox a des ports USBs, utilisons-les pour l’alimentation du serveur.

Le Bilan

Un Raspberry Pi comme serveur HTTP
pas cher à laisser tourner en continu.
Une Arch Linux comme OS
facile à mettre à jour en continu, pas de saut de version à gérer.
Hugo pour la génération de pages
c'est du Go, parfait pour le Raspberry Pi car très véloce (et comme je pratique le langage, je peux contribuer au code :))
Git pour le versioning
youpi !!

Et voilou pour le nouveau site. D’ailleurs l’ancien contenu est toujours en ligne et accessible via le lien “Archives” du menu.

Note: J’ai ajouté de la pub, le but n’est pas d’en faire un revenu, juste un appoint pour le nom de domaine.