Configurazione di OS X 10.7 Lion Server per servire le App di Rails tramite Apache

3

Ho un certo numero di App per Rails che funzionano molto bene con Snow Leopard, ma vorrei trasferirle su Lion.

Tuttavia, come molti altri, il tappeto è stato tirato da sotto i piedi dalle modifiche apportate all'amministratore di Mac OS X Server con Lion.

Detto questo, è stato semplice installare Rails e far rispondere la mia app Rails tramite il server web di WEBrick.

Ora vorrei che il Passenger (o l'equivalente) funzionasse e usasse Apache come server web, con le app per i binari lanciati automaticamente e la bontà associata.

Tuttavia, le modifiche apportate a Lion sembrano rompere Passenger, poiché questo si basa su host virtuali denominati per rilevare le chiamate e avviare le App di Rails con Apache. Ho provato a utilizzare il metodo descritto nel consiglio di Apple sulle note di supporto per gli host con nome Apache, ma non ho avuto gioia: - /

Sembra che potrebbe essere necessario mordere il proiettile e utilizzare il nuovo meccanismo di configurazione della web app Lion Server per specificare le dipendenze di Rails e avviare le App per Rails in questo modo.

Qualcuno ha avuto successo con la configurazione di Lion Server per servire le App di Rails tramite Apache?

Qualsiasi suggerimento e suggerimento sarebbe apprezzato.

btw, sto usando un nuovo Mac mini, quindi questa è un'installazione pulita di Lion, e tornare a SL non è un'opzione: - /

    
posta Snips 07.08.2011 - 15:53
fonte

1 risposta

1

Ho fatto qualche esperimento per rispondere alla mia domanda ...

In primo luogo, ho solo ottenuto l'host virtuale chiamato kludge che lavora con Passenger, non il nuovo schema Lion, ma hey, è un inizio ...

In primo luogo, segui la correzione temporanea di Apple, come linkato nella domanda.

Quindi, il seguente lavoro per me supporta due host virtuali denominati, implementati usando Passenger e Rails. L'ho ricavato prendendo l'esempio dell'host virtuale Lion e unendomi nella configurazione di Snow Leopard.

Disclaimer funziona, ma ha bisogno di miglioramenti. Non ho ancora funzionato SSL.

Aggiungi quanto segue in un file chiamato 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>

Ulteriori contributi per migliorare questo sono i benvenuti.

    
risposta data 12.08.2011 - 01:09
fonte

Leggi altre domande sui tag