Ich habe leider vergessen es, bei der Installation mit auszuwählen, kann aber ohne das Paket bestimmte Javascript-Funktionen im Browser nicht ausführen, die Localhost benötigten.
Cockpit habe ich installiert, und das läuft auch, falls es für die Installation benötigt wird.
Sind folgende Kommandos korrekt (so recherchiert), und fehlt ggf. noch etwas?
Wenn ich mich nicht irre:
Eigentümer von …/htdocs und index.html ist root, erst die darunterliegenden Verzeichnisse gehören wwwrun/www.
Leg doch mal eine phpinfo.php in das htdocs-Verzeichnis und rufe das Script auf.
$ namei -l /srv/www/htdocs
f: /srv/www/htdocs
drwxr-xr-x root root /
dr-xr-xr-x root root srv
drwxr-xr-x root root www
drwxr-xr-x root root htdocs
# Alle Files in htdocs gehören user1:user1, der einzige Benutzer auf dem System.
# localhost:/var/log/apache2
$ tail error_log
[Tue May 05 11:50:52.591990 2026] [core:error] [pid 13376:tid 13376] (13)Permission denied: [client 127.0.0.1:54446] AH00035: access to /phpinfo.php denied (filesystem path '/srv/www/htdocs/phpinfo.php') because search permissions are missing on a component of the path
Ich habe diesen und diesen Artikel gefunden, komme aber dennoch nicht weiter.
Ich habe gesehen, dass der File /etc/hostname leer ist.
Auf einem anderen Leap-16.0-Rechner, bei dem im Zuge der Installation ein erster Benutzer mit Root-Rechten und ein Root-Passwort anglegt wurde, gibt es keine Probleme.
Bei dem Rechner mit den Problemen wurde der erste Benutzer erst nach der Installation als normaler Benutzer ohne Root-Rechte angelegt . Vielleicht hakt es deswegen irgendwo.
Auf dem fehlerfrei arbeitenden Rechner zeigt namei -l /srv/www/htdocs das gleiche Ergebnis wie auf dem mit den Fehlern, und es liegen Files von zwei weiteren Benutzern in htdocs, die im Browser aufgerufen werden können.
Ich habe mal das Verzeichnis /etc/apache2 mit Kompare verglichen, und es wurde keine Unterschiede angezeigt.
-rw-r--r--. 1 user1 user1 72 5. Mai 12:56 index-user1.html
-rw-r--r--. 1 user1 user1 33 5. Mai 12:57 index-user1.php
-rw-r--r--. 1 user2 user2 70 5. Mai 13:28 index-user2.html
-rw-r--r--. 1 user1 user1 33 5. Mai 12:58 phpinfo.php
Ich habe außer dem bereits existierenden, nach der Installation angelegten Benutzer user1 (ohne Root-Rechte), dem fast alle Files in htdocs gehören, einen weiteren Benutzer mit normalen Rechten und ein weiteren Benutzer mit Root-Rechten angelegt und für diese zwei weitere phpinfo.php-Files angelegt:
# /srv/www/htdocs
$ ls -l phpin*
-rw-r--r--. 1 user1 user1 20 5. Mai 09:26 phpinfo1.php
-rw-r--r--. 1 user2 user2 20 5. Mai 14:14 phpinfo2.php
-rw-r--r--. 1 user3 user3 20 5. Mai 14:18 phpinfo3.php
Ergebnis:
phpinfo1.php wird so wie bisher nicht angezeigt im Browser
phpinfo2.php wird angezeigt (neuer User mit Root-Rechten)
phpinfo3.php wird ebenfalls angezeigt (neuer User ohne Root-Rechte, also eigentlich so wie user1).
Ich benutze SELinux nicht, aber ich habe hier verschiedene Topics gelesen wo das ein Problem war. Auch mit Apache. Daher meinte ich das darauf hinweisen Nützlich sein dürfte.
Anscheinend hast du entdeckt das du Selinux benutzst. Dan solltest du auch erfinden können wie das zeitweise zum testen auszuschalten.
Files in htdocs, die von user1 vorhanden sind, werden auch nicht angezeigt, wenn man die Rechte an andere User inkl. Root vergibt.
Dasselbe gilt, wenn man neue Files im Home-Verzeichnis von user2 und user3 anlegt und sie dann mittels sudo nach htdocs verschiebt.
Erzeugt man Files jedoch in htdocs mit Root und vergibt die Rechte dann an user1, user2 oder user3, werden sie angezeigt.
Ist das normal? Oder habe ich da irgendetwas nicht verstanden? Die Rechte und Eigentümer sind ja gleich, ob man sie in home erzeugt und verschiebt oder direkt in htdocs erzeugt und die Rechte ändert.