Thread View: pl.comp.lang.ruby
11 messages
11 total messages
Started by TomekC
Wed, 12 Mar 2008 22:50
RoR, apache2, fcgi ... walka :]
Author: TomekC
Date: Wed, 12 Mar 2008 22:50
Date: Wed, 12 Mar 2008 22:50
42 lines
2750 bytes
2750 bytes
Mam już chwilami tego dość :]
Próbuję na serwereku uruchomić aplikację w Rails 1.2.6 z pomocą Apacza
2.2 i mod_fcgid. System to Debian 4.0.
Wygląda na to, że z jakiegoś dziwnego powodu muszę ustawić wszystkim
plikom uprawnienia do zapisu dla obcych ("chmod 666"), i wtedy działa.
Zanim to zrobiłem, aplikacja sypała się tak:
[Wed Mar 12 21:11:24 2008] [notice] mod_fcgid: server
/home/tomek/rails/svn_portalex/public/dispatch.fcgi(15896) started
/usr/lib/ruby/1.8/fileutils.rb:1246:in `initialize': Permission denied -
/home/tomek/rails/svn_portalex/public/../config/../public/blank.html
(Errno::EACCES)
from /usr/lib/ruby/1.8/fileutils.rb:1246:in `open'
from /usr/lib/ruby/1.8/fileutils.rb:1246:in `copy_file'
from /usr/lib/ruby/1.8/fileutils.rb:1245:in `open'
from /usr/lib/ruby/1.8/fileutils.rb:1245:in `copy_file'
from /usr/lib/ruby/1.8/fileutils.rb:1215:in `copy'
from /usr/lib/ruby/1.8/fileutils.rb:447:in `copy_entry'
from /usr/lib/ruby/1.8/fileutils.rb:1308:in `traverse'
from /usr/lib/ruby/1.8/fileutils.rb:445:in `copy_entry'
... 25 levels...
from /var/lib/gems/1.8/gems/rails-1.2.6/lib/initializer.rb:47:in `run'
from /home/tomek/rails/svn_portalex/public/../config/environment.rb:13
from /home/tomek/rails/svn_portalex/public/dispatch.fcgi:21:in `require'
from /home/tomek/rails/svn_portalex/public/dispatch.fcgi:21
żeby było śmieszniej, komunikat ten pojawia się nawet, gdy rzeczony plik
skasuję (i oczywiście ze dwa razy przeładuję Apacza).
Nie da się tego zrobić jakoś po ludzku (bez ustawiania zapisu dla każdego)?
A teraz jeszcze jedna ciekawostka - wspomniana aplikacja jest ściągnięta
z repozytorium svn, oryginalnie została utworzona chyba na moim Maku.
Zrobiłem sobie, na serwerze pustą aplikację railsową (z użyciem tego
software'u, który jest na serwerze), skonfigurowałem wirtualnego hosta
itd. - i ruszyła od strzału! Bez żadnego czarowania z uprawnieniami.
Jakieś pomysły, co jest poknocone, że ta instalacja się sypie?
Re: RoR, apache2, fcgi ... walka :]
Author: Jaroslaw Zabiello
Date: Thu, 13 Mar 2008 02:13
Date: Thu, 13 Mar 2008 02:13
18 lines
1410 bytes
1410 bytes
On Wed, 12 Mar 2008 22:50:20 -0000, TomekC <tomek@nie.lub.spamu> wrote: > Mam już chwilami tego dość :] > > Próbuję na serwereku uruchomić aplikację w Rails 1.2.6 z pomocą Apacza > 2.2 i mod_fcgid. System to Debian 4.0. [...] > Jakieś pomysły, co jest poknocone, że ta instalacja się sypie? A po co używasz stary Rails 1.2.6 skoro jest lepszy 2.0.2? Nikt już też nie używa fastcgi, to archaiczne podejście. Uruchom Rails przez Thin'a (lub Ebb) i z Apache'u 2.2 skieruj ruch przez mod_proxy_balancer. -- Jarosław Zabiełło http://blog.zabiello.com irc://irc.eu.freenode.net/ruby.pl irc://irc.eu.freenode.net/python.pl
Re: RoR, apache2, fcgi ... walka :]
Author: edek
Date: Thu, 13 Mar 2008 07:55
Date: Thu, 13 Mar 2008 07:55
22 lines
1797 bytes
1797 bytes
> żeby było śmieszniej, komunikat ten pojawia się nawet, gdy rzeczony plik > skasuję (i oczywiście ze dwa razy przeładuję Apacza). Nic w tym śmiesznego, to oznacza tyle, że masz coś sknocone z prawami dostępu w katalogach nadrzędnych w stosunku do tego pliku. > Nie da się tego zrobić jakoś po ludzku (bez ustawiania zapisu dla każdego)? Na pewno się da, ale przy ilości informacji, którą dałeś nie jesteśmy w stanie Ci pomóc. W szczególności zabrakło informacji o tym, jako jaki użytkownik jest uruchomiony apache i kto jest właścicielem plików (a także jak wygląda nadrzędna struktura katalogów). > Zrobiłem sobie, na serwerze pustą aplikację railsową (z użyciem tego > software'u, który jest na serwerze), skonfigurowałem wirtualnego hosta > itd. - i ruszyła od strzału! Bez żadnego czarowania z uprawnieniami. jw. - zero informacji o uprawnieniach itd. Poza tym patrz post przedmówcy - na pewno potrzebujesz fastcgi? m.
Re: RoR, apache2, fcgi ... walka :]
Author: TomekC
Date: Thu, 13 Mar 2008 08:55
Date: Thu, 13 Mar 2008 08:55
28 lines
1965 bytes
1965 bytes
Jaroslaw Zabiello pisze: > On Wed, 12 Mar 2008 22:50:20 -0000, TomekC <tomek@nie.lub.spamu> wrote: > >> Mam już chwilami tego dość :] >> >> Próbuję na serwereku uruchomić aplikację w Rails 1.2.6 z pomocą Apacza >> 2.2 i mod_fcgid. System to Debian 4.0. > [...] >> Jakieś pomysły, co jest poknocone, że ta instalacja się sypie? > > A po co używasz stary Rails 1.2.6 skoro jest lepszy 2.0.2? Nikt już też > nie używa fastcgi, to archaiczne podejście. Uruchom Rails przez Thin'a > (lub Ebb) i z Apache'u 2.2 skieruj ruch przez mod_proxy_balancer. Używam starego Rails, bo chwilowo było mi wygodniej (i trochę nie chciało się migrować do 2). Co do fastcgi, to używam dokładnie mówiąc mod_fcgid. Miałem jeszcze testowo klaster Mongreli, ale te miały z kolei nawyk samoistnego zdychania po dłuższej nieaktywności ;] A o Thin (lub Ebb) jeszcze nie słyszałem - ma ten projekt jakąś stronę domową, bo Góglownica zwraca straszny szum. -- Tomek małpka japko kropka info.
Re: RoR, apache2, fcgi ... walka :]
Author: TomekC
Date: Thu, 13 Mar 2008 08:58
Date: Thu, 13 Mar 2008 08:58
12 lines
1286 bytes
1286 bytes
Jaroslaw Zabiello pisze: > A po co używasz stary Rails 1.2.6 skoro jest lepszy 2.0.2? Nikt już też > nie używa fastcgi, to archaiczne podejście. Uruchom Rails przez Thin'a > (lub Ebb) i z Apache'u 2.2 skieruj ruch przez mod_proxy_balancer. > P.S. A nginx? Jest aktualnie "trendy" czy passe? -- Tomek małpka japko kropka info.
Re: RoR, apache2, fcgi ... walka :]
Author: Jaroslaw Zabiello
Date: Thu, 13 Mar 2008 09:45
Date: Thu, 13 Mar 2008 09:45
24 lines
1873 bytes
1873 bytes
On Thu, 13 Mar 2008 08:55:59 -0000, TomekC <tomek@adres.podaje.w.stopce.pl> wrote: > Miałem jeszcze testowo klaster Mongreli, ale te miały z kolei nawyk > samoistnego zdychania po dłuższej nieaktywności ;] Na pewno masz najnowsze gemy? I czy aby to nie był efekt zdychania połączenia z MySQL? Po dłuższej nieaktywności może zamknąć połączenie a Rails trzyma je cały czas otwarte przy starcie frameworka. Można temu zaradzić jedną opcją. > A o Thin (lub Ebb) jeszcze nie słyszałem - ma ten projekt jakąś stronę > domową, bo Góglownica zwraca straszny szum. Bez przesady. Po wpisaniu Thin, na 4-tym miejscu mam stronę domową http://code.macournoyer.com/thin/. Po wpisaniu Ebb, wynik jest na 3 pozycji http://ebb.rubyforge.org/. Masz tu też mój artykuł o Thin http://blog.zabiello.com/articles/2008/03/03/thin-sockets-rails-merb -- Jarosław Zabiełło http://blog.zabiello.com irc://irc.eu.freenode.net/ruby.pl irc://irc.eu.freenode.net/python.pl
Re: RoR, apache2, fcgi ... walka :]
Author: Piotr 'piter' Hlawski
Date: Thu, 13 Mar 2008 10:34
Date: Thu, 13 Mar 2008 10:34
16 lines
1814 bytes
1814 bytes
TomekC wrote: > Jaroslaw Zabiello pisze: >> A po co używasz stary Rails 1.2.6 skoro jest lepszy 2.0.2? Nikt już też >> nie używa fastcgi, to archaiczne podejście. Uruchom Rails przez Thin'a >> (lub Ebb) i z Apache'u 2.2 skieruj ruch przez mod_proxy_balancer. >> > A nginx? Jest aktualnie "trendy" czy passe? Nginx jest "trendy", ale chyba nie rozróżniasz tutaj who-is-who. Thin/Ebb/Mongrel - mają za zadanie pełnić rolę "serwera aplikacji", Nginx/Apache - te mają rolę serwera web z odpowiednim proxy do serwera aplikacyjnego. -- [ Piotr 'piter' Hlawski ( <phlawski$gmail,com> ) ( GG: 4534287 ) ]
Re: RoR, apache2, fcgi ... walka :]
Author: Adam Byrtek
Date: Thu, 13 Mar 2008 23:23
Date: Thu, 13 Mar 2008 23:23
25 lines
1779 bytes
1779 bytes
TomekC wrote: > Zrobiłem sobie, na serwerze pustą aplikację railsową (z użyciem tego > software'u, który jest na serwerze), skonfigurowałem wirtualnego hosta > itd. - i ruszyła od strzału! Bez żadnego czarowania z uprawnieniami. Pewnie to jakaś specyfika aplikacji, którą próbujesz stawiać z repozytorium. Co to za plik blank.html? Jeśli chodzi o FastCGI i uprawnienia, to użytkownik spod którego działa proces (na przykład www-data) musi móc pisać do log i tmp, czytać config/database.yml (jeśli odebrałeś te uprawnienia innym) i wykonywać dispatch.fcgi. Oczywiście trzeba wcześniej zainstalować gema fcgi. Warto też uprawnić się, że "bang-line" w dispatch.fcgi jest ustawiony na "#!/usr/bin/env ruby", to najbardziej przenośne rozwiązanie - ale w Twoim przypadku z tym raczej nie ma problemu, dispatcher najwyraźniej działa. Pozdrawiam, Adam -- Adam Byrtek | Alpha http://www.adambyrtek.net
Re: RoR, apache2, fcgi ... walka :]
Author: TomekC
Date: Fri, 14 Mar 2008 11:41
Date: Fri, 14 Mar 2008 11:41
40 lines
2755 bytes
2755 bytes
Adam Byrtek pisze: > TomekC wrote: >> Zrobiłem sobie, na serwerze pustą aplikację railsową (z użyciem tego >> software'u, który jest na serwerze), skonfigurowałem wirtualnego hosta >> itd. - i ruszyła od strzału! Bez żadnego czarowania z uprawnieniami. > > Pewnie to jakaś specyfika aplikacji, którą próbujesz stawiać z > repozytorium. Co to za plik blank.html? > > Jeśli chodzi o FastCGI i uprawnienia, to użytkownik spod którego działa > proces (na przykład www-data) musi móc pisać do log i tmp, czytać > config/database.yml (jeśli odebrałeś te uprawnienia innym) i wykonywać > dispatch.fcgi. Oczywiście trzeba wcześniej zainstalować gema fcgi. > > Warto też uprawnić się, że "bang-line" w dispatch.fcgi jest ustawiony na > "#!/usr/bin/env ruby", to najbardziej przenośne rozwiązanie - ale w > Twoim przypadku z tym raczej nie ma problemu, dispatcher najwyraźniej > działa. Z tymi uprawnieniami była ciekawa sprawa, bo aplikacja domagała się prawa do *zapisu* do wszystkich plików po kolei. Gdy zaspokoiłem te uprawnienia dla "blank.html" - błąd dotyczył innego pliku (tym razem arkusza stylów). I tak po kolei. Poczarowałem trochę, i uspokoił się dopiero w momencie gdy zrobiłem chmod 666 na całym podkatalogu public (i głębiej). Prawa do odczytu są, zaznaczam po raz kolejny - po kiego diabła do działania potrzebne są prawa zapisu do całego poddrzewa /public w aplikacji? W logu, który wkleiłem widać wywołanie metody "copy_file" - zastanawiam się, kto, co i gdzie chce coś kopiować? Ostatecznie prawdopodobnie się przerzucę na inne rozwiązanie typu "rasowy" serwer aplikacji (np. sugerowany Thin) + proxy na Apaczu. -- Tomek małpka japko kropka info.
Re: RoR, apache2, fcgi ... walka :]
Author: TomekC
Date: Fri, 14 Mar 2008 12:07
Date: Fri, 14 Mar 2008 12:07
34 lines
2136 bytes
2136 bytes
TomekC pisze: > Z tymi uprawnieniami była ciekawa sprawa, bo aplikacja domagała się > prawa do *zapisu* do wszystkich plików po kolei. Gdy zaspokoiłem te > uprawnienia dla "blank.html" - błąd dotyczył innego pliku (tym razem > arkusza stylów). I tak po kolei. > > Poczarowałem trochę, i uspokoił się dopiero w momencie gdy zrobiłem > chmod 666 na całym podkatalogu public (i głębiej). > > Prawa do odczytu są, zaznaczam po raz kolejny - po kiego diabła do > działania potrzebne są prawa zapisu do całego poddrzewa /public w > aplikacji? > > W logu, który wkleiłem widać wywołanie metody "copy_file" - zastanawiam > się, kto, co i gdzie chce coś kopiować? Już coś mam. Aplikacja nie startuje - jest błąd dostępu (wkleiłem go na początku wątku). Dodaję prawa do zapisu dla obcych w katalogu /public aplikacji. chmod -R o+w public Voila! Startuje! A teraz zabieram te uprawnienia :) chmod -R o-w public I... aplikacja działa nadal. Do momentu zrestartowania apacza. Czyli do momentu, kiedy proces rubiego uruchomiony przez mod_fcgid żyje. -- Tomek małpka japko kropka info.
Rozwiązanie! Re: RoR, apache2, fcgi ... walka :]
Author: TomekC
Date: Fri, 14 Mar 2008 13:19
Date: Fri, 14 Mar 2008 13:19
44 lines
2933 bytes
2933 bytes
TomekC pisze:
> Mam już chwilami tego dość :]
>
> Próbuję na serwereku uruchomić aplikację w Rails 1.2.6 z pomocą Apacza
> 2.2 i mod_fcgid. System to Debian 4.0.
>
> Wygląda na to, że z jakiegoś dziwnego powodu muszę ustawić wszystkim
> plikom uprawnienia do zapisu dla obcych ("chmod 666"), i wtedy działa.
> Zanim to zrobiłem, aplikacja sypała się tak:
>
> [Wed Mar 12 21:11:24 2008] [notice] mod_fcgid: server
> /home/tomek/rails/svn_portalex/public/dispatch.fcgi(15896) started
> /usr/lib/ruby/1.8/fileutils.rb:1246:in `initialize': Permission denied -
> /home/tomek/rails/svn_portalex/public/../config/../public/blank.html
> (Errno::EACCES)
> from /usr/lib/ruby/1.8/fileutils.rb:1246:in `open'
> from /usr/lib/ruby/1.8/fileutils.rb:1246:in `copy_file'
> from /usr/lib/ruby/1.8/fileutils.rb:1245:in `open'
> from /usr/lib/ruby/1.8/fileutils.rb:1245:in `copy_file'
> from /usr/lib/ruby/1.8/fileutils.rb:1215:in `copy'
> from /usr/lib/ruby/1.8/fileutils.rb:447:in `copy_entry'
> from /usr/lib/ruby/1.8/fileutils.rb:1308:in `traverse'
> from /usr/lib/ruby/1.8/fileutils.rb:445:in `copy_entry'
> ... 25 levels...
> from /var/lib/gems/1.8/gems/rails-1.2.6/lib/initializer.rb:47:in `run'
> from /home/tomek/rails/svn_portalex/public/../config/environment.rb:13
> from /home/tomek/rails/svn_portalex/public/dispatch.fcgi:21:in
> `require'
> from /home/tomek/rails/svn_portalex/public/dispatch.fcgi:21
Uff!
Dla potomności podzielę się rozwiązaniem.
Winowajcą jest plugin activescaffold, który sobie przeprowadza
kopiowanie swoich plików CSS do /public przy uruchomieniu aplikacji.
Stąd wymagane prawa do zapisu.
Żeby na to wpaść, trzeba było trochę pohackować, bo jak widać w cytacie
wyżej, sprawca wyjątku został ukryty jako "... 25 levels ...". W końcu
dorwałem się do *pełnego* stack-trace i *natychmiast* znalazłem winnego.
--
Tomek małpka japko kropka info.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads