Configuration de la propriété et des autorisations de fichier
Cette rubrique explique comment définir des autorisations de lecture-écriture pour le groupe de serveurs web avant d’installer Adobe Commerce. Cela est nécessaire afin que la ligne de commande puisse écrire des fichiers dans le système de fichiers.
La procédure que vous utilisez est différente, selon que vous utilisez l'hébergement partagé et que vous utilisez un utilisateur ou un serveur privé et que vous avez deux utilisateurs.
Définition des autorisations pour un utilisateur sur l’hébergement partagé
Cette section explique comment définir les autorisations de pré-installation si vous vous connectez au serveur d’applications en tant qu’utilisateur exécutant également le serveur web. Ce type de configuration est courant dans les environnements d’hébergement partagés.
Pour définir les autorisations avant d’installer l’application :
-
Connectez-vous à votre serveur d’applications.
-
Utilisez une application de gestionnaire de fichiers fournie par votre fournisseur d’hébergement partagé pour vérifier que les autorisations d’écriture sont définies sur les répertoires suivants :
vendor
(installation du compositeur ou de l’archive compressée)app/etc
pub/static
var
generated
- Toute autre ressource statique
-
Si vous disposez d’un accès en ligne de commande, saisissez les commandes suivantes dans l’ordre indiqué :
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
Si vous le souhaitez, saisissez toutes les commandes sur une seule ligne, en supposant que l’application soit installée dans
/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
-
Si vous ne l’avez pas déjà fait, récupérez l’application de l’une des manières suivantes :
-
Après avoir défini la propriété et les autorisations du système de fichiers, installez l’application
Définir la propriété et les autorisations pour deux utilisateurs
Cette section explique comment définir la propriété et les autorisations pour votre propre serveur ou une configuration d’hébergement privé. Dans ce type de configuration, vous ne pouvez pas vous connecter en tant qu’utilisateur du serveur web ou passer à . En règle générale, vous vous connectez en tant qu’utilisateur unique et exécutez le serveur web en tant qu’utilisateur différent.
Pour définir la propriété et les autorisations d’un système à deux utilisateurs :
Effectuez les tâches suivantes dans l’ordre indiqué :
- À propos du groupe partagé
- Créez le propriétaire du système de fichiers et attribuez à l’utilisateur un mot de passe sécurisé.
- Recherche du groupe d’utilisateurs du serveur web
- Placez le propriétaire du système de fichiers dans le groupe de serveurs web
- Obtention du logiciel
- Définir la propriété et les autorisations pour le groupe partagé
À propos du groupe partagé
Pour permettre au serveur web d’écrire des fichiers et des répertoires dans le système de fichiers, mais aussi de gérer la propriété par le propriétaire du système de fichiers, les deux utilisateurs doivent appartenir au même groupe. Cela est nécessaire afin que les deux utilisateurs puissent partager l’accès aux fichiers (y compris les fichiers créés à l’aide de l’administrateur ou d’autres utilitaires web).
Cette section explique comment créer un propriétaire de système de fichiers et placer cet utilisateur dans le groupe du serveur web. Si vous le souhaitez, vous pouvez utiliser un compte utilisateur existant ; nous vous recommandons de disposer d’un mot de passe sécurisé.
Créez le propriétaire du système de fichiers et attribuez à l’utilisateur un mot de passe sécurisé.
Cette section explique comment créer le propriétaire du système de fichiers. (Le propriétaire du système de fichiers est un autre terme pour l’ utilisateur de ligne de commande.)
Pour créer un utilisateur sous CentOS ou Ubuntu, saisissez la commande suivante en tant qu’utilisateur disposant des privilèges root
:
adduser <username>
Pour attribuer un mot de passe à l’utilisateur, saisissez la commande suivante en tant qu’utilisateur disposant des privilèges root
:
passwd <username>
Suivez les invites de votre écran pour créer un mot de passe pour l’utilisateur.
root
sur votre serveur d’applications, vous pouvez utiliser un autre compte d’utilisateur local. Assurez-vous que l'utilisateur dispose d'un mot de passe fort et continuez avec Placez le propriétaire du système de fichiers dans le groupe de serveurs web.Par exemple, pour créer un utilisateur nommé magento_user
et donner un mot de passe à l’utilisateur, saisissez :
sudo adduser magento_user
sudo passwd magento_user
Recherche du groupe d’utilisateurs du serveur web
Pour trouver le groupe d’utilisateurs du serveur web :
-
CentOS :
code language-bash grep -E -i '^user|^group' /etc/httpd/conf/httpd.conf
ou
code language-bash grep -Ei '^user|^group' /etc/httpd/conf/httpd.conf
En règle générale, le nom de l’utilisateur et le nom du groupe sont apache
.
- Ubuntu :
ps aux | grep apache
pour trouver l’utilisateur Apache, puisgroups <apache user>
pour trouver le groupe.
En règle générale, le nom d’utilisateur et le nom du groupe sont www-data
.
Placez le propriétaire du système de fichiers dans le groupe de serveurs web
Pour placer le propriétaire du système de fichiers dans le groupe principal du serveur web (en supposant que le nom type du groupe Apache soit CentOS et Ubuntu), saisissez la commande suivante en tant qu’utilisateur disposant des privilèges root
:
- CentOS :
usermod -a -G apache <username>
- Ubuntu :
usermod -a -G www-data <username>
-a -G
sont importantes car elles ajoutent apache
ou www-data
en tant que groupe secondaire au compte utilisateur, ce qui conserve le groupe principal de l’utilisateur. L'ajout d'un groupe secondaire à un compte utilisateur permet de restreindre la propriété et les autorisations des fichiers pour s'assurer que les membres d'un groupe partagé n'ont accès qu'à certains fichiers.Par exemple, pour ajouter l'utilisateur magento_user
au groupe principal apache
sur CentOS :
sudo usermod -a -G apache magento_user
Pour confirmer que votre utilisateur fait partie du groupe de serveurs web, saisissez la commande suivante :
groups magento_user
L’exemple de résultat suivant montre les groupes primaire (magento
) et secondaire (apache
) de l’utilisateur.
magento_user : magento_user apache
Pour terminer la tâche, redémarrez le serveur web :
- Ubuntu :
service apache2 restart
- CentOS :
service httpd restart
Obtention du logiciel
Si vous ne l’avez pas déjà fait, récupérez le logiciel de l’une des manières suivantes :
Définir la propriété et les autorisations pour le groupe partagé
Pour définir la propriété et les autorisations avant d’installer l’application :
-
Connectez-vous à votre serveur d’applications en tant que propriétaire du système de fichiers ou basculez vers .
-
Saisissez les commandes suivantes dans l’ordre indiqué :
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
Si vous le souhaitez, saisissez toutes les commandes sur une seule ligne, en supposant que l’application soit installée dans /var/www/html/magento2
et que le nom du groupe de serveurs web soit 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
Dans le système de fichiers d’événements, les autorisations sont définies de manière incorrecte et ne peuvent pas être modifiées par le propriétaire du système de fichiers. Vous pouvez saisir la commande en tant qu’utilisateur disposant des privilèges root
:
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
Basculer vers le propriétaire du système de fichiers
Après avoir effectué les autres tâches de cette rubrique, saisissez l’une des commandes suivantes pour passer à cet utilisateur :
- Ubuntu :
su <username>
- CentOS :
su - <username>
Par exemple,
su magento_user