Perché Mac OS X Lion Apache DocumentRoot / usr / htdocs?


15

Sono sconcertato.

Non vedo dove /usr/htdocssia specificato DocumentRoot per apache2 su Mac OS X Lion.

È DocumentRoot predefinito su una nuova installazione di OSX Lion.

Qualcuno può indicarmi dove è specificato?

Ho cercato in tutta la /etc/apache2directory e non sono riuscito a trovare quella regola.


niente nelle /etc/apache2/available-sites/*configurazioni?
ragnq,

L'impostazione OSX predefinita non utilizza la struttura dei siti disponibili o dei siti abilitati.
Vinhboy,

1
Non è. Viene utilizzata una nuova installazione di OS X Lion /Library/WebServer/Documents, proprio come le versioni principali precedenti a Lion, che è anche il punto in cui si trova il pulsante Apri cartella sito Web del computer ... in Preferenze di Sistema »Condivisione» Condivisione Web . Hai installato un gestore di pacchetti come Homebrew, Fink o MacPorts; XAMPP o una soluzione Apache simile? Qual è l'output di which httpde ps aux | grep httpdnel Terminale?
Daniel Beck

Non ho installato nessuno di quei gestori di pacchetti. Ma grazie, guarderò in quella direzione. Vedo la /Library/WebServer/Documentsdirettiva nel file httpd.conf. Tuttavia, è ovviamente sovrascritto altrove. Ho provato a seguire tutti i riferimenti ad altri file .conf, ma non ho ancora avuto fortuna.
Vinhboy,

Perché non grepper /usr/htdocssulla tua macchina e vedere dove è sovrascritto? - (/ cc @dan, non hai ricevuto risposta per questo)
slhck,

Risposte:


14

Quando la "Condivisione Web" NON è abilitata, prende /usr/htdocscome root. Quando si abilita la "Condivisione Web", il file di configurazione sarà disponibile su /etc/apache2/httpd.conf. La directory sarà quella specificata vicino alla seguente sezione del file.

<IfDefine WEBSHARING_ON>
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/Library/WebServer/Documents"

Inoltre puoi usare la tua directory "Sites" /Users/USERNAME/Sitesall'accesso con localhost/~USERNAME.


Spot on. Nota anche la linea ServerRoot "/usr": con la condivisione Web disattivata e nessuna DocumentRoot alternativa specificata, sembra che il valore predefinito di Apache sia cercare htdocsall'interno della radice del server definita.
Rymo,

È vero che alcuni <IfDefine WEBSERVICE> dovrebbero essere commentati dal momento che è un WEBSERVICE?
Gucho Ca,

0

Abilita prima la condivisione Web, vai alle preferenze di sistema -> Condivisione, quindi abilita la condivisione Web. Ho scritto un post su di esso.


Potresti aggiungere più dettagli? Il tuo post contiene più informazioni di quelle che hai detto qui.
Simon Sheehan,

così ha scritto un post, vai a leggerlo e congiffa la tua condivisione web in lion)))) Ho fatto anche questo, prima ora ho la cartella "Sites" nella mia home directory e tutto funziona.
holms,

0

Questo Q mi ha aiutato a risolvere lo stesso problema su SnowLeopard oggi. Attenzione: era la httpd.confa /private/etc/apache2 non /etc/apache2 (che esiste anche) che ha ottenuto leggere e indicò /Library/WebServer/Documentsnel mio caso.

Spero che questo aiuti (anche altri).


L'intera cartella / etc è un collegamento a / private / etc, quindi i due sono la stessa cosa.
Fireandlight27

@ Fireandlight27 Non penso che fosse su SL, altrimenti non scriverei. Sono contento che siano collegati nel tuo caso; quale versione del sistema operativo?
P Marecki,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.