[Galette-discussion] Galette sur Synology [ was: 404 après mise à jour 0.9.5.1 - impossible d'utiliser Galette ]

[ Thread Index | Date Index | More lists.galette.eu/users Archives ]


Bonjour,

merci Johan de m’avoir orienté !

Pour mémoire (archives de la liste) :
Galette fonctionne sur Synology WebStation avec Nginx moyennant un petit ajout. 
Recette ci-après :

Synology gère les virtual hosts de WebStation avec des répertoires identifés par GUID, et des include un peu partout. Autant dire que la navigation n’est pas facile dès qu’on quitte le confort de l’interface GUI.

Déployer les fichiers de galette dans un Shared Folder (chez moi c’est « Galette »).
Installer le paquet WebStation.
Créer un profil PHP (pour le coup, PHP 7.4 est la version maximale actuellement disponible en novembre 2021). J’aime bien créer un « Galette »  pour pouvoir jouer avec sa configuration (modules etc…) sans toucher au reste du système.
Créer un « Portail de services »  pour Galette dont la racine est Galette/webroot . (Pour mémoire, je ne m’encombre pas de résolution DNS, je définis seulement les ports d'écoute 8033/8034 ). WebStation va faire joujou avec les permissions des fichiers, laisser faire.
Assigner le profil PHP « Galette » à ce Virtual Host.

ET ** c’est là que tout se joue **

via la CLI (ssh) il faut :

Identifier le GUID de WebStation : ls -lH /etc/nginx/sites-enabled/*vhost*  (tous les services Synology sont aussi dans ce répertoire puisqu’ils tournent sur nginx, ça charge un peu la lecture…)

DANS le fichier .w3conf pointé par le lien symbolique repéré, repérer la section « server » qui correspond à notre virtual host. Pour moi, c’est la section avec les directives "listen 8033 ».

A l’intérieur de cette section, à la fin se trouve une directive « include /usr/local/etc/nginx/conf.d/__GUID__/user.conf*; ».

Reste à créer un fichier dont le nom commence par user.conf à l’intérieur du répertoire /usr/local/etc/nginx/conf.d/__GUID__/ , et qui contient :

location / {
        try_files $uri $uri/ @galette;
    }
location @galette {
        rewrite ^(.*)$ /index.php last;
    }
location ~ /(data|config|lib)/ {
        deny all;
    }

Et voilà. Dans mon exemple, accéder à http://diskstation.local:8033, et bonne Galette !

NB :
J’ai trouvé des directives spécifiques pour Nginx dans cette page :
https://doc.galette.eu/fr/master/installation/preparation.html

Malheureusement il y a une erreur dans l’exemple donné, doublée d’une suggestion qui pose problème dans cet environnement Synology.
Il faut donc supprimer la directive 
location ~ \.php$ {
   include snippets/fastcgi-php.conf;
   # You may have to adapt this path, depending on your distribution.
   fastcgi_pass unix:/var/run/php7.0-fpm.sock; 
}

car 
a) il n’existe pas de snippets/fastcgi-php.conf dans l’arborescence de galette (0.9.5.1 en tout cas) ?!
b) il ne faut surtout pas spécifier un fastcgi_pass ici, car il est géré par WebStation dans son fichier de configuration du virtual host (c’est le fameux « Profil PHP » )

Merci pour votre attention à ceux qui ont eu le courage d’aller au bout de ce mail-documentation !

P.S: 
Johan, j’ai bien conscience que je _devrais_ faire une PR pour mettre à jour la doc. 
Seulement, quand j’ai jeté un oeil à ladite doc, j’ai pris peur devant son format.
A toi de voir si tu penses que la recette ci-dessus mérite sa section de documentation. Je pense que oui, mais je ne saurai pas faire. (A titre personnel je trouve que c'est dommage que la doc ne soit pas dans un format moins « developer-oriented » , genre Wiki. Mais je comprends, je pense, l’historique des décisions.)

Cordialement
Thierry

> Le 30 oct. 2021 à 10:24, Johan Cwiklinski <johan@xxxxxxxx> a écrit :
> 
> Salut,
> 
> Le 29/10/2021 à 00:53, Thierry Marc Mouchaud a écrit :
>> Bonjour,
>> 
>> je sèche sur la mise à jour à Galette 0.9.5.1 .
>> Mon instance de départ est une 0.9.4 qui fonctionne très bien, sur PHP
>> 7.2.34 . C’est un virtual host nginx qui écoute sur le port 8033.
>> J’ai copié l’arborescence de Galette 0.9.5.1 depuis l’archive tar.bz2
>> directement dans mon répertoire galette existant.
>> Puis accédé à l’instance pour être accueilli par un message d’erreur qui
>> me dit que Composer demande PHP >= 7.3 .
>> Donc je crée un virtual host associé à un environnement PHP 7.4
>> (phpinfo() ci-joint) , dont le répertoire racine est _le même_ , et qui
>> écoute sur le port 8888.
>> Quand j’accède à ce virtual host, j’ai une page 404 .
>> 
>> Que puis-je faire pour que Galette fonctionne ?
>> Merci pour votre aide !!!
>> 
>> Les informations pertinentes (j’espère) :
>> 
>> Dans le errors.log de nginx :
>> 
>> 2021/10/29 00:32:44 [error] 11431#11431: *32073 open()
>> "/volume1/Galette/webroot/login" failed (2: No such file or directory),
> 
> Tout ça ressemble à un problème de redirection (si je ne m'abuse, ce
> n'est pas la première fois que tu as le problème).
> 
> N'y connaissant rien en nginx, je ne peux pas trop aider... Rien n'a
> changé de ce côté dans Galette ; en utilisant les URLs sans redirection
> ça devrais fonctionner (vois dans les archives de la liste, j'ai déjà
> donné les indications pour ça).
> 
> ++
> -- 
> Johan
> 
> -- 
> Galette users discussions
> 
> https://galette.eu - https://doc.galette.eu
> http://bugs.galette.eu/projects/galette/
> 
> List documentation: https://listengine.tuxfamily.org/lists.galette.eu/users/


--
Galette users discussions

https://galette.eu - https://doc.galette.eu
http://bugs.galette.eu/projects/galette/

List documentation: https://listengine.tuxfamily.org/lists.galette.eu/users/


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/