erreur de permissions apache

J’ai une tranche Ubuntu Hardy avec Passenger Phusion servant une application de rails. J’utilise aussi la recherche de texte intégral sphinx avec le plugin thinking_sphinx

Je peux exécuter cette commande depuis le terminal:

rake ts sudo: index RAILS_ENV = production

mais si cette commande est dans le fichier de déploiement capistrano:

lancez “cd # {current_path}; rake thinking_sphinx: index RAILS_ENV = production”

l’erreur suivante est générée:

  • exécuter `deploy: after_update ‘
    • exécuter `thinking_sphinx: index ‘
    • exécution des serveurs “cd / home / kollar / apps / kinfonet / current; rake thinking_sphinx: index RAILS_ENV = production”: [“173.45.226.102”] [173.45.226.102] commande à exécuter * [err :: 173.45.226.102] rake annulé! * [err :: 173.45.226.102] Autorisation refusée – / home / kollar / apps / kinfonet / shared / db / sphinx

En supposant qu’il s’agissait d’un problème de permissions avec Apache, j’ai suivi un article sur slicehost docs et j’ai fait ce qui suit:

sudo chgrp -R www-data / home / kollar / apps / kinfonet / courant

sudo chmod -R 2750 / home / kollar / apps / kinfonet / actuel

sudo chmod -R 2770 / home / kollar / apps / kinfonet / current / log

sudo chmod -R 2770 / home / kollar / apps / kinfonet / shared

sudo chmod -R 2770 / home / kollar / apps / kinfonet / shared / db

sudo chmod -R 2770 / home / kollar / apps / kinfonet / shared / db / sphinx

sudo chmod -R 2770 / home / kollar / apps / kinfonet / shared / pids

L’erreur est toujours là et maintenant les visiteurs du site ne peuvent pas accéder à leurs photos de profil qui se trouvent dans / home / kollar / apps / kinfonet / shared / system / avatars

Il y a une erreur interdite apache / passager si j’appelle le chemin d’access à l’image sur le navigateur: Vous n’êtes pas autorisé à accéder à /system/avatars/48/thumb_BR.jpg sur ce serveur

Quelqu’un peut-il aider à réparer les permissions – par exemple annuler ce que j’ai fait avec www-data et me montrer comment définir les permissions appropriées?

Si vous voyez toujours l’erreur 403 Forbidden, vous devez indiquer à Apache qu’il est correct de suivre ce lien symbolique depuis votre app/current/system vers app/shared/system . Assurez-vous d’avoir ceci dans votre définition d’hôte virtuel:

 Options FollowSymLinks 

Merci d’avoir essayé d’aider.

  1. “Quel utilisateur exécute les commandes de déploiement sur le serveur distant?” – L’utilisateur est kollar

  2. Que se passe-t-il lorsque vous exécutez la même tâche sans sudo que cet utilisateur?

ça marche. A porté un ls-l sur shared / db et a vu qu’il était défini sur root en tant qu’utilisateur et root en tant que groupe. changé à la fois à mon utilisateur “kollar” et maintenant rake peut fonctionner à partir du fichier cap deploy.rb sans sudo.

Mon plus gros problème rest que Apache ramène une erreur d’permissions Forbidden 403 lorsqu’il tente d’accéder au dossier partagé / system où sont stockées les images téléchargées par l’utilisateur:

Vous n’êtes pas autorisé à accéder à /system/avatars/51/thumb_DSC00010.JPG sur ce serveur. Apache / 2.2.8 (Ubuntu) Phusion_Passenger / 2.2.2 Port du serveur 80

il y a un lien symbolique de / home / path / vers / app / current / system vers / home / path / to / app / shared / system

exécuter un ls -l sur shared / sytem produit: drwxrws — 7 kollar kollar 4096 Jun 2 06:47 avatars

J’ai essayé d’append des données www en tant que groupe sur ce dossier mais cela ne semble pas résoudre le problème. Toute aide à ce sujet serait grandement appréciée.