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.