Seite 1 von 1
[3.3] Bei Installation kam die Meldung "chgrp(): Operation not permitted"
Verfasst: 04.11.2023 13:43
von chris1278
Ich habe auf einem Server testweise mal phpbb 3.3.11 installiert unter php 8.1.
Die installation lief soweit ohne Probleme auch das Forum lies sich danach normal laden allerdings kam während der installation dieser fehler in Orangem Kasten:
Code: Alles auswählen
[phpBB Debug] "chgrp(): Operation not permitted" in file /usr/www/users/monzaz/probe/vendor/symfony/filesystem/Filesystem.php on line 257
Dateien wurden alle wie immer im binär modus und korrekt hochgeladen.
Re: [3.3] Bei Installation kam die Meldung "chgrp(): Operation not permitted"
Verfasst: 04.11.2023 14:58
von Scanialady
WIE hast du das hochgeladen - über FTP oder über ein Tool auf dem Server? Oder es womöglich auf Serverebene erst entpackt?
Hier gibts offenbar unterschiedliche Gruppen auf Serverebene (mit unterschiedlichen Rechten), wenns von PHP aus oder von FTP aus arbeitet. Stichwort (Fast)CGI / FPM
Re: [3.3] Bei Installation kam die Meldung "chgrp(): Operation not permitted"
Verfasst: 04.11.2023 15:02
von chris1278
Also ich habe es ganz normal via FileZilla hochgeladen wie ich das immer mache. Aber ich hab jetzt mal im Forum recherchiert da gab es was ähnliches wo der ftp User die falschen Rechte hatte. Ich habe es jetzt mal mit dem Haupt-Ftp Nutzer hochgeladen und werde mal testen. Der sollte ja die richtigen Berechtigungen haben sonst müsste ich mal bei Hetzner in kontakttreten da dies dann ja ein Fehler des Hosters ist.
Werde nach Test berichten.
@edit
Ok das hat es auch nicht gelöst. Dann werde ich mal später testweise das Skript ausprobieren welches in dem einen Beitrag war.
Re: [3.3] Bei Installation kam die Meldung "chgrp(): Operation not permitted"
Verfasst: 04.11.2023 16:44
von LukeWCS
Hey Chris
Wenn der FTP Benutzer in einem anderen Gruppen-Kontext läuft als phpBB selber, dann könnte das zu solchen Rechteproblemen führen. Läuft da vielleicht PHP als Apache Module?
Re: [3.3] Bei Installation kam die Meldung "chgrp(): Operation not permitted"
Verfasst: 04.11.2023 18:02
von chris1278
Keine Ahnung der Anbieter ist hetzner. Die Oberfläche der Hosting Einstellungen sind naja nicht sehr übersichtlich.
Re: [3.3] Bei Installation kam die Meldung "chgrp(): Operation not permitted"
Verfasst: 04.11.2023 20:34
von LukeWCS
Okay, das kannste auch direkt im ACP ermitteln:
ACP > ALLGEMEIN > PHP-Information
oder
ACP > SYSTEM > PHP-Information
Dann schau mal bitte was da bei "Server API" angezeigt wird.
Re: [3.3] Bei Installation kam die Meldung "chgrp(): Operation not permitted"
Verfasst: 05.11.2023 00:32
von chris1278
Da steht das hier:
https://prnt.sc/nFjnTfyRHMJY
CGI/FastCGI
@edit
Ok ich konnte das Problem beheben so wie es in dem einen thema beschrieben wurde mittels des Skriptes:
Hier in dem Beitrag findet ihr das Skript welches ich benutzt habe:
viewtopic.php?p=1421655#p1421655
@edit
Hab das Skript mal was angepasst so das man eigentlich nur das ganze in ne php datei pake muss und aufrufen:
Code: Alles auswählen
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Formular</title>
</head>
<body>
<?php
// Variable $verzeichniss einen Wert zuweisen (Wenn das Formular
// gesendet wurde, enthält die Variable die Eingabe des Benutzers)
$verzeichniss = isset($_POST["verzeichniss"]) ? $_POST["verzeichniss"] : "";
$group = isset($_POST["group"]) ? $_POST["group"] : "";
$vz1 = $_SERVER['CONTEXT_DOCUMENT_ROOT'];
$group1 ='users';
// Formular erstellen
echo '
<form action="" method="post">
Gib nachfolgend das Verzeichnis an welches du die Rechte ändern möchtest (Es wird vorgewählt das Öffentliche Rootverzeichns der aufgerufenen Domain ): <br><br>
Verzeichniss: <input type="text" name="verzeichniss" value="' . $vz1 . '"><br><br>
Gib nachfolgend ein welchen namen du der zu erstellen Gruppe geben möchtest oder lasse einfach die Voreinstellungen:<br><br>
Gruppenname: <input type="text" name="group" value="' . $group1 . '"><br><br>
<input type="submit" name="test">
</form>';
if (!empty($verzeichniss) && !empty($group))
{
// Setze die Gruppe für das Verzeichnis und alle darin enthaltenen Unterordner auf den neuen Wert
if (chgrp($verzeichniss, $group) && chmod($verzeichniss, 02775))
{
$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($verzeichniss), RecursiveIteratorIterator::SELF_FIRST);
foreach($objects as $name => $object)
{
chgrp($name, $group);
chmod($name, 02775);
}
echo 'Gruppe für ' . $verzeichniss . ' und alle darin enthaltenen Unterordner wurde auf ' . $group . ' gesetzt.';
}
else
{
echo 'Fehler beim Setzen der Gruppe für ' . $verzeichniss . ' und alle darin enthaltenen Unterordner.';
}
}
?>
</body>
</html>
INFO: Das Voreingestellte Verzeichniss ist immer das Root verzeichniss welches bei direkter eingabe der Domain aufgerufen wird. Dabei ist egal ob es um Haupt oder subdomain geht.