Konfigurieren von Dateieigentum und Berechtigungen
In diesem Thema wird beschrieben, wie Sie Lese- und Schreibberechtigungen für die Webservergruppe festlegen, bevor Sie Adobe Commerce installieren. Dies ist erforderlich, damit die Befehlszeile Dateien in das Dateisystem schreiben kann.
Je nachdem, ob Sie freigegebenes Hosting und einen Benutzer haben oder wenn Sie eine privater Server und haben zwei Benutzer.
Festlegen von Berechtigungen für einen Benutzer beim freigegebenen Hosting
In diesem Abschnitt wird beschrieben, wie Sie Berechtigungen vor der Installation festlegen, wenn Sie sich beim Anwendungsserver als derselbe Benutzer anmelden, der auch den Webserver ausführt. Diese Art der Einrichtung ist in freigegebenen Hosting-Umgebungen üblich.
So legen Sie Berechtigungen vor der Installation des Programms fest:
-
Melden Sie sich bei Ihrem Anwendungsserver an.
-
Verwenden Sie eine von Ihrem freigegebenen Hosting-Anbieter bereitgestellte Dateiverwaltungsanwendung, um zu überprüfen, ob Schreibberechtigungen für die folgenden Ordner festgelegt sind:
vendor
(Installation des Composers oder komprimierten Archivs)app/etc
pub/static
var
generated
- Alle anderen statischen Ressourcen
-
Wenn Sie Zugriff auf die Befehlszeile haben, geben Sie die folgenden Befehle in der angegebenen Reihenfolge ein:
code language-bash cd <app_root>
code language-bash find var generated vendor pub/static pub/media app/etc -type f -exec chmod u+w {} +
code language-bash find var generated vendor pub/static pub/media app/etc -type d -exec chmod u+w {} +
code language-bash chmod u+x bin/magento
Wenn Sie optional alle Befehle in einer Zeile eingeben möchten, geben Sie Folgendes ein, vorausgesetzt die Anwendung ist in
/var/www/html/magento2
:code language-bash cd /var/www/html/magento2 && find var generated vendor pub/static pub/media app/etc -type f -exec chmod u+w {} + && find var generated vendor pub/static pub/media app/etc -type d -exec chmod u+w {} + && chmod u+x bin/magento
-
Sofern noch nicht geschehen, erhalten Sie die Anwendung auf eine der folgenden Arten:
-
Nachdem Sie die Berechtigungen und Berechtigungen für das Dateisystem festgelegt haben, Installieren des Programms
Festlegen von Eigentümern und Berechtigungen für zwei Benutzer
In diesem Abschnitt wird beschrieben, wie Sie Eigentümer und Berechtigungen für Ihren eigenen Server oder ein privates Hosting-Setup festlegen. Bei dieser Art von Einrichtung haben Sie normalerweise cannot als Webserver-Benutzer anmelden oder zu ihm wechseln. Normalerweise melden Sie sich als ein Benutzer an und führen den Webserver als einen anderen Benutzer aus.
So legen Sie die Eigentümerschaft und Berechtigungen für ein System mit zwei Benutzern fest:
Führen Sie die folgenden Aufgaben in der angegebenen Reihenfolge aus:
- Über die freigegebene Gruppe
- Erstellen Sie den Dateisysteminhaber und geben Sie dem Benutzer ein sicheres Kennwort.
- Suchen Sie die Gruppe des Webserver-Benutzers.
- Legen Sie den Dateisysteminhaber in die Webservergruppe
- Software abrufen
- Festlegen von Eigentümern und Berechtigungen für die freigegebene Gruppe
Über die freigegebene Gruppe
Damit der Webserver Dateien und Ordner im Dateisystem schreiben kann, aber auch pflegen kann Eigentum durch den Dateisysteminhaber festgelegt ist, müssen sich beide Benutzer in derselben Gruppe befinden. Dies ist erforderlich, damit beide Benutzer den Zugriff auf Dateien (einschließlich Dateien, die mit Admin oder anderen webbasierten Dienstprogrammen erstellt wurden) freigeben können.
In diesem Abschnitt wird beschrieben, wie Sie einen Dateisysteminhaber erstellen und diesen Benutzer in die Gruppe des Webservers setzen. Sie können bei Bedarf ein bestehendes Benutzerkonto verwenden. Wir empfehlen dem Benutzer aus Sicherheitsgründen, über ein sicheres Kennwort zu verfügen.
Erstellen Sie den Dateisysteminhaber und geben Sie dem Benutzer ein sicheres Kennwort.
In diesem Abschnitt wird beschrieben, wie Sie den Dateisysteminhaber erstellen. (Dateisysteminhaber ist ein anderer Begriff für Befehlszeilenbenutzer.
Um einen Benutzer unter CentOS oder Ubuntu zu erstellen, geben Sie den folgenden Befehl als Benutzer mit ein. root
-Berechtigungen:
adduser <username>
Geben Sie den folgenden Befehl als Benutzer mit ein, um dem Benutzer ein Kennwort zu geben root
-Berechtigungen:
passwd <username>
Befolgen Sie die Anweisungen auf Ihrem Bildschirm, um ein Kennwort für den Benutzer zu erstellen.
root
-Berechtigungen auf Ihrem Anwendungsserver verwenden, können Sie ein anderes lokales Benutzerkonto verwenden. Vergewissern Sie sich, dass der Benutzer über ein sicheres Kennwort verfügt, und fahren Sie mit Legen Sie den Dateisysteminhaber in die Webservergruppe.Um beispielsweise einen Benutzer mit dem Namen magento_user
und geben Sie dem Benutzer ein Kennwort ein:
sudo adduser magento_user
sudo passwd magento_user
Suchen Sie die Webserver-Benutzergruppe
So suchen Sie die Gruppe des Webserver-Benutzers:
-
CentOS:
code language-bash grep -E -i '^user|^group' /etc/httpd/conf/httpd.conf
oder
code language-bash grep -Ei '^user|^group' /etc/httpd/conf/httpd.conf
In der Regel sind der Benutzer- und Gruppenname apache
.
- Ubuntu:
ps aux | grep apache
um den Apache-Benutzer zu finden, undgroups <apache user>
um die Gruppe zu finden.
Normalerweise sind der Benutzername und der Gruppenname beide www-data
.
Legen Sie den Dateisysteminhaber in die Webservergruppe
Um den Dateisysteminhaber in die primäre Gruppe des Webservers aufzunehmen (ausgehend vom typischen Apache-Gruppennamen für CentOS und Ubuntu), geben Sie den folgenden Befehl als Benutzer mit ein. root
-Berechtigungen:
- CentOS:
usermod -a -G apache <username>
- Ubuntu:
usermod -a -G www-data <username>
-a -G
-Optionen sind wichtig, da sie apache
oder www-data
as a Sekundär dem Benutzerkonto zugeordnet werden, wodurch die primary hinzugefügt. Das Hinzufügen einer sekundären Gruppe zu einem Benutzerkonto hilft Beschränken des Eigentums an Dateien und der Berechtigungen , um sicherzustellen, dass Mitglieder einer gemeinsamen Gruppe nur Zugriff auf bestimmte Dateien haben.Beispiel: Hinzufügen des Benutzers magento_user
der apache
primäre Gruppe unter CentOS:
sudo usermod -a -G apache magento_user
Geben Sie den folgenden Befehl ein, um zu bestätigen, dass Ihr Benutzer Mitglied der Webservergruppe ist:
groups magento_user
Das folgende Beispielergebnis zeigt die primäre Einstellung (magento
) und sekundär (apache
) Gruppen.
magento_user : magento_user apache
Starten Sie den Webserver neu, um die Aufgabe abzuschließen:
- Ubuntu:
service apache2 restart
- CentOS:
service httpd restart
Software abrufen
Wenn Sie dies noch nicht getan haben, rufen Sie die Software auf eine der folgenden Arten auf:
Festlegen von Eigentümern und Berechtigungen für die freigegebene Gruppe
So legen Sie den Besitz und die Berechtigungen fest, bevor Sie die Anwendung installieren:
-
Melden Sie sich bei Ihrem Anwendungsserver als Dateisysteminhaber an oder wechseln Sie zu ihm.
-
Geben Sie die folgenden Befehle in der angegebenen Reihenfolge ein:
code language-bash cd <app_root>
code language-bash find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
code language-bash find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
code language-bash chown -R :<web server group> .
code language-bash chmod u+x bin/magento
Wenn Sie optional alle Befehle in einer Zeile eingeben möchten, geben Sie Folgendes ein, vorausgesetzt die Anwendung ist in /var/www/html/magento2
und der Webserver-Gruppenname apache
:
cd /var/www/html/magento2 && find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chown -R :apache . && chmod u+x bin/magento
Wenn die Systemberechtigungen für die Ereignisdatei falsch festgelegt sind und vom Dateisysteminhaber nicht geändert werden können, können Sie den Befehl als Benutzer mit root
-Berechtigungen:
cd /var/www/html/magento2 && sudo find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && sudo find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && sudo chown -R :apache . && sudo chmod u+x bin/magento
Wechseln Sie zum Dateisysteminhaber.
Nachdem Sie die anderen Aufgaben in diesem Thema ausgeführt haben, geben Sie einen der folgenden Befehle ein, um zu diesem Benutzer zu wechseln:
- Ubuntu:
su <username>
- CentOS:
su - <username>
Beispiel:
su magento_user