web-dev-qa-db-fra.com

WordPress (3.9.1) Autorisations multi-sites. Est-ce que Chown est la réponse?

La situation:

Je travaille sur un WordPress MultiSite pour un organisme de bienfaisance. Ils ont un serveur Apache dédié exécutant plusieurs noms de domaine (comptes).

Préparation du développement et de la production, qui se produira sur le même nom de domaine au sein de ce serveur dédié, j’ai effectué quelques installations de test sur un environnement d’hébergement partagé distinct utilisant différents noms de domaine. Aucun problème que ce soit lors de ces tests sur l'hébergement mutualisé.

Je comprends la raison pour laquelle je reçois les erreurs suivantes et je suis heureux, lors du développement (protégé par mot de passe) de changer CHMOD Autorisations de fichier de/uploads/& uploads/site/2 à 0777 pour pouvoir télécharger à partir de WordPress, mais je préférerais évidemment ne pas utiliser 0777 pour la version de production.

Une question de temps de support d'hébergement

L’organisme de bienfaisance pour lequel je travaille a un contrat d’assistance préétabli qui n’inclut pas, pour le moment, l’assistance serveur pour WordPress. Je veux donc m'assurer que je contacte le fournisseur d'hébergement (une agence de conception Web/revendeur d'hébergement) avec un ensemble d'instructions précises sur la façon de résoudre le problème côté serveur.

En gros, je ne veux pas courir le risque de voir une demande apparemment simple de support serveur se transformer en une longue discussion sur les solutions. Je préférerais leur fournir un guide définitif pour résoudre le problème côté serveur/autorisations, ce qu'ils ' d préfère aussi, en fait.

Quelles instructions spécifiques devrais-je donner au fournisseur d'hébergement afin de résoudre les erreurs que j'ai décrites ci-dessous?

Le problème:

  1. Erreur:

Le fichier téléchargé n'a pas pu être déplacé vers wp-content/uploads.

Et pour le 2ème site ...,

Le fichier téléchargé n'a pas pu être déplacé vers wp-content/uploads/sites/2.

Et pour l'installation de plugins ...,

Échec du téléchargement. Le répertoire de destination pour la diffusion en continu de fichiers n'existe pas ou n'est pas accessible en écriture.

Mon problème technique:

De ce que j'ai recherché, solution possible:

  • chown?

vous devez également transmettre votre installation à l'utilisateur php. c'est-à-dire que si votre utilisateur est www-data et qu'il est membre de www-data, vous feriez $ chown -R www-data: www-data/var/www/wp-content/uploads/sites/- Source

  • WP_TEMP_DIR ?

Je voudrais essayer d'ajouter ce qui suit à votre fichier wp-config.php pour le forcer à utiliser le répertoire wp-content define ('WP_TEMP_DIR', ABSPATH. 'Wp-content /'); - Source

Point n ° 1 - Je n'ai aucune expérience de la gestion de chown, je ne suis donc pas sûr que ce soit le conseil que je devrais fournir au fournisseur d'hébergement.

Point n ° 2 - d'après ce que j'ai lu, ce n'est PAS une bonne idée de définir des constantes pour/temp/répertoires de cette façon. Et, en fait, je préférerais ne pas étendre le correctif wp-config.php.

J'apprécierais votre contribution.

1
Dylan

Il existe une section sur les autorisations de fichier WordPress dans l'article du Codex sur Hardening WordPress . L'article ne parle pas beaucoup de Multisite, mais il devrait être traité de la même manière que le reste de wp-content - le processus du serveur doit pouvoir y écrire.

J'éviterais de faire chown www-data:www-data [/path/]wp-content/uploads/sites - vous devriez pouvoir obtenir le même effet en utilisant chgrp, qui modifie les permissions du groupe sur les fichiers et répertoires. Quelque chose comme

chgrp -R www-data wp-content/uploads/sites
chmod -R g+w wp-content/uploads/sites

pourrait être ce que vous cherchez.

La première ligne modifie le groupe propriétaire du répertoire en question (et le -R l'applique également à tous les fichiers et sous-répertoires). La deuxième ligne modifie le "mode" (les autorisations) afin que le groupe puisse écrire des fichiers et des répertoires. (-R le fait à nouveau de manière récursive; g+w est la partie inscriptible du groupe.)

Avertissement - chaque configuration est différente; vous devriez probablement vérifier auprès de votre hébergeur si cette configuration est casher.

2
Pat J