Cercando di eseguire il server Apache su Mavericks

5

Sto cercando di installare un vhost Apache su Mavericks, qualcosa che sono riuscito a fare facilmente su 10.6.8. Sto usando l'Apache predefinito preinstallato su una nuova installazione di OS X 10.9.2

$ sudo apachectl start
org.apache.httpd: Already loaded

$ ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.053 ms

Ma quando navigo verso http://localhost o http://127.0.0.1 su uno dei miei 3 browser, mi viene detto che non riesco a connettermi, invece di vedere Apache "Funziona!" Messaggio. (Su Chrome, vedo "Oops! Google Chrome non riesce a connettersi a localhost")

Ho anche provato ad aggiungere un vhost:

  1. Non confrontato Include /etc/apache2/extra/httpd-vhosts.conf in /private/var/appache2/httpd.conf
  2. Aggiunto 127.0.0.1 test.local a / etc / hosts
  3. Aggiunto il seguente a /etc/apache2/extra/http2-vhosts.conf

    <VirtualHost *:80>
     ServerName test.local
     DocumentRoot /Users/me/test
     <Directory /Users/me/test>
       AllowOverride all
       Options -MultiViews
     </Directory>
    </VirtualHost>
    
  4. Apache riavviato

    $ apachectl -t
    Syntax OK
    $ sudo apachectl graceful
    $ ping test.local
    PING test.local (127.0.0.1): 56 data bytes
    64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.040 ms
    

... ma ancora niente, quando passo al link

Qualche idea? Questo ha qualcosa a che fare con la nuova preferenza "Condivisione Web" di Mavericks, che devi scaricare separatamente, o qualcosa del genere?

Modifica:

Capito! Ho dovuto modificare le opzioni principali della directory httpd.conf su AllowOverride All e Allow from All , come per questo tutorial . Il file conf fornito con Mavericks è stato disattivato. Se avessi guardato il mio file conf originale sulla mia vecchia macchina, avrei notato la differenza.

L'altra cosa che mi stava facendo casino è che se ho

ErrorLog "/Users/me/error.log"

nella mia definizione di VirtualHost, ricevo "Chrome non può connettersi", anche se Apache mi dice che la sintassi sta bene. La rimozione risolve il problema.

Grazie a tutti!

    
posta Sam Fen 17.04.2014 - 16:21
fonte

3 risposte

2

Controlla /var/log/apache2/error_log o /var/log/system.log . Puoi anche provare a svuotare la cache DNS eseguendo sudo killall -HUP mDNSResponder . Vedi link .

L'esecuzione di sudo apachectl start rende http://localhost mostra "Funziona!" pagina per me in una VM 10.9.

Salvataggio

<Directory "/Users/username/Sites/">
  Options Indexes Multiviews
  AllowOverride AuthConfig Limit
  Order allow,deny
  Allow from all
</Directory>

come /etc/apache2/users/username.conf e in esecuzione sudo apachectl restart rende http://localhost/~username/ punto a ~/Sites/ .

Non corretto Include /private/etc/apache2/extra/httpd-vhosts.conf in /etc/apache2/httpd.conf , aggiungendo 127.0.0.1 test.dev a /etc/hosts , aggiungendo

<VirtualHost *:80>
  DocumentRoot "/Users/username/Sites/test"
  ServerName test.dev
</VirtualHost>

a /etc/apache2/extra/httpd-vhosts.conf e l'esecuzione di sudo apachectl restart rende http://test.dev punto a ~/Sites/test/ .

    
risposta data 17.04.2014 - 18:13
fonte
0

Prima di tutto, hai svuotare la cache DNS dopo aver modificato il file degli host? Esegui dscacheutil -flushcache in Terminale.

In secondo luogo, puoi eseguire apachectl -S per controllare la tua configurazione di apache2. Correggi eventuali errori e riavvia nuovamente Apache.

In terzo luogo, controlla le autorizzazioni sulla tua directory /Users/me/test . Chmod le autorizzazioni su quella directory su 775 o anche 777 per vedere se questo aiuta.

    
risposta data 17.04.2014 - 17:40
fonte
0

Ho aggiornato con Mavericks di Snow Leopard e il mio apache mi ha dato molto tempo. Dopo aver sbattuto la testa per due notti consecutive, leggendo tutto sulla configurazione di Apache sotto Mavericks e non vedendo alcun progresso su di esso, ho avuto il messaggio "Funziona" per ogni host virtuale precedentemente configurato con SL e, a un certo punto, anche smesso di funzionare - Ho scoperto che se si scambia il vecchio httpd.conf-precedente con il file httpd.conf appena generato, si dovrebbe commentare anche LoadModule bonjour_module libexec/apache2/mod_bonjour.so . apachectl start (o restart ) non genera errori, ma in realtà non gli piace affatto questo modulo. Quindi commenta questa riga.

Suppongo che la lezione consista nel triplicare ogni direttiva nella configurazione. E sbatti anche la testa meno. ; /

    
risposta data 06.11.2014 - 23:13
fonte

Leggi altre domande sui tag