Proxifié octoprint derriere un serveur apache

Suite à l’ajout d’une webcam sur notre octoprint, très vite nous avons voulu pouvoir contrôler à distance le résultat du travail. Sauf que… on a déjà un serveur web tournant sur une autre machine.

Deux méthodes sont alors possibles : soit rediriger l’accès via un autre port En utilisant des redirections dans la box internet via, par exemple 8080 => <adresse ip host octoprint:80>

Mais pas idéal quand on a un nom de domaine, et puis on oublie assez vite le numéro de port… Donc, je me suis basé sur le tutorial suivant, dans la version adapté à Apache.

https://discourse.octoprint.org/t/reverse-proxy-configuration-examples/1107

Mais… l’exemple indiqué ne fonctionne pas si apache est installé sur un autre poste que le raspberry pi.

Voici une version corrigée :

<Location /octoprint/>
ProxyPass http://<adresse ip host octoprint>/
ProxyPassReverse http://<adresse ip host octoprint>//
RequestHeader set X-SCRIPT-NAME /octoprint/
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule .* ws://<adresse ip host octoprint>/:80%{REQUEST_URI} [P]
</Location>

Samba et les liens extérieurs (wide links)

Dans les partages samba, il est parfois pratique de créer des liens linux pointant vers des dossiers hors du partage (par exemple, un share regroupant plusieurs données éparpillées sur plusieurs disques..)

La solution est alors de définir dans le share les options suivantes

[share] follow symlinks = yes wide links = yes

Oui mais voilà, samba est devenu râleur en version 3 :

log de samba :

Share 'share' has wide links and unix extensions enabled. These parameters are incompatible. Wide links will be disabled for this share.

Et pourtant, testparm est silencieux sur le sujet.

Bon… on va dire qu’on va forcer la main à samba et mettre « unix extensions = no » sauf qu’évidement, ça ne fonctionne pas… (oui, ça semblait logique pourtant!)

La solution est de forcer dans la section global les liens « non sécurisés »…

[global]
allow insecure wide links = yes

Voir la documentation (en anglais) sur le sujet :

https://www.samba.org/samba/docs/using_samba/ch08.html#samba2-CHP-8-TABLE-1

find ou la commande à tout faire

Sous linux, quand on cherche des fichiers, il existe la commande find.

Mais cette commande permet de réaliser plus que de simple recherches : elle permet également d’appliquer des outils directement sur les résultats de recherche.

ça paraît vague dit comme ça, mais cette commande est M*A*G*I*Q*U*E* et fait partie du BA-ba à connaître sous linux quand on est DevOps.

Continuer la lecture de « find ou la commande à tout faire »

Renommage en masse sous linux : rename

Edit du 19/01/2019 : suite au contact de Cyril Bois, je rajoute également son site pour les tests de RegEx.

Il existe plusieurs méthodes « petit barbu » pour traiter des renommages de masses sous linux en ligne de commande.
Deux commandes sont citées souvent rename et mmv. Cet article porte sur le premier 🙂

rename

Voici quelques exemples ‘simples’ d’utilisation de rename

A noter que pour tester les regex de « rename » on peut utiliser les sites suivants

Le second site contient également pleins d’outils sympathiques pour les CSS, JDOM…

Dans les exemples, l’option « -n » signifie noexecute, l’option -v = mode verbeux

  • Insérer un 0 au numéro de saison d’une série:
    Exemple :
    12 Monkeys/Saison 01/12 Monkeys – 1×13 Arms of Mine – IMMERSE.mkv ⇒ 12 Monkeys/Saison 01/12 Monkeys – 01×13 Arms of Mine – IMMERSE.mkv
find . -type f -name "*.mkv" -exec rename -v 's/(.*[[:space:]]+-)[[:space:]]+([0-9]{1})(x.*\.mkv)/$1 0$2$3/' {} \;
  • Supprimer la valeur  » – Sonarr » d’un fichier quelconque

Game of Thrones – 02×01 The North Remembers – Sonarr.mkv ⇒ Game of Thrones – 02×01 The North Remembers.mkv

 rename -n -v 's/(.*) - Sonarr(.*)/$1$2/' *
rename -n -v 's/(Game of Thrones - [0-9]+)x([0-9]+) -( .*\.[a-z]{2}\.srt)/$1x$2$3/' *.srt
  • Insérer un 0 supplémentaire dans les fichiers ayants deux chiffres finaux;

Exemple:
03 – Darth Vader and the Cry of Shadows #05-05.jpg ⇒ 03 – Darth Vader and the Cry of Shadows #05-005.jpg
Cas particulier, les fichiers avec trois chiffres ne doivent pas être modifiés, par Exemple
03 – Darth Vader and the Cry of Shadows #05-105.jpg => 03 – Darth Vader and the Cry of Shadows #05-105.jpg

rename -n -v 's/(.*)-([0-9]{2})(\.jpg)/$1-0$2$3/' *.jpg
  • renommer les fichiers « * – Txx  » en  » #xx »
  • Changer rapidement les extensions des fichiers
rename 's/\.zip$/\.cbz/' *.zip