ModRails para instalação do Apache2: falha ao carregar?

1

Estou tentando executar uma nova instalação do Ruby on Rails rodando com o Apache2 / Passenger no Ubuntu. Consegui instalar com êxito o apache2, o rvm, o ruby, o rails e o passageiro, a última parte a seguir este tutorial . Todas as instalações correram tranquilamente; Eu acabo com essas versões do software:

  • Ubuntu 11.10 em execução no Amazon EC2
  • Apache 2.2.20
  • RVM 1.10.2
  • Ruby 1.9.3p0
  • Rails 3.1.3
  • Passenger 3.0.11

Depois de executar passenger-install-apache2-module , o instalador me recomendou:

Please edit your Apache configuration file, and add these lines:

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p0/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p0/gems/passenger-3.0.11
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p0/ruby

Ao conectar o Apache2 para usar o mod_passenger, é aí que me deparo com problemas.

Eu vou para /etc/apache2/mods-available e edito:

passenger.load

LoadModule passenger_module /usr/lib/apache2/modules/mod_passenger.so'

para

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p0/gems/passenger-3.0.11/ext/apache2/mod_passenger.so' 

passenger.conf

<IfModule mod_passenger.c>
  PassengerRoot /usr
  PassengerRuby /usr/bin/ruby
</IfModule>

para

<IfModule mod_passenger.c>
  PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p0/gems/passenger-3.0.11
  PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p0/ruby
</IfModule>

Em seguida, reinicio o servidor via apachectl restart . Quando carrego o site, sou recebido com um erro HTTP, conforme visualizado no Google Chrome:

Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.

E quando eu verifico o Apache /var/log/apache2/error.log, eu encontro isso:

[Thu Jan 19 19:32:07 2012] [notice] Apache/2.2.20 (Ubuntu) Phusion_Passenger/3.0.11 configured -- resuming normal operations
[Thu Jan 19 19:32:09 2012] [notice] child pid 4163 exit signal Segmentation fault (11)'

Então, parece que o mod não está carregando ou sendo executado corretamente; como faço para corrigir isso?

Editar : informações adicionais

Meu host virtual:

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /somewhere/public
ServerName mydomain.com
ServerAlias *.mydomain.com

RackBaseURI /
RackEnv production
PassengerMaxPoolSize 4

<Directory "/somewhere/public">
        Options Indexes FollowSymLinks -MultiViews
        AllowOverride all
        Order allow,deny
        Allow from all
</Directory>
</VirtualHost>
    
por David Elner 19.01.2012 / 21:09

1 resposta

1

Passei horas nessa questão, mas não consegui encontrar uma solução simples. Eu aprendi que deveria ser possível depurar este segfault fazendo com que o Apache 'despejasse núcleos' ou anexando ao processo usando o gdb, mas nenhum deles teve sucesso em me mostrar mais alguma informação sobre o problema.

Em vez disso, desde que eu estava rodando no EC2, eu decidi começar com um slate limpo recarregando a base do Ubuntu AMI novamente. Depois de passar pela reinstalação meticulosa de todos esses aplicativos, ele foi executado sem o segfault, e consegui executar o servidor Ruby on Rails com êxito. É mais provável que seja algo na minha configuração ou configuração a culpar (talvez eu tenha perdido uma dependência, instalado as coisas na ordem errada?)

Se você se deparar com esse problema e estiver em um ponto em que você pode facilmente instalar de novo, pode ser mais fácil assim, em vez de perder horas tentando perseguir bugs obscuros.

    
por 20.01.2012 / 16:12