[FRAMAPAD] Installation sur serveur local avec droits limités

Bonjour,
je tente une installation de FRAMAPAD sur une VM CentOS 7 sur réseau Intranet.
Il y a un proxy configuré qui semble fonctionner, par contre, je n’ai pas la possibilité de créer un véritable user, i.e. pas de répertoire /home/etherpad.
J’ai contourné le premier obstacle en décompressant l’archive sous /opt/etherpad
Mais l’installation des dépendances par NPM coince car il ne peut pas créer un répertoire sous /home/etherpad.
C’est donc plutôt un souci de conf NPM, savoir comment lui faire créer et utiliser un répertoire local ailleurs que sous la /HOME directory.
Est-ce que l’un d’entre vous aurait eu le même souci, ou saurait faire, ou une piste?
Merci!

P.S.: je dois pouvoir utiliser mon compte utilisateur, mais je préférerais pouvoir lancer le service avec un utilisateur spécifique sans aucun privilège ou accès à d’autres machines du réseau.[EDIT] => j’ai testé avec mon compte utilisateur pour vérifier le reste : cela fonctionne, i.e. je peux créer un pad et le retrouver, le partager, par contre il ne semble pas écrire dans ma base MySQL dédiée (normale, elle appartient à ‘etherpad’)

Autre point, quand j’essaie d’accéder à la page d’administration, il reconstruit l’url en rajoutant un préfixe ‘www.’ et suffixe ‘.com’, aussitôt bloqué par le filtre de sécurité de la DSI.
Où peut-on configurer cette réécriture d’URL?
Merci pour toute piste!

La machine visée a-t-elle un nom (genre “mamachine”) et vous saisissez ce nom là ?
Si oui, il se peut que ce soit le navigateur qui rajoute ces préfixe et suffixe. Il faut signaler l’adresse IP de la machine si le DNS interne du réseau ne la connait pas…

Oui, tout à fait, je passe par le nom de la machine, qui est bien définie dans le DNS interne. C’est d’ailleurs ainsi que j’accède aux autres services, framadate, ‘framapad’, phpMyAdmin, etc…
Mais j’ai constaté que ma machine avait deux adresses IP différentes, et toutes deux différentes de celle attribuée quand je suis directement sur le réseau usine : c’est peut-être encore un coup du VPN (je suis ce jour en télétravail), je vérifie demain.
Merci!

[EDIT] : je rajoute une précision = quand je passe par http://mamachine:9001/admin, il m’ouvre la console d’authentification, et c’est une fois avoir entré les identifiants qu’il me redirige vers cette URL reconstruite.

Peut-être essaie-t-il de sécuriser le transport en cherchant du https, ou bien vire-t-il le port (9001) lors de la redirection ?

J’ai prévu de passer en https, en utilisant les certificats de la boite, mais dans un second temps.
A priori, le port reste le 9001. Par contre, contrairement à ma première impression, il ne semble pas reconnaître mes identifiants, pourtant inscrits en clair dans settings.json.

En relisant le tutoriel, je me souviens que j’ai été contraint de zapper la phrase complexe pour le mot-clé “sessionKey”, simplement car je ne l’ai pas trouvé dans le fichier settings.json [EDIT] : j’ai parcouru les settings.json.template des différentes release de Etherpad, et cela fait un bail qu’il n’y a plus de paramètre sessionKey, c’est le tuto qui doit dater. En plus, c’est utilisé pour gérer les reconnections, et ça fonctionne nickel. Pour info, je me suis limité à la version 1.7 pour rester compatible de la distro installée.

ça plus le fait que :

  • la page d’accueil est ultra sobre, aucune référence à Framapad,
  • aucune entrée dans mon MySQL (il reste en DirtyDB)

Tu as utilisé quelles sources ? Parce que Framapad repose sur Etherpad. Je ne sais pas si Framasoft mets à disposition les « p’tites modifs de présentation » que l’asso fait en installant les logiciels.

Effectivement, j’ai vu que la personnalisation était à part. J’ai utilisé les sources fournies sur le Git de Etherpad. En fait, ma référence est Framadate, qui a été vraiment repris par Framasoft.

Sinon, ce matin, du bureau, j’ai accès au module admin, c’était donc bien une particularité du VPN.

Je vais voir pour l’accès à ma base MySQL, il y a quelques incohérences dans les divers tutos, sans doute en partie par obsolescence. Il faudrait que je fasse une installation neuve dans un environnement plus standard et que je soumette une autre version du tuto…

[EDIT] et il manque la façon simple de transformer le process utilisateur en service lancé au démarrage…

Je viens de voir ici https://help.ubuntu.com/community/Etherpad-liteInstallation :

sudo adduser --system --home=/opt/etherpad --group etherpad

ça pourrait être la solution, associer le home à /opt/etherpad qui correspond aussi au répertoire d’installation… Avec tout ce que j’ai bricolé, je me demande si je n’ai pas intérêt à tout virer et repartir de zéro… Un avis?
Merci.

En général j’aime bien faire une première installation sur une machine que je peux nettoyer après :wink:

Hum… j’ai tenté… cela ne fonctionne plus! :woozy_face:

Cette fois, il a chargé les plugins… qui avaient été installés avec mes identifiants! Mais impossible d’ouvrir un pad… cela plante carrément le process! Et quand je le relance, j’ai accès sans authentification à la console admin! :upside_down_face:

De même, il a bien créé un dossier .npm sous /opt/etherpad, mais il est vide, alors qu’il vaiat chargé 63Mo de données dans le .npm de ma home… ?

Bon je fouille encore un peu puis je recommence tout de zéro!

Bon, j’ai refait partiellement l’installation en supprimant les modules node_modules (rm -fR src/node_modules puis bin.run.sh).
Cela ne change pas le comportement… :roll_eyes:

J’ai un warning sur l’absence d’un git local et surtout une erreur :

[ERROR] console - { Error: getaddrinfo ENOTFOUND static.etherpad.org static.etherpad.org:443
at errnoException (dns.js:28:10)

Après investigation, j’ai bien un truc qui pointe sur cette adresse :

grep -ri ‹ static.etherpad.org › *
src/static/js/pluginfw/installer.js: request(« https://static.etherpad.org/plugins.json », function(er, response, plugins){

Un avis? Ou modifier cette requête? Rappel : machine sans accès à internet.
Merci!