Eigendom en machtigingen van bestanden configureren
Dit onderwerp bespreekt hoe te om lees-schrijf toestemmingen voor de groep van de Webserver te plaatsen alvorens u Adobe Commerce installeert. Dit is nodig, zodat de opdrachtregel bestanden naar het bestandssysteem kan schrijven.
De procedure u gebruikt is verschillend, afhankelijk van of u gedeelde het ontvangengebruikt en één gebruiker hebt of als u a privé servergebruikt en twee gebruikers hebt.
Machtigingen instellen voor één gebruiker bij gedeelde hosting
In deze sectie wordt beschreven hoe u machtigingen voor de installatie instelt als u zich aanmeldt bij de toepassingsserver als dezelfde gebruiker die ook de webserver uitvoert. Dit type installatie komt veel voor in gedeelde hostomgevingen.
U kunt als volgt machtigingen instellen voordat u de toepassing installeert:
-
Meld u aan bij uw toepassingsserver.
-
Gebruik een toepassing voor bestandsbeheer die wordt geleverd door uw gedeelde hostingprovider om te controleren of schrijfmachtigingen zijn ingesteld voor de volgende mappen:
vendor
(Composer of gecomprimeerde archiefinstallatie)app/etc
pub/static
var
generated
- Andere statische bronnen
-
Als u bevel-lijn toegang hebt, ga de volgende bevelen in de getoonde orde in:
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
Als u desgewenst alle opdrachten op één regel wilt invoeren, voert u het volgende in, ervan uitgaande dat de toepassing is geïnstalleerd 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
-
Als u dit nog niet hebt gedaan, kunt u de toepassing op een van de volgende manieren ophalen:
-
Nadat u de eigendom en de toestemmingen van het dossiersysteem hebt geplaatst, installeert de toepassing
Eigendom en machtigingen voor twee gebruikers instellen
In deze sectie wordt besproken hoe u het eigendom en de machtigingen voor uw eigen server of een persoonlijke hostinginstelling kunt instellen. In dit type van opstelling, kunt u typisch niet login als, of schakelaar aan, de gebruiker van de Webserver. Meestal meldt u zich aan als één gebruiker en voert u de webserver uit als een andere gebruiker.
U stelt als volgt de eigendom en machtigingen in voor een systeem met twee gebruikers:
Voltooi de volgende taken in de getoonde orde:
- Informatie over de gedeelde groep
- De eigenaar van het bestandssysteem maken en de gebruiker een sterk wachtwoord geven
- De gebruikersgroep van de webserver zoeken
- De eigenaar van het bestandssysteem in de webservergroep plaatsen
- De software ophalen
- Eigendom en machtigingen voor de gedeelde groep instellen
Informatie over de gedeelde groep
Om de Webserver toe te laten om dossiers en folders in het dossiersysteem te schrijven maar ook eigendom door de eigenaar van het dossiersysteem te handhaven, moeten beide gebruikers in de zelfde groep zijn. Dit is nodig, zodat beide gebruikers toegang kunnen delen tot bestanden (inclusief bestanden die zijn gemaakt met de beheerfunctie of andere hulpprogramma's op het web).
In deze sectie wordt besproken hoe u een eigenaar van een bestandssysteem kunt maken en deze gebruiker in de groep van de webserver kunt plaatsen. U kunt desgewenst een bestaande gebruikersaccount gebruiken. Om veiligheidsredenen raden we de gebruiker aan een sterk wachtwoord in te voeren.
De eigenaar van het bestandssysteem maken en de gebruiker een sterk wachtwoord geven
In deze sectie wordt besproken hoe u de eigenaar van het bestandssysteem kunt maken. (de eigenaar van het dossiersysteem is een andere termijn voor bevel-lijn gebruiker.)
Als u een gebruiker wilt maken op CentOS of Ubuntu, voert u de volgende opdracht in als een gebruiker met root
-rechten:
adduser <username>
Als u de gebruiker een wachtwoord wilt geven, voert u de volgende opdracht in als een gebruiker met root
-rechten:
passwd <username>
Volg de aanwijzingen op het scherm om een wachtwoord voor de gebruiker te maken.
root
bevoegdheden hebt op uw toepassingsserver, kunt u een andere lokale gebruikersaccount gebruiken. Zorg ervoor dat de gebruiker een sterk wachtwoord heeft en met verdergaat zet de eigenaar van het dossiersysteem in de groep van de Webserver.Als u bijvoorbeeld een gebruiker met de naam magento_user
wilt maken en de gebruiker een wachtwoord wilt geven, voert u het volgende in:
sudo adduser magento_user
sudo passwd magento_user
De gebruikersgroep van de webserver zoeken
De gebruikersgroep van de webserver zoeken:
-
CentOS:
code language-bash grep -E -i '^user|^group' /etc/httpd/conf/httpd.conf
of
code language-bash grep -Ei '^user|^group' /etc/httpd/conf/httpd.conf
Doorgaans zijn de naam van de gebruiker en de groep beide apache
.
- Ubuntu:
ps aux | grep apache
om de Apache-gebruiker te zoeken engroups <apache user>
om de groep te zoeken.
Doorgaans zijn de gebruikersnaam en de groepsnaam allebei www-data
.
De eigenaar van het bestandssysteem in de webservergroep plaatsen
Als u de eigenaar van het bestandssysteem in de primaire groep van de webserver wilt plaatsen (uitgaande van de typische Apache-groepsnaam voor CentOS en Ubuntu), voert u de volgende opdracht in als een gebruiker met root
-bevoegdheden:
- CentOS:
usermod -a -G apache <username>
- Ubuntu:
usermod -a -G www-data <username>
-a -G
opties zijn belangrijk omdat zij apache
of www-data
als a secundaire groep aan de gebruikersrekening toevoegen, die de 5} primaire groep van de gebruiker {bewaart. Het toevoegen van een secundaire groep aan een hulp van de gebruikersrekening beperkt dossiereigendom en toestemmingenom leden van een gedeelde groep slechts toegang tot bepaalde dossiers te verzekeren.Als u bijvoorbeeld de gebruiker magento_user
wilt toevoegen aan de apache
primaire groep op CentOS:
sudo usermod -a -G apache magento_user
Om te bevestigen dat uw gebruiker lid van de groep van de Webserver is, ga het volgende bevel in:
groups magento_user
Het volgende steekproefresultaat toont de primaire (magento
) en secundaire (apache
) groepen van de gebruiker.
magento_user : magento_user apache
Start de webserver opnieuw om de taak te voltooien:
- Ubuntu:
service apache2 restart
- CentOS:
service httpd restart
De software ophalen
Als u dit nog niet hebt gedaan, kunt u de software op een van de volgende manieren ophalen:
Eigendom en machtigingen voor de gedeelde groep instellen
U stelt de eigendom en machtigingen in voordat u de toepassing installeert:
-
Meld u aan bij uw toepassingsserver als eigenaar van het bestandssysteem of schakel over naar de eigenaar van het bestandssysteem.
-
Voer de volgende opdrachten in de getoonde volgorde in:
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
Als u desgewenst alle opdrachten op één regel wilt invoeren, voert u het volgende in, ervan uitgaande dat de toepassing is geïnstalleerd in /var/www/html/magento2
en dat de naam van de webservergroep apache
is:
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
Als de systeemmachtigingen voor het gebeurtenisbestand onjuist zijn ingesteld en niet kunnen worden gewijzigd door de eigenaar van het bestandssysteem, kunt u de opdracht invoeren als een gebruiker met root
-bevoegdheden:
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
Overschakelen naar de eigenaar van het bestandssysteem
Nadat u de andere taken in dit onderwerp hebt uitgevoerd, ga één van de volgende bevelen in om aan die gebruiker te schakelen:
- Ubuntu:
su <username>
- CentOS:
su - <username>
Bijvoorbeeld:
su magento_user