Bonjour à tous,
voici mon probleme, et tu vas voir que toi aussi, tu vas y perdre des cheveux (ou pas).
soit un container LXC avec Ubuntu 12.04 LTS dedans créé par
lxc-create -t ubuntu -n forge
dedans j'ai installé redmine, apache2 et libapache2-mod-passenger
en version packagées par le systeme.
installation avec les options par defaut (redmine avec sqlite etc)
pendant un moment je lancais les machines virtuelles avec
lxc-start -d -n forge
et je n'avais aucun probleme.
puis j'ai voulu mettre ca en ligne avec virt-manager, libvirt, etc.
pas de souci particulier, j'arrete le container, le lance virt-manager, me connecte à lxc:///
creer une nouvelle instance de type lxc, en precisant que le dossier existe deja, et je vais chercher l'arborescence existante.
la machine se lance, j'ai la main dessus au travers du reseau, je vois la machine dans virt-manager, c'est cool
seulement voila,
apache2 se lance bien, mais l'appli redmine au travers de passenger, non.
le seul moyen que j'ai trouvé, et qui est vraiment "sale" car il faut le refaire tous les jours,
c'est de faire un
tail -f /var/log/apache2/error.log
et de rafraichir la page de mon navigateur, et là ca marche
la page de plantage apache/passenger (dont on retrouve la meme chose dans le log apache)
Ruby on Rails application could not be started
These are the possible causes:
There may be a syntax error in the application's code. Please check for such errors and fix them.
A required library may not installed. Please install all libraries that this application requires.
The application may not be properly configured. Please check whether all configuration files are written correctly, fix any
incorrect configurations, and restart this application.
A service that the application relies on (such as the database server or the Ferret search engine server) may not have been
started. Please start that service.
Further information about the error may have been written to the application's log file. Please check it in order to analyse the problem.
Error message:
Permission denied
Exception class:
Errno::EACCES
Application root:
/usr/share/redmine
Backtrace:
# File Line Location
0 /usr/lib/ruby/1.8/phusion_passenger/utils.rb 219 in `write'
1 /usr/lib/ruby/1.8/phusion_passenger/utils.rb 219 in `send'
2 /usr/lib/ruby/1.8/phusion_passenger/utils.rb 219 in `method_missing'
3 /usr/lib/ruby/vendor_ruby/1.8/rubygems/deprecate.rb 62 in `warn'
4 /usr/lib/ruby/vendor_ruby/1.8/rubygems/deprecate.rb 62 in `source_index'
5 /usr/share/redmine/vendor/rails/railties/lib/rails/gem_dependency.rb 21 in `add_frozen_gem_path'
6 /usr/share/redmine/config/boot.rb 52 in `load_initializer'
7 /usr/share/redmine/config/boot.rb 43 in `run'
8 /usr/share/redmine/config/boot.rb 16 in `boot!'
9 /usr/share/redmine/config/boot.rb 119 10 /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb 36 in `gem_original_require'
11 /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb 36 in `require'
12 /usr/share/redmine/config/environment.rb 25 13 /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb 36 in `gem_original_require'
14 /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb 36 in `require'
15 /usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb 303 in `preload_application'
16 /usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb 252 in `initialize_server'
17 /usr/lib/ruby/1.8/phusion_passenger/utils.rb 255 in `report_app_init_status'
18 /usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb 237 in `initialize_server'
19 /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb 194 in `start_synchronously'
20 /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb 163 in `start'
21 /usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb 213 in `start'
22 /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb 262 in `spawn_rails_application'
23 /usr/lib/ruby/1.8/phusion_passenger/abstract_server_collection.rb 126 in `lookup_or_add'
24 /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb 256 in `spawn_rails_application'
25 /usr/lib/ruby/1.8/phusion_passenger/abstract_server_collection.rb 80 in `synchronize'
26 /usr/lib/ruby/1.8/phusion_passenger/abstract_server_collection.rb 79 in `synchronize'
27 /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb 255 in `spawn_rails_application'
28 /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb 154 in `spawn_application'
29 /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb 287 in `handle_spawn_application'
30 /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb 352 in `__send__'
31 /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb 352 in `main_loop'
32 /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb 196 in `start_synchronously'
33 /usr/lib/phusion_passenger/passenger-spawn-server 61
j'ai changé les proprietaires du dossier /usr/share/redmine
pour que ca appartienne à www-data puisque passenger semble lancé avec ce userid
# Des logs de redmine ?
Posté par matthieu bollot (site web personnel, Mastodon) . Évalué à 3.
Là je ne vois pas, par contre il dit de regarder les logs de redmine car ce serait lui qui fout la merde. Je ne me souviens plus bien mais il me semblait que j'avais un utilisateur redmine, peut-être pour jouer avec des dépôts git je sais plus trop, et ça pourrait être lui qui n'a pas les droits… en tout cas faudrait savoir si il y a quelque chose dans ces logs pour commencer.
[^] # Re: Des logs de redmine ?
Posté par NeoX . Évalué à 3.
helas il n'y a rien dans les logs de redmine tant que celui-ci n'est pas lancé.
Comme me l'a fait remarqué un collegue, il semblerait que ce soit passenger qui plante avant d'avoir pu lancer redmine.
c'est deja une piste, mais on a rien trouvé de plus :(
# J'essaye
Posté par benoar . Évalué à 3.
J'y connais rien en ruby, mais vu la backtrace, ça semble être un problème autour de
add_frozen_gem_path
. En demandant à Google j'ai trouvé :http://www.redmine.org/boards/2/topics/5148
ce qui semble nous orienter vers une histoire de compatibilité de versions. Je suppose que l'erreur que tu as, c'est qu'il essaye d'écrire ce message d'erreur dans un log pour te prévenir de cette méthode dépréciée, mais qu'il ne peut pas (EACCESS), d'où le fait que tu n'as pas de logs non plus. Un problème de permissions dans /var/log alors ?
En tous cas, pourquoi ça marchait avant et pu maintenant, heu… T'as bien remonté les même partitions dans ton container ? Ou alors à voir avec les capacités des cgroups ? (qui sont utilisés avec libvirt + LXC, forcément, alors que LXC de base ne les requiert pas)
[^] # Re: J'essaye
Posté par NeoX . Évalué à 2.
en effet pour les cgroups il doit y avoir une difference entre LXC seul et libvirt+lxc
car avec LXC seul, je ne peux pas faire de montage NFS dans le container,
alors que je peux le faire en libvirt+lxc.
le montage NFS c'est pour aller chercher le /home de mes utilisateurs et le /projects pour les projets de la société, donc ca ne gene pas pour redmine.
pour les droits autour de redmine, j'ai verifié, meme en bourrinant en chmod 777 sur les dossiers :(
c'est quand meme bizarre qu'un simple
tail /var/log/apache2/error.log
ou uncat
de ce meme fichier suffise à ce que l'appli se lance (juste en rafraichissant la page du navigateur)[^] # Re: J'essaye
Posté par ze_lionix (site web personnel) . Évalué à 1.
Ca me fait penser à une histoire de buffer ton truc…Tu sais comme quand tu enchaînes les "| grep" en cascade, et que tu ne voit rien arriver alors que tu sais qu'il y a quelques choses qui match en entrée…
C'est comme s'il y avait un avec le log d'erreur, et quand tu fais ton tail ou ton cat ça le remplie et zou tout se met en branle… Est ce qu'avec un touch ça le fait aussi ?
Fuse : j'en Use et Abuse !
[^] # Re: J'essaye
Posté par ze_lionix (site web personnel) . Évalué à 1.
Deux petites idées de bidouille en passant :
Comme ça me rappel un problème avec python en cgi, si tu l'as mis tu peux virer le module disk_cache ?
Si tu met le chargement du module passenger en toute fin de configuration http ça marche mieux ?
Fuse : j'en Use et Abuse !
[^] # Re: J'essaye
Posté par NeoX . Évalué à 2.
j'essayerais le touch et l'ordre des modules lundi quand je retournerais au bureau.
[^] # Re: J'essaye
Posté par Marotte ⛧ . Évalué à 2.
Passe un bon week-end…
# j'ai trouvé, mais fallait vraiment y penser.
Posté par NeoX . Évalué à 2.
en faisant un
watch ls
d'un dossier de la machine virtuel se trouve sur le NFS, (comme le tail precedent) passenger demarrait bien.d'ailleurs en "bourrinant" sur le F5 ou le Ctrl+R ca finissait aussi par demarrer.
du coup ca m'a fait posé la question du backend de stockage,
et apres verification, le container etait stocké sur un partage NFS, mappé dans /var/lib/lxc
en deplacant le container dans un dossier non-NFS, je n'ai plus de probleme.
bon c'est moche car du coup si la machine brule, le container disparait avec, mais au moins c'est plus simple pour mes utilisateurs
# me revoila, meme probleme avec openvz over NFS
Posté par NeoX . Évalué à 2.
le redmine me sort la meme erreur.
ma machine physique monte le dossier nfs qui contient les container openvz.
puis les lance.
j'ai bien acces en ssh à mon container, et ca marche meme plutot bien.
par contre l'interface web de redmine pose toujours probleme.
et je ne trouve rien sur internet à ce sujet
y a vraiment que moi pour avoir ce probleme ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.