Apache folgt keinen symbolischen Links | 403 Berechtigung verweigert

Apache folgt keinen symbolischen Links | 403 Berechtigung verweigert

ich verwende Ubuntu 14.04 und habe ein Problem mit der Apache-Konfiguration:

Ich habe einen Symlink in /var/www/html(dem Apache DocRoot seit Ubuntu 14.04) erstellt./home/me/myWebDirectory

  • cd /var/www/html
  • ln -s /home/me/myWebDirectory myWebDirectory

sondern localhost/myWebDirectorymacht eine

403-Berechtigung verweigert

und gibt tatsächlich sudo -u www-data ls /home/me/myWebDirectoryauch eine verweigerte Berechtigung zurück

apache2.conf hatte folgende Anweisung:

    <Directory /var/www>
           Options Indexes FollowSymLinks
           AllowOverride None
           Require all granted
 </Directory>

ich habe es geändert für<Directory /var/www/html>

aber kein Ergebnis.

meich habe versucht, den Benutzer www-data groupmit dem folgenden Befehl hinzuzufügen , aber das hat auch nicht geholfen:sudo usermod -a -G www-data me

was vermisse ich??

BEARBEITEN: ich habe die Gruppe /home/me/myWebDirectoryin www-Daten mit RX-Rechten geändert, aber auch ohne Erfolg ...

Anmerkung 1:ich weiß, dass es eine andere Möglichkeit gibt, dies zu tun, indem ich das Apache-Mod_Userdir aktiviere, und das werde ich wahrscheinlich als Nächstes tun. Aber zuerst möchte ich verstehen, wie diese „einfache“ Lösung funktioniert …

Anmerkung 2:ich weiß auch, dass ich einen virtuellen Host usw. erstellen könnte, aber ich möchte zunächst verstehen, warum diese einfache (erste und vorübergehende) Lösung nicht funktioniert …

Antwort1

Was die Berechtigungen angeht, haben Sie es meiner Meinung nach falsch verstanden. Das Hinzufügen eines Benutzers mehilft www-datanicht, Sie sollten den Apache-Benutzer zur meBenutzergruppe hinzufügen.

Auch wenn Sie nur die Gruppenrechte von geändert haben /home/me/myWebDirectory, reicht das nicht aus, wenn /home/mefür die Gruppe kein Zugriff möglich ist www-data. Stellen Sie sicher, dass Benutzer mit www-datader Gruppe das Verzeichnis selbst aufrufen können /home/me.

Für einen detaillierteren Ansatz schauen Sie sich an:POSIX-ACL.

Antwort2

apache2 muss vom Anfang des Verzeichnispfads an lesen können

sudo chgrp www-data /home/username

füge die Gruppe „WWW-Daten“ zum Benutzernamen hinzu

sudo useradd -g www-data username

und ab- und anmelden... hat bei mir geklappt

Wenn es immer noch nicht funktioniert, verwenden Sie

sudo chgrp www-data /home/username

versuch mal, dich ab- und wieder anzumelden... sollte klappen

verwandte Informationen