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:
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.
“Quel utilisateur exécute les commandes de déploiement sur le serveur distant?” – L’utilisateur est kollar
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.