3 votos

Configuración del servidor OS X 10.7 Lion para servir a las aplicaciones Rails a través de Apache

Tengo varias aplicaciones de Rails que funcionan muy bien con el Leopardo de Nieve, pero me gustaría migrarlas a Lion.

Sin embargo, como muchos otros, la alfombra ha sido arrancada de debajo de mis pies por los cambios que se han hecho 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) funcionara y usara Apache como servidor web, con aplicaciones de railes lanzadas automágicamente, y la bondad asociada.

Sin embargo, los cambios hechos a Lion parecen romper a Pasajero, ya que éste se basa en hosts virtuales nombrados para detectar invocaciones, y poner en marcha las aplicaciones de Rails bajo Apache. He intentado usar el método descrito en el consejo de la nota de soporte de Apple para los hosts con nombre de Apache, - pero no me ha gustado :-/

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

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

Cualquier consejo o sugerencia será apreciado.

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

1voto

GeneQ Puntos 252

He hecho algunos experimentos para responder a mi propia pregunta...

En primer lugar, sólo he conseguido que el anfitrión virtual trabaje con Pasajero, no con el nuevo plan Lion, pero oye, es un comienzo...

En primer lugar, sigue el arreglo temporal de Apple, como se enlaza en la pregunta.

Entonces, lo siguiente funciona para mí para apoyar a dos hosts virtuales con nombre, implementados usando Passenger y Rails. Derivé esto tomando el ejemplo del host virtual Lion, y fusionándolo en mi configuración de Snow Leopard.

Descargo de responsabilidad esto funciona, pero necesita mejorar. No tengo el SSL funcionando todavía.

Añade 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 bongle@example.com
    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 bongle@anothersite.com
    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>

Se acogerán con beneplácito las contribuciones adicionales para mejorar esto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X