You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Problème de droits sur le dossier /var/run/php.
Les sockets doivent pouvoir être accédés par tous les utilisateurs alternc.
0750 sur ce dossier ne permet pas ça.
J'ai changé les droits vers 0755.
Il existe peut-être une meilleure approche. Niveau sécurité, c'est peut-être pas bon de faire comme-ceci.
script php7-fpm appellé par le cron:
while ($db->next_record()) {
$version=substr($db->f("type"),3,1).".".substr($db->f("type"),4,1);
$user=$db->f("login");
$allpools[$version][]=$user;
if ($force || !is_file("/etc/php/".$version."/fpm/pool.d/".$user.".alternc.conf")) {
myecho("Creating php $version fpm pool for user $user");
$content=file_get_contents("/etc/alternc/templates/php/fpm-".$version);
$content=str_replace("%%LOGIN%%",$user,$content);
$account_root=ALTERNC_HTML . substr($user, 0, 1) . "/" . $user;
$content=str_replace("%%account_root%%",$account_root,$content);
$mail_account=$user."@".$L_FQDN;
$content=str_replace("%%mail_account%%",$mail_account,$content);
file_put_contents("/etc/php/".$version."/fpm/pool.d/".$user.".alternc.conf",$content);
$reload[$version]=$version;
}
}
On doit récupérer plusieurs variables à remplacer dans le template fpm.
// now delete pools we don't need anymore
foreach($allversions as $version) {
$d=opendir("/etc/php/$version/fpm/pool.d" );
while (($c=readdir($d))!==false) {
if (preg_match('#/?([^\.]*).alternc.conf$#',$c,$mat)) {
$user=$mat[1];
if (! isset($allpools[$version]) || !in_array($user,$allpools[$version])) {
echo("Deleting php $version fpm pool for user $user");
@unlink("/etc/php/".$version."/fpm/pool.d/".$user.".alternc.conf");
$reload[$version]=$version;
}
}
}
}
ajouté un ? dans le preg_match pour ne pas rendre le / obligatoire (je ne sais pas pourquoi on veut qu'il y ai un / à ce stade où si c'est juste une erreur),
"if (! isset($allpools[$version]) || !in_array($user,$allpools[$version])) {" -> rajouté un test isset pour éviter un mail avec un php notice
// now reloads php fpm versions
foreach($reload as $service) {
passthru("systemctl reload php".$service."-fpm");
}
plus sure pour redémarrer les service fpm. On a par exemple pas les scripts dans init.d pour toutes les versions fpm installées, ils n'étaient jamais redémarrés.
Avec tout ça, on a maintenant un php-fpm + certbot fonctionnels et les utilisateurs peuvent choisir la version php qu'ils veulent, c'est vraiment chouette.
The text was updated successfully, but these errors were encountered:
Quelques améliorations, corrections de bugs et une proposition de changement de présentation des options fpm dan l'interface Alternc.
Les propositions de changements liés à l'interface Alternc sont ici: AlternC/AlternC#351
Du côté du paquet alternc-php-fpm:
Exemple pour php7.0-fpm
Les sockets doivent pouvoir être accédés par tous les utilisateurs alternc.
0750 sur ce dossier ne permet pas ça.
J'ai changé les droits vers 0755.
Il existe peut-être une meilleure approche. Niveau sécurité, c'est peut-être pas bon de faire comme-ceci.
Avec tout ça, on a maintenant un php-fpm + certbot fonctionnels et les utilisateurs peuvent choisir la version php qu'ils veulent, c'est vraiment chouette.
The text was updated successfully, but these errors were encountered: