1. Mini-serveur web

    Outre les mastodonte Apache ou Nginx, il existe une floppée de serveur web moins connus, avec moins de fonctionnalités, avec un suivis sécurité plus anecdotique, mais léger et fonctionnel pour des sites web à vocation personnel. On peut évoquer lighttpd en passant. Mais ici il sera question d’une application encore plus petite : mini_httpd.

    La famille des serveurs web de la forge acme

    La forge acme propose pas moins de 3 serveurs http différents : micro_httpd, t(iny)httpd et micro_httpd. Ils sont cités du plus minimaliste au plus complet. micro_httpd est une application répondant uniquement à travers inetd des pages web statiques sans chiffrement. thttpd fonctionne comme service autonome, avec possibilité de génération de pages web dynamique via CGI ; il ne dispose toujours pas de transports SSL. mini_httpd est le plus évolué : service autonome, service web dynamique via CGI, support de vhost, et transport SSL. Cet article est consacré à la configuration de ce dernier pour la mise en place d’un site internet personnel.

    Installation sous FreeBSD 13.3

    mini_httpd semble être trop désuet pour être proposé dans le système de package de distribution Linux. On le trouve encore en 2024 dans les ports et packages de FreeBSD.

    Comme d’habitude sous FreeBSD, deux méthodes d’installation en alternative. Par pkg d’abord :

    # pkg install www/mini_httpd

    Par les ports ensuite :

    # cd /usr/ports/www/mini_httpd
    # make config

    Un seul paramètre est disponible : la présence ou pas des fichiers d’exemples. Pas utile pour nous. On termine l’installation.

    # make install

    Configuration

    Sous FreeBSD, les fichiers de configuration des paquets tiers sont situés dans /usr/local/etc. On s’y rend.

    # cd /usr/local/etc

    On lance un éditeur :

    vi mini_httpd.cnf

    (ou vim, ou nano, etc.)

    mini_httpd.cnf
    port=80
    user=www
    dir=/usr/local/www/fr3d0.xyz
    nochroot
    logfile=/var/log/mini_httpd.log

    On lance une première fois le serveur pour vérifier son fonctionnement.

    # service mini_httpd onestart

    Puis on automatise son lancement au démarrage.

    # service mini_httpd enable

  2. Utilisation de acme.sh (mémo)

    ACME.SH est l’implémentation sous la forme minimaliste d’un script Shell du protocole ACME. Il est porté par l’ISRG (Internet Security Research Group) pour l’usage de leur service Let’s Encrypt qui fournit des certificats SSL gratuits. On peut donc mettre en place un service web utilisant un certificat reconnu dans une chaine de certification gratuitement. On reste cependant sur un service minimal : le certificat est valable 3 mois (il faut prévoir le renouvellement). Il n’y a pas de reconnaissance de l’identité du porteur du certificat (ce n’est pas adapté à des infras d’entreprises, d’associations, de collectifs… bref des organismes à vocations puliques ; mais là on fait du perso, donc osef).

    En premier lieu on installe.

    Sous Gentoo, pas de useflags particulier :

    emerge acme-sh

    En premier lieu il faut s’enregistrer (de toute façon en lançant les commandes d’après on sera rappelé à cette première étape qui est explicitement donné).

    acme-sh --register-account -m monemail@maildomain.truc

    On génère les certificats correspondants au domaine du site web. Via la répétition de l’argument "-d" on peut inclure autant de sous-domaine que l’on souhaite. Ici le domaine principale, suivis du sous-domaine www.

    acme-sh --issue -d mondomaine.truc -d www.mondomaine.truc -w /var/www/localhost/htdocs

    Les certificats générés ne sont pas utilisable par les applications comme les serveurs web. Il faut donc les "convertir". Mais la commande évoque plutôt une "installation". Si on copie manuellement les certificats générés, le chemin a peu d’importance.

    acme-sh --install-cert -d mondomaine.truc --ecc --cert-file /chemin/cert.pem --key-file /chemin/key.pem --fullchain-file /chemin/fullchain.pem --ca-file /chemin/ca.pem

    Bien qu’il y ait un fichier d’authorité de certification (le ca-file) je n’en ai pas trouvé l’utilité.

    Pour un usage pour un serveur Lighttpd j’installe les fichiers dans le chemin de configuration du serveur : /etc/lighttpd/ssl.

    Ici voici la configuration pour lighttpd. Il faut créer la section correspondante dans le fichier de configuration par défaut lighttpd.conf. L’adresse IP à la première ligne correspond à l’adresse IP local du seveur. 443 est le port par défaut utilisé pour HTTPS sur Internet.

    $SERVER["socket"] == "192.168.1.4:443" {
            server.name = "mondomaine.truc"
            server.document-root = "/var/www/localhost/htdocs/"
            server.errorlog = "/var/log/lighttpd/http_error.log"
            accesslog.filename = "/var/log/lighttpd/http_access.log"
            ssl.engine = "enable"
            ssl.pemfile = "/etc/lighttpd/ssl/cert.pem"
            ssl.privkey = "/etc/lighttpd/ssl/key.pem"
            ssl.ca-file = "/etc/lighttpd/ssl/fullchain.pem"
    }

  3. Clavier français sous X11

    Sous Gentoo, les configurations sont le plus souvent à faire manuellement. Les paramètres par défaut sont à l’anglais, langue internationale, clavier QWERTY, fuseau horaire calqué sur Greenwich…

    Pour la disposition du clavier sous serveur graphique X11/Xorg, c’est le même principe. Comment faire ?

    D’abord aller au répertoire de configuration.

    # cd /etc/X11

    Par défaut j’ai constaté que le répertoire de configuration n’existait pas. On le créé.

    # mkdir xorg.conf.d

    On entre dedans.

    # cd xorg.conf.d

    Puis on créé le fichier de configuration du clavier.

    # nano 10-keyboard.conf

    Il faut ensuite complété la configuration avec le minimum d’information utile :

    Section "InputClass"
            Identifier "Keyboard"
            Driver "keyboard"
            MatchIsKeyboard "on"
            Option "XkbLayout" "fr"
    EndSection

    Sortez et enregistrez via le raccourcis ctrl+x.

    Il suffit ensuite de redémarrer et ça fonctionne !


  4. Personnaliser fortune

    Fortune est une application de divertissement traditionnellement présente sous Unix et Linux. Comme un mot porte-bonheur dans un biscuit, fortune charge au hasard d’une collection une citation. Pour les sytèmes embarquants par défaut l’application, elle est exécutée à la connexion de l’utilisateur. Mais on pourrait vouloir établir sa propre collection de citation pour égayer, enrichir, réfléchir. Imaginer que vous entriez votre propre Manuel d’Épictète, des paroles des Évangiles ou des citations marxistes.

    Comment faire ?

    Ouvrez votre éditeur de texte préféré. Écrivez et copiez/collez vos citations ou passages préférés. Délimitez chaque passage ou citation par le caractère %. Enregistrez votre fichier sous le nom que vous souhaitez, sans extension.

    $ strfile -c % trotsky trotsky.dat

    Les fichiers devront rester quoiqu’il en soit dans le même répertoire. Le second fichier est un index invoqué par fortune pour une sélection aléatoire rapide. L’index lui donne ensuite la section précise à charger et afficher depuis le fichier de collection. A chaque modification du fichier original il faut reconstruire le fichier .dat.

    Vous pouvez tester immédiatement la collection en lançant fortune suivi du nom de fichier :

    $ fortune trotsky

    Pour la charger automatiquement par l’application quand elle est lancée par défaut, on copie dans le répertoire dédié.

    # cp trotsky* /usr/share/games/fortunes/

Page 1 / 1