2014-10-21 11 views
30

ho pulito installato Mac OSX Yosemite ma non posso configurare l'Apache 2.4, come ho sempre fatto su versioni precedenti OSX.Cambiare la directory localhost per Yosemite Apache 2.4

Ecco cosa voglio fare: impostare la directory "localhost" a "/ Users/nomeutente/Public /". Ma, tutto quello che ho provato non funzionerà, ottengo sempre un "Proibito, non posso accedere a /" o ottengo il valore predefinito "Funziona!" pagina ...

Come reroot semplicemente la mia localhost?

Thx

EDIT (grazie a Krister Andersson per la risposta)

per Mac OSX 10.10 Yosemite

anche inserisco i cambiamenti che ho dovuto fare per mantenere le cose in esecuzione.

In "/ etc/apache2/users /", ho creato un file denominato dal mio nome utente come "myUsername.conf".

È possibile ottenere il nome utente digitando "id" nel terminale. Dovresti trovare il tuo nome utente all'inizio in "uid = 501 (myUsername)".

In questo nuovo file "myUsername.conf", basta copiare e passato questo:

<Directory "/Users/myUsername/Sites/"> 
    AllowOverride All 
    Options Indexes MultiViews 
    Options +FollowSymLinks 
    Require all granted 
</Directory> 

Non perdonare per modificare il valore myUsername.

Poi, nel file "/etc/apache2/httpd.conf" togliere il commento tutte queste due righe:

167 #LoadModule userdir_module libexec/apache2/mod_userdir.so 
169 #LoadModule php5_module libexec/apache2/libphp5.so 

Linea 236, cambiare la directory di "DocumentRoot" per quello che vuoi. Linea 250, impostare "Opzioni" a "Opzioni "Options Indexes FollowSymLinks MultiViews". Linea 258, impostare "AllowOverride None" a "AllowOverride All". Linea 263, impostare "Richiedi tutto negato" a "Richiede tutto scontato"

In Terminal, riavviare apache digitando "sudo apachectl restart".

e 'il lavoro di per me su Mac OS X 10.10 Yosemite installazione pulita.

+1

Mi piace come usato la parola "e" non ci ... ("cosa hai provato finora?" non è consentito.) –

+0

possibile duplicato del [Apache localhost/~ username/non funziona] (http://stackoverflow.com/questions/ 24583859/apache-localhost-username-not-working) –

+0

No, non è un duplicato. – Jordan

risposta

41

ho appena installato Yosemite e sono riuscito a cambiare il DocumentRoot senza alcun problema: in primo luogo ho modificato le seguenti righe in /private/etc/apache2/httpd.conf:

DocumentRoot "/Library/WebServer/Documents" 
<Directory "/Library/WebServer/Documents"> 
Options FollowSymLinks Multiviews 

AllowOverride None 
</Directory> 

a:

DocumentRoot "<CUSTOM_PATH>" 
<Directory "<CUSTOM_PATH>"> 
Options Indexes FollowSymLinks Multiviews 

AllowOverride All 
</Directory> 

Quanto sopra impostare una consuetudine DocumentRoot, abilitare elenco di directory e consentire configurazioni per trovare un limite in .htaccess file.

Quindi ho riavviato apache eseguendo sudo apachectl restart.

altro approccio sarebbe quello di creare un host virtuale.Prima di tutto assicuratevi in ​​modo che la seguente riga sia commentata nel /private/etc/apache2/httpd.conf del file:

# Virtual hosts 
#Include /private/etc/apache2/extra/httpd-vhosts.conf 

Quindi è possibile aggiungere quanto segue nel file httpd-vhosts.conf:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "/Library/WebServer/Documents" 
    ServerName example.local 
    ErrorLog "/private/var/log/apache2/example.local-error_log" 
    CustomLog "/private/var/log/apache2/example.local-access_log" common 

    <Directory "/Library/WebServer/Documents"> 
    Options Indexes FollowSymLinks Multiviews 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
    </Directory> 
</VirtualHost> 

Il setup di sopra di una radice del documento per una nuova host virtuale denominato example.local e abilitare l'elenco delle directory e consentire la sovrascrittura delle configurazioni nei file .htaccess. Naturalmente il vostro sarà anche necessario riavviare apache per le modifiche abbiano effetto:

sudo apachectl restart 
+1

Questo ha funzionato per me. Grazie! – ksb86

+1

Bello! Funziona anche per me. Sto male nella 'configurazione del server'. Grazie mille, rispondo anche alla mia domanda per pubblicare la mia configurazione (aggiungo alcune modifiche da altre fonti). Bonus: Sai come impostare localhost su root "/" disponibile solo per 127.0.0.1 e 127.0.0.1 richiesto da esterno reindirizzato ad un'altra cartella? – Jordan

+0

@Jordan - Potrei essere in grado di aiutarti, ma poiché questa sembra essere una domanda diversa, penso che prima dovresti crearne una nuova e dovresti anche provare ad aggiungere informazioni più chiare su ciò che stai cercando di fare. – Cyclonecode

10

su El Capitan è necessario riavviare apache con la bandiera "k": sudo apachectl -K riavviare

+1

Questo ha risolto il mio problema con la directory principale che non aggiorna :) – borislemke

Problemi correlati