💾 Archived View for thasmanie.fr › element-apache-alias-icons.gmi captured on 2024-12-17 at 09:34:39. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Problème avec apache / mod_alias sur element (client Matrix)

2024-12-10

retour

Intro

Element (anciennement Riot ou Vector) est un client php du système de chat Matrix.

Lors d'une mise à jour d'element web, j'ai remarqué que certaines icones ne s'affichaient plus.

Projet github de l'interface web element, client Matrix

Page principale du projet Matrix, chat open source sécurisé et décentralisé

TL;DR

La configuration par défaut de mod_alias est globale et redirige /icons/ vers /usr/share/apache2/icons/

Investigations

1er réflexe, je rollback ma mise à jour, mince ça ne change rien.

Je ne saurais dire depuis quand ces icones ne s'affichent plus, elles sont plutôt discrète, ça peut donc venir d'une mise à jour antérieure à element, ou encore une mise à jour du socle.

J'utilise ici un container docker buildé maison, basé sur une debian:bookworm-slim, et un apache 2.4.

En avant vers les logs. J'y trouve des erreurs 404 sur tous les appels vers /icons/....., bizarre !

"GET /icons/chevron-up.b1e0d89.svg HTTP/2.0" 404 ...
"GET /icons/close.dce71fd.svg HTTP/2.0" 404 ...
"GET /icons/delete.eec6a48.svg HTTP/2.0" 404 ...
"GET /icons/close.dce71fd.svg HTTP/2.0" 404 ...

Je vérifie les permissions sur le système de fichier, la conf apache, la présence d'un fichier .htaccess (même si la directive AllowOverride est à None).

Toujours rien...

Source du problème

En me balladant dans la conf apache, je tombe sur le module alias, et surtout sa conf par défaut :

Alias /icons/ "/usr/share/apache2/icons/"

<Directory "/usr/share/apache2/icons">
        Options FollowSymlinks
        AllowOverride None
        Require all granted
</Directory>

Documentation du module alias d'apache 2.4

On a donc une belle conf par défaut qui redirige /icons vers un chemin qui n'a absolument rien à voir avec mon DocumentRoot qui est dans /var/www/riot !!!

Et c'est une conf globale, peu importe le vhost.

Mais pourquoiiiiiiii ???

Et à priori c'est vieux car je trouve des articles de 2015 qui en parlaient déjà...

Exemple d'un forum qui parle du module alias et de sa conf /icons par défaut

MĂŞme chose, 2021

Je n'ai pas encore trouvé quand exactement le problème est survenu, ni qui en est la cause (mise à jour element ? apache ? debian ?). Je mettrai à jour ce billet si je trouve le temps de creuser.