2012-12-21 11 views
5

Ho configurato il software wiki Gitit per l'esecuzione su due porte separate dello stesso server Apache (porte 1848 e 4000). Ho confermato che sono in esecuzione:Come configurare VirtualHosts in modo che punti due porte sullo stesso IP a diversi nomi server?

http://wcaleb.rice.edu:4000
http://wcaleb.rice.edu:1848

Ora voglio procura questi due siti di URL più bella, come http://wiki.wcaleb.rice.edu e http://hist118.wcaleb.rice.edu. L'indirizzo IP per entrambi è 128.42.173.84

L'amministratore del mio server ha aggiunto voci DNS per questi nomi, ma non riesco a far funzionare la mia configurazione di Apache. A seguito del instructions here, ho cercato di impostare un VirtualHost come questo:

NameVirtualHost *:1848 

<VirtualHost *:1848> 
    ServerName hist118.wcaleb.rice.edu 
    DocumentRoot /var/www/ 
    RewriteEngine On 
    ProxyPreserveHost On 
    ProxyRequests Off 

    <Proxy *> 
     Order deny,allow 
     Allow from all 
    </Proxy> 

    ProxyPassReverse/ http://127.0.0.1:1848 
    RewriteRule ^(.*) http://127.0.0.1:1848$1 [P] 

    ErrorLog /var/log/apache2/error.log 
    LogLevel warn 

    CustomLog /var/log/apache2/access.log combined 
    ServerSignature On 

</VirtualHost> 

E un altro host virtuale simile per http://wiki.wcaleb.rice.edu sulla porta 4000. Ma quando ho quindi emettere service httpd restart, ricevo un messaggio quando si avvia FAILED httpd, e la mia il browser non può connettersi a http://hist118.wcaleb.rice.edu.

Per quanto ne so, il resto del mio httpd.conf è il file predefinito fornito con la distribuzione. Il mio server viene eseguito su un computer RedHat Enterprise. Sono un novizio di Apache, quindi sono sicuro che qui c'è una risposta ovvia, ma dopo aver provato varie modifiche alla configurazione, non riesco a capire cosa sto facendo male.

+1

Questa domanda è più appropriata per serverfault – Atropo

+0

Si può provare a eseguire 'httpd -t' direttamente di averlo controllare la sintassi, probabilmente avete un errore di sintassi. Quando vedi FAILED, il server non è mai stato avviato. – Collin

+0

Questo comando restituisce 'Sintassi OK'. Inoltre non capisco cosa significhi dire che il server non è mai stato avviato. Posso ancora accedere ai miei siti sul Web anche dopo aver ricevuto il messaggio 'FAILED'. –

risposta

0

Questo è quello che devi fare.

NameVirtualHost *:80 

    <VirtualHost *:80> 
    ServerName hist118.wcaleb.rice.edu 
     DocumentRoot /var/www/ 
     RewriteEngine On 
     ProxyPreserveHost On 
     ProxyRequests Off 

     <Proxy *> 
      Order deny,allow 
      Allow from all 
     </Proxy> 

     ProxyPassReverse/ http://127.0.0.1:1848 
     RewriteRule ^(.*) http://127.0.0.1:1848$1 [P] 

     ErrorLog /var/log/apache2/error.log 
     LogLevel warn 

     CustomLog /var/log/apache2/access.log combined 
     ServerSignature On 

</VirtualHost> 
+0

Grazie, questa è stata una risposta utile. Si scopre che l'errore principale, tuttavia, era che i miei negozi di distribuzione file di log in/var/log/httpd invece di/var/log/apache2, quindi Apache stava soffocando ogni volta che arrivava alla riga ErrorLog perché la directory non esisteva. Non l'ho capito fino a quando non sono andato a provare guarda il log degli errori e non è stato in grado di trovarlo! * facepalm * –

0

Rimuovere il :1848 (o modificarlo per :80) sul tuo NameVirtualHost e VirtualHost. L'obiettivo principale di questo esercizio è di avere Apache in ascolto sulla porta HTTP predefinita (porta 80) per questi nomi host e traffico proxy verso le porte alte su cui Gitit sta ascoltando.

Problemi correlati