Postępowałem zgodnie z tym przewodnikiem, aby skonfigurować Apache na High Sierra: https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-macos-sierra/
Użyłem go, aby skonfigurować go w Sierra.
Ale kiedy idę do http://localhost/~scott/
, otrzymuję komunikat „Zabronione. Nie masz uprawnień dostępu do / ~ scott / na tym serwerze”.
Sugestią dotyczącą tego podobnego pytania: localhost / userdir na macOS High Sierra jest ładowanie vhostów. Którego próbowałem, ale wciąż otrzymuję „Zabronione”.
Czy coś zmieniło się między Sierra a High Sierra, co uniemożliwiłoby Apache pracę z folderami Witryn użytkowników?
apache
high-sierra
sfyfedotcom
źródło
źródło
apachectl configtest
i zaktualizuj dane wyjścioweSyntax OK
Odpowiedzi:
To zadziałało, gdy napotkałem ten sam problem.
Sprawdź plik „/private/etc/apache2/extra/httpd-userdir.conf”.
zmiana
do
i uruchom ponownie apache.
Od: /programming/39631351/apache-localhost-403-forbidden-with-macos-sierra
źródło
/private/etc/apache2/extra/httpd-userdir.conf
jest już niekomentowany, z linku instrukcji, który podążyłem.Aby zezwolić na dostęp do katalogu Witryny, musisz dodać następujące elementy do
/etc/apache2/httpd.conf
:Domyślna konfiguracja Apache jest ustawiona na odmowę na /, więc musisz jawnie zezwolić na dostęp do wszystkiego.
źródło
Wystarczy rozwinąć odpowiedź Diogo Lima.
Wraz z aktualizacją do High Sierra, Apple wykonał kopie twoich poprzednich ustawień apache i dodał ~ poprzednio do plików * .conf zarówno w folderach / etc / apache2, jak i / etc / apache2 / extra. Jeśli używasz hostów wirtualnych lub hostów wirtualnych ssl, musisz również przenieść poprzednie wersje również dla tych plików .conf.
źródło
/Library/WebServer/Documents
iUsers/username/Sites
jako oddzielne lokalizacji dla projektów internetowych, jak to, co udało mi się zrobić na MacOS przez ostatnie ponad 10 lat.Po wypróbowaniu wszystkich powyższych metod, jeśli nadal otrzymujesz „zabronione” podczas uzyskiwania dostępu do localhost, spróbuj dodać virtualhost w swoim /etc/apache2/extra/httpd-vhosts.conf
Dodaj:
następnie uruchom ponownie apache.
https://coolestguidesontheplanet.com/set-up-virtual-hosts-in-apache-on-macos-high-sierra-10-13/
działa dobrze dla mnie
źródło
Byłem w tej samej sytuacji, najwyraźniej jest jeszcze kilka wierszy do odkomentowania w httpd.conf, vhosty nie są aktywowane w High Sierra. - https://apple.stackexchange.com/a/299929/259065
źródło
Właśnie zaktualizowano dziś rano. Korzystanie z folderu Witryny w katalogu / Users / nazwa użytkownika.
Utworzono kopię zapasową i zastąpiono httpd.conf, httpd-userdir.conf i https-vhosts.conf z poprzednimi wariantami ~.
Wystąpił
sudo apachectl configtest
błąd PHP (zaktualizowano PHP do wersji 7 w High Sierra). Edytowałem http.conf, aby uruchomić PHP7, a teraz wszystko znów działa.źródło
sudo apachectl configtest
Możliwe rozwiązanie (po niepowodzeniu wszystkich powyższych sugestii). Problem dotyczy zgody katalogu domowego. Powinien być wykonywalny dla grupy / innych:
sudo chmod go + x / Users / username
gdzie „nazwa użytkownika” ma zostać zastąpiona rzeczywistą nazwą użytkownika. Po tym działa!
źródło
Uff !! Sam to rozgryzłem.
Wykonaj te kroki
Krok 1: Otwórz terminal i uruchom poniższe polecenie
Następnie odkomentuj linię, usuwając
"#"
przed nią znakKrok 2: Uruchom następujące polecenie wymienione poniżej
Krok 3: Następnie przejdź do
/Library/WebServer/Documents
katalogu i zróbWróć do przeglądarki Safari i wpisz
"http://localhost/yourprojectname"
Wszystko gotowe.
Używam MacOS High Sierra 10.13, został zaktualizowany wczoraj rano.
źródło
localhost
ucieczka/Library/WebServer/Documents
działa dobrze. Problem jest uruchomionylocalhost/~scott
z/Users/Scott/Sites
.Spędziłem cały ranek, żeby to rozgryźć, ale w końcu udało się. Mam nadzieję, że może to być przydatne dla kogoś.
Postępowałem zgodnie z przewodnikiem, ale z niewielką zmianą.
/users/username/Sites/
, I dodał ostatni ukośnik , aby pracować dla mnie.Teraz mogę uzyskać dostęp do folderów localhost, ale ...
Przed wysoką sierrą wyglądało to tak:
http://localhost/~username/smomesite.local
Teraz jest jak:
http://localhost/smomesite.local
Nie jest już
~username
wymagane.źródło
Users/myname/Sites
katalogu, jak i/Library/WebServer/Documents
Właśnie miałem ten sam problem i chciałem zrobić dokładnie to, co chciałeś (zachowaj katalog główny w / Library / WebServer / Documents, ale zezwól również na foldery Witryn użytkownika). Nie jestem pewien, czy to będzie pomocne, ale po tym, jak waliłem o to godzinami tej nocy, przeglądając wiersz po wierszu przez wszystkie pliki .conf i zastanawiając się, co było nie tak, zdałem sobie sprawę, że proces httpd nie był w stanie odczytać mojego własny katalog użytkownika. Z jakiegoś powodu ustawiono go na 750, a użytkownik _www nie może go odczytać. Kiedyś to naprawiłem, uruchamiając „chmod 755”. w moim katalogu użytkownika folder Witryny pojawił się od razu.
Nie jestem pewien, jak wyglądał mój własny katalog użytkowników, ponieważ wygląda na to, że domyślnie 755, kiedy tworzę nowego użytkownika. I już wielokrotnie sprawdzałem, czy mój folder Witryny jest ustawiony na 755.
źródło
Miałem ten sam problem. Odkomentowałem dwie linie poniżej (jak już zasugerowałem w innej odpowiedzi)
Ale nadal pojawia się ten sam błąd. Sztuką było dla mnie odkomentowanie tych dodatkowych wierszy w pliku httpd.conf:
Mam nadzieję, że to pomaga.
źródło
Zdarza się, że aktualizacja przeniosła całą poprzednią konfigurację do plików .conf ~ previous. Jeśli przeniesiesz /etc/apache2/extra/httpd-userdir.conf~poprzedniej do /etc/apache2/extra/httpd-userdir.conf i /etc/apache2/extra/httpd.conf~poprzedniej do / etc / apache2 / extra / httpd.conf, powinno działać jak wcześniej.
źródło
Miałem ten sam problem. Rozdzielczość była łatwa. Zobacz odpowiedź zamieszczoną tutaj: https://apple.stackexchange.com/a/306390/129503
źródło
Zastąpić
ze starszych ~ poprzednich plików.
Może pojawić się błąd modułu php5 w httpd.conf, zamień php5 na php7 i twoje strony powinny zacząć działać.
Zastąpić
Z
źródło
Właśnie zaktualizowałem i miałem dokładnie te same problemy. Nie używam vhostów. Rozwiązaniem było dla mnie zapewnienie:
w
https.conf
Uncommenti upewnij się, że
extra/httpd-user.conf
ma linię:źródło