Configurando OS X 10.7 Lion Server para servir aplicaciones Rails a través de Apache

3

Tengo varias aplicaciones de Rails que funcionan muy bien en Snow Leopard, pero me gustaría migrarlas a Lion.

Sin embargo, como muchos otros, la alfombra ha sido arrancada bajo mis pies por los cambios que se han realizado en el administrador de Mac OS X Server con Lion.

Dicho esto, ha sido sencillo instalar Rails y hacer que mi aplicación Rails responda a través del servidor web WEBrick.

Ahora me gustaría que Passenger (o su equivalente) funcione y use Apache como servidor web, con aplicaciones de rieles lanzadas de forma automática y con la bondad asociada.

Sin embargo, los cambios realizados en Lion parecen interrumpir a Passenger, ya que esto se basa en hosts virtuales con nombre para detectar invocaciones, y dar inicio a las aplicaciones Rails bajo Apache. He intentado usar el método descrito en el consejo de notas de soporte de Apple para hosts con nombre Apache, pero no he tenido ninguna alegría: - /

Parece que puedo necesitar morder la bala y usar el nuevo mecanismo de configuración de la aplicación web de Lion Server para especificar las dependencias de Rails, y lanzar las aplicaciones de Rails de esa manera.

¿Alguien ha tenido éxito con la configuración de Lion Server para servir a Rails Apps a través de Apache?

Cualquier puntero o consejo sería apreciado.

por cierto, estoy usando un nuevo Mac mini, así que esta es una instalación limpia de Lion, y volver a SL no es una opción: - /

    
pregunta Snips 07.08.2011 - 15:53

1 respuesta

1

He realizado algunos experimentos para responder mi propia pregunta ...

En primer lugar, solo he conseguido que el host virtual denominado kludge trabaje con Passenger, no el nuevo esquema de Lion, pero bueno, es un comienzo ...

En primer lugar, siga la solución temporal de Apple, como se indica en la pregunta.

Luego, lo siguiente funciona para que admita dos hosts virtuales nombrados, implementados utilizando Passenger y Rails. Derivé esto tomando el ejemplo del host virtual de Lion y fusionándome en mi configuración de Snow Leopard.

Descargo de responsabilidad esto funciona, pero necesita mejoras. Aún no tengo SSL funcionando.

Agregue lo siguiente en un archivo llamado 0000_any_80_.conf

## Example Virtual Host Configuration

<VirtualHost *:80>
    ServerName bongle.example.com
    ServerAlias bungle.example.com
    ServerAdmin [email protected]
    RackEnv bongle_production
    RailsEnv bongle_production

    DocumentRoot "/Users/Nigel/Rails/bungle/public"
    CustomLog "/var/log/apache2/access_log" combinedvhost
    ErrorLog "/var/log/apache2/error_log"

    <IfModule mod_ssl.c>
        SSLEngine Off
        SSLCipherSuite "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"
        SSLProtocol -ALL +SSLv3 +TLSv1
        SSLProxyEngine On
        SSLProxyProtocol -ALL +SSLv3 +TLSv1
    </IfModule>

    <Directory "/Users/Nigel/Rails/bungle/public">
        Options All +MultiViews -ExecCGI -Indexes
        AllowOverride None
        <IfModule mod_dav.c>
            DAV Off
        </IfModule>
    </Directory>

</VirtualHost> 

<VirtualHost *:80>
    ServerName burble.anothersite.com
    ServerAlias www.anothersite.com
    ServerAdmin [email protected]
    RackEnv burble_production
    RailsEnv burble_production

    DocumentRoot "/Users/Nigel/Rails/burble/public"
    CustomLog "/var/log/apache2/access_log" combinedvhost
    ErrorLog "/var/log/apache2/error_log"

    <IfModule mod_ssl.c>
        SSLEngine Off
        SSLCipherSuite "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"
        SSLProtocol -ALL +SSLv3 +TLSv1
        SSLProxyEngine On
        SSLProxyProtocol -ALL +SSLv3 +TLSv1
    </IfModule>

    <Directory "/Users/Nigel/Rails/school/public">
        Options All +MultiViews -ExecCGI -Indexes
        AllowOverride None
        <IfModule mod_dav.c>
            DAV Off
        </IfModule>
    </Directory>

</VirtualHost>

Las contribuciones adicionales para mejorar esto son bienvenidas.

    
respondido por el Snips 12.08.2011 - 01:09

Lea otras preguntas en las etiquetas