Je soupçonne que les autorisations ont peut-être été gâchées sur mon installation de Magento 2. Sur les anciennes versions, j'exécutais la commande suivante pour créer les dossiers 755 et les fichiers 644:
find . -type f -exec chmod -c 644 {} \; && find . -type d -exec chmod -c 755 {} \;
Pouvez-vous s'il vous plaît me faire savoir quelles sont les autorisations de fichier et de dossier correctes pour Magento 2, car elles semblent être différentes? De même, si certains dossiers ou fichiers particuliers nécessitent des autorisations différentes.
magento2
permissions
Neekoy
la source
la source
var/cache
ilpub/static
faut définir les bits suid. J'ai utilisé:find var/cache -type d -print0 | xargs -0 sudo chmod 1775
Réponses:
vous pouvez vous référer à http://devdocs.magento.com/
Les choses importantes:
Le propriétaire du système de fichiers Magento: Doit avoir le contrôle total (lecture / écriture / exécution) de tous les fichiers et répertoires.
Ne doit pas être l'utilisateur du serveur Web; ce devrait être un utilisateur différent.
L’utilisateur du serveur Web doit avoir un accès en écriture aux fichiers et répertoires suivants: var app / etc pub (et probablement nouveau dans la version 2.2.1 :) généré
De plus, le groupe du serveur Web doit posséder le système de fichiers Magento pour que l'utilisateur Magento (membre du groupe) puisse partager l'accès aux fichiers avec l'utilisateur du serveur Web. (Cela inclut les fichiers créés par l’administrateur Magento ou d’autres utilitaires basés sur le Web.)
Nous vous recommandons de définir les autorisations comme suit:
Vous devriez définir comme ci-dessous recommandé.
J'espère que cela t'aidera.
la source
\;
, par exemple:find ./var -type d -exec chmod 777 {} \;
chmod u+x bin/magento
pouvoir exécuter des commandes de la console.Dans de rares cas, vous ne pouvez pas utiliser 770 et 660, comme @MagenX le dit, 755 et 644 pourraient également être l'autorisation dont vous avez besoin. (Certains utilisateurs de Fast-CGI, je suppose)
Donc dans ce cas, vous lancez:
Cela semble résoudre le problème, mais si Magento génère de nouveaux fichiers ou répertoires, ceux-ci auront à nouveau l'autorisation 770 et 660. Vous pouvez éditer ces valeurs chmod par défaut dans les fichiers suivants:
Après ces modifications, exécutez à nouveau la première commande et ensuite, les fichiers nouvellement générés ne devraient plus être un problème.
Remarque: Éditer des fichiers comme celui-ci n'est jamais une bonne idée, mais je soupçonne que ces options de chmod seront configurables à l'avenir, j'ai donc choisi la méthode la plus simple.
la source
Vous pouvez utiliser la méthode recommandée par la documentation de Magento :
la source
Pour ensemble de développement local
pub
etvar
à 775 ou 777la source
Si vous utilisez SELinux ® (par exemple, CentOS), essayez:
(depuis le dossier racine de magento bien sûr)
la source
Dans la communauté Magento recommander
Nous vous recommandons de définir les autorisations comme suit:
Tous les répertoires ont des autorisations 770 . Les autorisations 770 accordent un contrôle total (c'est-à-dire lecture / écriture / exécution) au propriétaire et au groupe, sans autorisation à quiconque.
Tous les fichiers ont 660 autorisations. 660 autorisations signifient que le propriétaire et le groupe peuvent lire et écrire, mais les autres utilisateurs ne disposent d'aucune autorisation.
Pour plus de réf, ce lien https://devdocs.magento.com/guides/v2.3/install-gde/prereq/file-system-perms.html
la source
Problème similaire également pour le partage d'hébergement:
Magento 2: autorisation de fichier recommandée pour l'hébergement partagé
devdocs magento pour les permisions:
http://devdocs.magento.com/guides/v2.0/install-gde/prereq/file-system-perms.html
et pour prod:
http://devdocs.magento.com/guides/ v2.0 / config-guide / prod / prod_file-sys-perms.html
la source
Placez ce contenu dans votre dossier racine, puis exécutez-le avec la console.
N'oubliez pas de
chmod +x yourfile.sh
.la source
sans autorisations spéciales, vous devez simplement vous assurer que les fichiers appartenant à l'utilisateur qui exécute php ou, dans le cas de cPanel - utilisateur cpanel, et au même groupe
alors votre commande est bonne:
il suffit de mettre à jour le propriétaire des fichiers:
où
user
est le propriétaire,user
qui exécute php.au lieu de changer les autorisations à chaque fois, connectez-vous / travaillez en tant qu'utilisateur approprié, propriétaire des fichiers, de la racine à l'utilisateur:
la source
Des informations détaillées sont également disponibles à l’ adresse suivante : http://devdocs.magento.com/guides/m1x/install/privileges_after.html.
la source
J'ai résolu de cette façon pour CentOS Linux 7.4.1708 sur Plesk Onyx 17.8.11
la source
Exécutez ces commandes en tant qu'utilisateur root. Si vous avez déjà donné l'autorisation 777, rétablissez-la à l'aide des deux premières commandes, sinon passez au reste.
Définissez la propriété sur utilisateur Magento et utilisateur Web à l'aide de
L'exécution de ces commandes définit l'autorisation pour les dossiers et les fichiers de la racine Magento et pour les nouveaux fichiers à créer dans les répertoires var, pub et générés.
N'exécutez aucune commande en tant qu'utilisateur root car cela pourrait entraîner la création de nouveaux fichiers statiques avec la propriété root, ce qui pourrait empêcher l'utilisateur web d'accéder à ces fichiers, ce qui vous obligerait à fournir l'autorisation 777.S'il vous plaît, n'autorisez jamais l'autorisation 777 si donc s'il vous plaît reconvertir ce back.So exécuter des commandes Magento que l' utilisateur Magento .
la source