2014-10-21 35 views
30

Mam zainstalowany system Mac OS X Yosemite, ale nie mogę skonfigurować Apache 2.4 tak, jak zawsze robiłem na starszych wersjach OSX.Zmień katalog localhost dla Yosemite Apache 2.4

Oto, co chcę zrobić: ustawić katalog "localhost" na "/ Users/username/Public /". Ale wszystko, co próbowałem, nie zadziała, zawsze otrzymuję komunikat "Forbiden, nie mam dostępu do" lub domyślnie "Działa!" strona ...

Jak po prostu ponownie uruchomić mój localhost?

Thx

EDIT (dzięki Krister Andersson na odpowiedź)

dla Mac OSX 10.10 Yosemite

ja również zamieścić zmian miałem zrobić, aby utrzymać wszystko bieganie.

W "/ etc/apache2/users /" utworzyłem plik nazwany przez moją nazwę użytkownika taką jak ta "myUsername.conf".

Możesz uzyskać swoją nazwę użytkownika, wpisując "id" w terminalu. Powinieneś znaleźć swoją nazwę użytkownika na początku w "uid = 501 (myUsername)".

W tym nowym "myUsername.conf" pliku, wystarczy skopiować przeszłość to:

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

Dont przebaczyć, aby zmienić wartość myUsername.

Następnie w "/etc/apache2/httpd.conf" pliku odkomentować wszystkie te dwie linie:

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

Linia 236, zmienić katalogu "DocumentRoot" do tego, co chcesz. Linia 250, ustaw "Opcje" na "Opcje" Opcje Indeksy FollowSymLinks Multiviews ". Linia 258, ustaw" AllowOverride None "na" AllowOverride All ". Linia 263, ustaw" Wymagaj wszystkich odrzuconych "na" Wymagaj wszystkich przyznanych "

W terminalu, restart apache wpisując "sudo apachectl restart".

pracować dla mnie w systemie Mac OS X 10.10 Yosemite czystej instalacji.

+1

Lubię jak cię użył słowa "I" tam ... ("czego próbowałeś do tej pory?" jest niedozwolone.) –

+0

możliwy duplikat [Apache localhost/~ nazwa użytkownika/nie działa] (http://stackoverflow.com/questions/ 24583859/apache-localhost-username-not-working) –

+0

Nie, to nie jest duplikat. – Jordan

Odpowiedz

41

właśnie zainstalowano Yosemite i udało mi się zmienić DocumentRoot bez żadnych problemów. Najpierw zmodyfikowałem następujące linie w /private/etc/apache2/httpd.conf:

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

AllowOverride None 
</Directory> 

do:

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

AllowOverride All 
</Directory> 

Powyższy ustawi zwyczaj DocumentRoot włącz katalog aukcji i umożliwiają konfiguracje być przesłonięte przez .htaccess plików.

Następnie zrestartowałem apache, wykonując sudo apachectl restart.

Innym podejściem byłoby skonfigurowanie wirtualnego hosta.Najpierw upewnij się więc, że następujący wiersz Odkomentowano w pliku /private/etc/apache2/httpd.conf:

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

Następnie można dodać następujące w pliku 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> 

Powyższy Instalator korzeń dokument na nowy wirtualny host o nazwie example.local i włącz listę katalogów i zezwól, aby konfiguracje zostały zastąpione przez pliki .htaccess. Oczywiście twój będzie również konieczne ponowne uruchomienie Apache, aby zmiany odniosły skutek:

sudo apachectl restart 
+1

To działało dla mnie. Dzięki! – ksb86

+1

Nice! Działa również dla mnie. Jestem zły w "konfiguracji serwera". Wielkie dzięki, odpowiadam również na moje pytanie, aby opublikować moją konfigurację (dodam pewne zmiany z innych źródeł). Bonus: Czy wiesz, jak ustawić localhost na root "/" dostępny tylko dla 127.0.0.1 i 127.0.0.1 żądany z zewnątrz przekierowany do innego folderu? – Jordan

+0

@Jordan - Być może będę w stanie pomóc, ale ponieważ wydaje się, że jest to inne pytanie, myślę, że najpierw powinieneś stworzyć nowe i powinieneś także spróbować dodać więcej jasnych informacji o tym, co próbujesz zrobić. – Cyclonecode

10

Na El Capitan należy ponownie uruchomić Apache "-k" Bandera: sudo apachectl -k restart

+1

Rozwiązało to mój problem z brakiem aktualizacji katalogu głównego :) – borislemke