WebDAV, Nginx et XFCE : accéder à ses médias en ligne facilement

Rédigé par citizenz - - 2 commentaires

WebDAV c'est quoi ? Laissons faire les présentations par le Wiki Ubuntu :

WebDAV, en entier : Web-based Distributed Authoring and Versioning, est un protocole déjà ancien (1996) et curieusement peu connu. Il permet pourtant une chose essentielle : écrire sur le Web, au lieu de seulement surfer (c'est-à-dire seulement lire).
C'est un protocole ouvert, le W3C (organisme qui "normalise le web") en a confié le développement à l'IETF qui avait déjà normalisé HTTP.
Pour résumer, WebDAV est une extension du HTTP. Au delà des GET et POST bien connus, WebDAV rajoute les verbes PUT, DELETE, COPY, PROPFIND, etc. Pour les curieux, la norme est là : http://tools.ietf.org/html/rfc2518. Étant une simple extension au protocole HTTP, WebDAV fonctionne dans à peu près toutes les situations où la navigation n'est pas bloquée.

Ceci étant dit, j'avais besoin de configurer un accès web pour les fichiers vidéos situés sur mon serveur. Il existe pléthore de solutions de streaming etc. mais ça n'est pas ce que je souhaitais. L'idéal ? Ouvrir tous mes médias directement depuis mon "Explorateur de fichiers", Thunar en l’occurrence puisque je suis sous XFCE.

Je n'ai pas été chercher bien loin et je me suis souvenu de WebDAV, que j'avais déjà utilisé "rapidement" il y a quelques temps.

Objectifs ? Configurer Nginx avec WebDAV et pouvoir accéder tranquillement à mes fichiers depuis mon bureau. C'est parti.

NGINX

Pour configurer Nginx rien de bien compliqué. Il vous faut néanmoins et avant tout installer un nouveau paquet sur votre serveur afin d'utiliser WebDAV:

$ sudo apt install nginx-extras

Puis il faut créer l'hôte virtuel Nginx. J'ai choisi d'utiliser un domaine du type media.mondomaine.fr pour l'exemple. On va donc créer un fichier comme suit :

$ sudo vim /etc/nginx/conf.d/media.mondomaine.fr.conf

Dans ce fichier, nous allons placer les éléments suivants :

server {
        listen 80;
        server_name media.mondomaine.fr;
        root /CHEMIN/MONREPERTOIRE/FICHIERS; # ----> A CHANGER avec le bon chemin de votre répertoire
        index index.php index.html index.htm;
        access_log /var/log/media-access.log combined;
        error_log /var/log/media-error.log error;

        location / {
                try_files $uri $uri/ /index.html;
                client_body_temp_path   /temp;
                dav_methods             PUT DELETE MKCOL COPY MOVE;
                dav_ext_methods         PROPFIND OPTIONS;
                create_full_put_path    on;
                dav_access              user:rw group:rw all:rw;
                autoindex               on;
                auth_basic "Mot de passe :";
                auth_basic_user_file "/etc/nginx/passwd/media_pass";
}

        # PARTIE HTTPS
        listen 443 ssl http2; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/media.mondomaine.fr/fullchain.pem; # managed by Certbot ---> MONDOMAINE.FR A CHANGER
        ssl_certificate_key /etc/letsencrypt/live/media.mondomaine.fr/privkey.pem; # managed by Certbot ---> MONDOMAINE.FR A CHANGER
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

        if ($scheme != "https") {
                return 301 https://$host$request_uri;
        } # managed by Certbot

}

La première partie du fichier est "traditionnelle...

La deuxième partie Location / est plus spécifique. On peut y voir la configuration propre à WebDAV : dav_methods, dav_ext_methods, dav_access , ...

J'ai de plus protégé l'accès à mon répertoire avec un accès restreint, tout simple et très traditionnel, en créant premièrement un nouveau répertoire /et/nginx/passwd :

$ sudo mkdir -p /etc/nginx/passwd

... puis :

$ sudo htpasswd -c /etc/nginx/passwd/media_pass mumbly

Il n'y a plus qu'à rentrer le mot de passe associé à l'utilisateur mumbly. Si httpasswd ne fonctionne pas, installer le paquet suivant :

$ sudo apt install apache2-utils

Puis j'ai configuré une partie HTTPS avec certbot et le plugin --nginx. Je vous renvoie à mon post à ce sujet .

Une fois fait, on teste d'abord la config de Nginx avec :

$ nginx -t
Si tout est ok, on redémarre Nginx :
$ sudo /etc/init.d/nginx restart

Reste la partie "Bureau" sous XFCE et Thunar et ici rien de difficile. J'ai configuré cet accès sur un PC équipé de Xubuntu. Peut-être y aura t-il une "autre config" sous un autre système, je n'ai pas testé ailleurs.

Avec Thunar, on peut rentrer directement - dans la barre d'adresse - l'adresse de notre répertoire WebDAV de la manière suivante :

davs://mumbly@media.mondomaine.fr/FICHIERS # à adapter avec votre VRAI chemin ...

Voila ce que ça donne en "réel" sur mon PC :

Rendez-moi mes curseurs graphiques sous XFCE !

Rédigé par citizenz - - 1 commentaire

Je tourne sous ArchLinux sur un des mes PC à la maison et j'ai l'habitude d'utiliser XFCE qui est mon environnement de bureau préféré. J'ai aussi l'habitude d'utiliser le thème Numix et les icônes Numix.

Mais le Hic! c'est que, avec ce thème, certains curseurs graphiques disparaissent :

Sur l'image ci-dessus, les curseurs ont disparu pour les lignes taille, nb de lignes, largeurs.

En posant la question sur les forums d'archlinux.fr, sardon m'a donné la soultion :

sudo pacman -S gtk-engine-murrine

Et voila : tout rentre dans l'ordre après avoir installé gtk-engine-murrine :

Changement d'utilisateur dans XFCE + WhiskerMenu

Rédigé par citizenz - - Aucun commentaire

J'adore XFCE. Je l'utilise depuis de nombreuses années sous Linux (que ce soit sous Arch ou Debian... voir même Xubuntu).

J'ai l’habitude d'utiliser le WhiskerMenu XFCE (xfce4-whiskermenu-plugin 1.7.2-2 sous Arch au moment où j'écris ces lignes) : plus simple, plus complet, etc. que l'appli par défaut sous XFCE.
Par contre, le changement d'utilisateur ou même la configuration Utilisateur depuis ce menu ne sont pas "activées" ou fonctionnelles par défaut. Voici comment "améliorer" un peu les choses.

Pour la configuration utilisateur, il suffit d'installer "mugshot" que vous trouverez sur la plupart des distrib Gnu/Linux. Pour ma part, sous ArchLinux, je l'ai installé avec :

yaourt mugshot

Il est aussi important d'installer accountsservice :

yaourt accountsservice

Une fois fait, je peux changer la config utilisateur en cliquant simplement sur l'icone User du menu et j'obtiens ça :


On peut alors changer pas mal de détails et même ajouter un avatar qui sera d'ailleurs renommé en .face pour alimenter, par exemple, l'avatar de connexion sous lightdm...

L'autre petit ... "oubli" ? ... dans ce WhiskerMenu est le changement d'utilisateur. Il suffit de rentrer la commande suivante dans la ligne "Changer d'utilisateur" pour trouver son bonheur :

dm-tool switch-to-greeter

Fil RSS des articles de ce mot clé