Archives de la liste h​e​b​e​r​g​e​m​e​n​t​@p​a​h​e​k​o​.c​l​o​u​d​

Installation de Paheko en multi-sites

BohwaZ/Paheko

30/12/2023 23:51:37

Je remet la discussion sur hebergement@ car ça ne sert à rien que je
réponde aux gens en privé si ça ne peut pas servir à d'autres personnes
plus tard :)

Pour les permissions, c'est pas compliqué :

1. il faut que ton serveur web puisse lire les fichiers statiques
(CSS, JS, etc. ils sont tous dans www/). Le serveur web n'écrit pas de
fichiers normalement, c'est PHP qui écrit.
2. il faut que ton PHP (FPM j'imagine ?) puisse lire tous les fichiers,
et lire et écrire dans DATA_ROOT, et CACHE_ROOT s'il n'est pas dans
DATA_ROOT bien sûr.

Je ne sais pas dans ta config quels sont ces utilisateurs, normalement
le premier est www-data, le second j'imagine que c'est paheko ?

Du coup je recommanderais ça :

chown -R paheko:www-data /var/www/paheko

# Ne pas donner le droit de lire des fichiers au serveur web en dehors
# de www
chmod -R u=rX,g=X,o= /var/www/paheko
chmod -R u=rX,g=rX,o= /var/www/paheko/www

chown -R paheko:www-data /home/yunohost.app/paheko/data
chmod -R u=rwX,g=,o= /home/yunohost.app/paheko/data

Note : si tu utilises Apache + cache web ou X-SendFile, il faut aussi
que le serveur web ait aussi le droit de lire les fichiers de
CACHE_ROOT :

chmod -R g=rX /home/yunohost.app/paheko/data

Perso je met tous les fichiers comme appartenant à paheko, et je
rajoute ensuite un ACL (avec setfacl) pour que www-data ait le droit de
lire certains fichiers, je trouve ça plus propre. Mais j'imagine
qu'avec les groupes ça doit marcher aussi :)

> Et dans le dossier /home/yunohost.app/paheko/data, j'ai ajouté dans
> la future upgrade un fichier config.local.user.php où pourront être
> rajouté des configurations personnelles qui ne seraient pas écraser
> avec une mise à jour (en bas du fichier config.local.php il y aura
> une ligne `require
> '/home/yunohost.app/paheko/data/config.local.user.php';`).

Oui c'est une bonne idée :)

> Par exemple, j'ai tester une
> personnalisation dans le fichier
> /home/yunohost.app/paheko/data/config.local.user.php
> 
> |const FILE_STORAGE_BACKEND = 'FileSystem'; const
FILE_STORAGE_CONFIG
> = DATA_ROOT . /files';|
> 
> Réultat, ça fonctionne mais le dossier a des permissions paheko:paheko

Oui c'est normal.

Si tu veux que les permissions soient les même pour les dossiers créés
dedans, il faut utiliser setgid :
https://unix.stackexchange.com/questions/115631/getting-new-files-to-inherit-group-permissions-on-linux

Après comme on l'a vu, si tu n'utilise pas X-SendFile, le serveur web
n'a pas besoin d'avoir accès au répertoires data et cache.

> Autre chose qui me chiffonne, mais ne pas y prêter plus
> d'attention... à propos des envois emails
> 
> J'ai toujours aussi été obligé pour que l'envoi des mails fonctionne

> dans la config du SMTP de garder  const SMTP_SECURITY = 'STARTTLS';
>
> Ceci dit ça fonctionne ainsi, sur 2 instance en production, j'envoie 
> bien les mails avec le cron.php...

Si ça fonctionne, y'a pas de problème non ? :)

Cette config dépend de ton serveur SMTP, je ne peux pas la connaître
moi :)

Bonnes fêtes !