web-dev-qa-db-fra.com

Problème d'autorisations lors de la tentative de mise à jour de WordPress

Je mets à jour multisite à 3.5.1 et cela ne m'a pas permis de faire une mise à jour automatique je vois ce message:

"Pour effectuer l'action demandée, WordPress doit accéder à votre serveur Web. Veuillez entrer vos informations d'identification FTP pour continuer. Si vous ne vous souvenez pas de vos informations d'identification, vous devez contacter votre hébergeur."

J'ajoute donc les informations d'identification FTP dans wp-config.php mais ne fonctionne toujours pas. J'ai enquêté et découvert que les fichiers de base de Wordpress sont la propriété de la racine et non de mon nom d'utilisateur ssh. Des exemples de ces fichiers sont les fichiers dans les wp-includes et wp-admin.

Existe-t-il un moyen de mettre à niveau automatiquement Wordpress multisite sans avoir un accès root?

1
Emerson Maningo

Tu dois...

  1. ... vos fichiers et dossiers sont la propriété de votre utilisateur. Si vous avez Sudo privies avec votre accès SSH, cela devrait être facile à accomplir.

    Sudo chown -R user ./wordpress_directory
    
  2. ... avoir vos fichiers et dossiers, au moins ceux de wp-content, dans le même groupe que le serveur Web. Sinon, vous aurez des problèmes avec les téléchargements de médias. Encore une fois, pas difficile.

    Sudo chown -R user:webservergroup ./wordpress_directory
    
  3. ... corrigez vos autorisations de fichier afin que l'utilisateur et le groupe puissent lire et écrire, et que tout le monde puisse simplement lire. Les répertoires ont également besoin d'une autorisation d'exécution ou vous ne pouvez pas les lire, même si les autorisations de fichier sont correctes à l'intérieur des répertoires.

    Sudo chmod -R 775 ./wordpress_directory
    

Maintenant, lecaveats.

  1. Je suppose que votre serveur est Linux (Debian, CentOS, une centaine d’autres), bien que cela devrait également fonctionner pour BSD (OpenBSD). Théoriquement, cela devrait fonctionner sur Darwin (le noyau BSD d’OS X), mais je ne fais jamais confiance à ce système.
  2. Si vous n'avez pas de privilèges Sudo, vous devrez demander à votre hôte de l'aide.
  3. Si votre utilisateur FTP est différent de votre utilisateur SSH, vous pouvez toujours le faire en ajoutant l'utilisateur FTP au groupe du serveur Web.

    Sudo useradd -G webservergroup ftpuser
    

    Je pense que certaines versions de Linux portent des noms légèrement différents pour cette commande. Vous devrez peut-être rechercher cette commande pour la commande spécifique correspondant à votre style.

  4. Les autorisations utilisées ci-dessus sont assez ouvertes. Vous pouvez les resserrer. Voir le Codex sur Autorisations sur les fichiers et sur Renforcement des autorisations sur les fichiers . Je ferais en sorte que les choses fonctionnent avec les autorisations relativement lâches, puis resserrerais les choses. Portez une attention particulière au fait que certains fichiers et répertoires peuvent avoir des autorisations plus strictes que d'autres.

  5. Vous pouvez avoir des problèmes avec le safe_mode de PHP comme ici: WP La mise à niveau ne peut pas créer de répertoire alors que les permanentes sont 777

Je pense que cela devrait l'être, bien que la configuration du serveur puisse être délicate et que j'aie peut-être oublié quelque chose. Je n'ai pas souvent à configurer des serveurs, il est donc possible que quelque chose me soit échappé. Je suggérerais de regarder chaque étape et de comprendre exactement ce qui se passe avant de faire quoi que ce soit. Les sauvegardes, bien sûr, sont toujours encouragées.

1
s_ha_dum