Frage Korrigiere Berechtigungen für / var / www und wordpress


Ich habe einen LAMP-Server eingerichtet und ich habe Zugriff über SSH und auf die "it works" -Seite von einem Webbrowser aus innerhalb meines Netzwerks (über IP-Adresse) und von außen mit dyndns.

Wir haben einige Wordpress-Projekte, die in Unterverzeichnissen in / var / www / wordpress1 / var / www / wordpress2 usw. sitzen. Ich kann nicht auf diese Unterverzeichnisse von einem Browser aus zugreifen, um WP einzurichten - oder (nehme ich an) Inhalt in einem Browser. Ich erhalte einen 403-Verboten-Fehler in meinem Browser.

Ich nehme an, dass dies ein Berechtigungsproblem ist. Können Sie mir bitte die richtigen Einstellungen für die Berechtigungen mitteilen?

  1. Erlaube den Entwicklern und mir zu lesen / schreiben.
  2. um WP einzurichten und seine Sache zu machen
  3. Besuchern den Zugriff auf die Website (n) über das Internet ermöglichen.

Ich sollte auch erwähnen, dass der Unterordner tatsächlich Simlinks zu Ordner auf einer anderen internen Festplatte sind - ich glaube nicht, dass dies einen Unterschied machen wird, aber ich dachte, ich sollte offen legen.

total 12
drwxr-xr-x  2 root root 4096 2012-07-12 10:55 .
drwxr-xr-x 13 root root 4096 2012-07-11 20:02 ..
lrwxrwxrwx  1 root root   43 2012-07-11 20:45 admin_media ->     /root/django_src/django/contrib/admin/media
-rw-r--r--  1 root root  177 2012-07-11 17:50 index.html
lrwxrwxrwx  1 root root   14 2012-07-11 20:42 media -> /hdd/web/media
lrwxrwxrwx  1 root root   18 2012-07-12 10:55 wordpress -> /hdd/web/wordpress

Hier ist das Ergebnis der Verwendung chown -R www-data:www-data /var/www

total 12
drwxr-xr-x  2 www-data www-data 4096 2012-07-12 10:55 .
drwxr-xr-x 13 root     root     4096 2012-07-11 20:02 ..
lrwxrwxrwx  1 www-data www-data   43 2012-07-11 20:45 admin_media -> /root/django_src/django/contrib/admin/media
-rw-r--r--  1 www-data www-data  177 2012-07-11 17:50 index.html
lrwxrwxrwx  1 www-data www-data   14 2012-07-11 20:42 media -> /hdd/web/media
lrwxrwxrwx  1 www-data www-data   18 2012-07-12 10:55 wordpress -> /hdd/web/wordpress

Ich kann immer noch nicht über den Browser zugreifen.


37
2017-07-12 16:47


Ursprung


Bitte posten Sie die Ausgabe des Befehls ls -la /var/www. - SirCharlo
Bitte geben Sie diese Information in Ihre Frage ein! - Jorge Castro
OK, ich brauchte eine Sekunde, um mich daran zu erinnern, wie man Code schreibt ... - dpbklyn
Ok, gut versuchen chown -R www-data:www-data /var/www - SirCharlo
Ich denke, Ihr Problem besteht jetzt darin, dass Sie Links verwenden. Apache wird keine Links folgen. Was Sie tun würden, ist diese Dateien nach / var / www zu verschieben und Apache zu konfigurieren, um vitrualhosts zu verwenden. Sehen help.ubuntu.com/10.04/serverguide/httpd.html Alternativen, wenn Sie verwenden möchten /hdd/web/wordpress wäre Apache (Root-Verzeichnis) richtig zu konfigurieren. Sie können Apache für die Verwendung von Links konfigurieren, aber ich rate davon ab. Siehe auch help.ubuntu.com/community/WordPress - Panther


Antworten:


Zuerst sollten Sie sicherstellen, dass Ihr Benutzername in enthalten ist www-data Gruppe. Wenn nicht, können Sie Ihren Benutzernamen als hinzufügen www-data Gruppe

sudo adduser $USER www-data

Danach sollten Sie den Besitz von / var / www auf Ihren Benutzernamen ändern

sudo chown $USER:www-data -R /var/www

Nächster Schritt, für die allgemeine Praxis, Sie sollten die Berechtigung auf 755 (rwxr-xr-x) ändern, nicht empfehlen, die Berechtigung aus Sicherheitsgründen auf 777 zu ändern

sudo chmod u=rwX,g=srX,o=rX -R /var/www

Bezüglich spezifische Erlaubnis zum Wordpress oder Laravel oder ein anderes Framework, dann können Sie die Dokumentation lesen.

Ich hoffe es hilft...


75
2017-10-30 10:37



funktionierte nicht für mich, ich füge hinzu sudo chown www-data:www-data -R mywordpressdirectory/ - Louis
Nachdem Sie die Eigentumsrechte geändert haben, sollten Sie auch die Berechtigung ändern. Hast du deine Erlaubnis auf 755 geändert? - metamorph
Er tat mit chmod. Er ändert die Berechtigung mit Sticky Bits auf 755 (um neue Dateien im Besitz von www-Daten zu behalten). - Zachary Dahan
Die beste Erklärung, die ich finden konnte, kurz und bündig. Vielen Dank. - Banago
Daher können Sie Plugins / Themes nicht im Admin-Panel installieren / entfernen, da WordPress keine Schreibberechtigung hat. - Igor Skoldin


Anscheinend wird dies im Ubuntu Server Guide empfohlen:

Kapitel 11. Webserver.

1.4. Freigabe der Schreibberechtigung

Damit mehr als ein Benutzer in dasselbe Verzeichnis schreiben kann, ist es notwendig, Schreibzugriff zu gewähren Erlaubnis für eine Gruppe, die sie teilen. Im folgenden Beispiel wird die Berechtigung zum gemeinsamen Schreiben erteilt nach / var / www / html zur Gruppe "Webmaster"

ich benutze www-Daten.


3
2018-05-28 14:00



1) das setzt Setgid-Bits auf Dateien. Sieht seltsam aus, macht nichts, öffnet Sicherheitsprobleme, wenn Benutzer Dateien ausführbar machen und ausführen können. Aber wenn Sie mit Setgid für Dateien zufrieden sind, ersetzen Sie komplex finds mit nur sudo chmod -R g=srwX /var/www/html. - temoto
2) find -exec chmod erstellt für jede Datei ein separates Programm, das zeitraubend ist und unnötigen Druck auf das System ausübt, wenn Sie viele Dateien haben. Lösung: sudo find /var/www/html -type f -print0 |sudo xargs -0 chmod g=rw. xargs versucht, so viele Dateipfade wie möglich einer einzelnen Instanz von chmod. - temoto


Überprüfen Sie, ob Apache über Ausführungsrechte verfügt /hdd/web/media und /hdd/web/wordpress.

Lauf:

chmod o+x /root /root/site /root/site/about

Darüber hinaus muss Apache so konfiguriert werden, dass der Zugriff auf das Verzeichnis im Dateisystem möglich ist. Dies muss von einem Systemadministrator durchgeführt werden, indem eine Direktive in die Apache-Konfigurationsdateien (httpd.conf) eingefügt wird.

Da das reale Verzeichnis innerhalb des Webstamms liegt, muss es zugänglich sein, aber FollowSymLinks wurde möglicherweise nicht für das Verzeichnis aktiviert - dies muss auch der Direktive hinzugefügt werden.

Sehen http://httpd.apache.org/docs/2.0/mod/core.html#Verzeichnis


0
2017-07-13 04:49



Danke allen ... Ich habe mich entschieden, den Weg des geringsten Widerstandes zu gehen ... die Symlinks entfernt. Alles funktioniert perfekt. - dpbklyn


Lesen um die Installationsanleitung für Ubuntu..

chown -R www-data /usr/share/wordpress

Vielleicht könnte es einfacher sein, es auf diese Weise zu installieren, anstatt zu versuchen, die Dateien zu entpacken /var/www

https://help.ubuntu.com/community/WordPress...

Wie auch immer Wordpress auf Apache läuft ... oder? wenn du es so machen willst .. du zeigst es als @metamorph und gib dann permisson auf apache2 httpd.confso was:

<VirtualHost *:80>
        ServerName site
        ServerName site.domain
        DocumentRoot /srv/www/wordpress.site

        DirectoryIndex index.php

</VirtualHost>

und dann default-server.conf.

<Directory "/srv/www/wordpress.site">
        Options None
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

Vielleicht ist es am besten, Schritt für Schritt zu machen https://help.ubuntu.com/community/WordPress


0
2017-10-30 11:04