Apache klaida localhost 403 naudojant „Yosemite“

Aš ką tik įdiegiau „Mac OS X Yosemite“. Aš sukonfigūravau „Apache“ ir „chmodded“ „naudotojus / vartotojus / svetaines“ iki 755. Kai nukentėjau „localhost“, turėjau 403 „ Forbidden "You don't have permission to access / on this server" . Tas pats atsitinka su visomis kitomis svetainėmis, kurias įtraukiu į savo kompiuterio failą.

Bandžiau nustatyti vartotojo katalogus naudodamas šį pranešimą . Vaikinai iš šio „ MacRumors“ gijos žino, kad yra problema su „Apache“, bet nepateikė daug pasiūlymų.

Mano katalogų leidimai yra tokie

 drwxr-xr-x 29 root wheel 1054 Aug 11 07:30 / drwxr-xr-x 6 root admin 204 Aug 11 07:29 /Users/ drwxr-xr-x+ 26 zachshallbetter staff 884 Aug 11 11:57 /Users/zachshallbetter/ 0: group:everyone deny delete drwxr-xr-x 5 zachshallbetter staff 170 Aug 11 10:16 /Users/zachshallbetter/Sites 

Ar kas nors gali pasiūlyti pasiūlymų ar pagalbos? Čia pateikiamos nuorodos į mano kompiuterius ir httpd.conf bei klaidų žurnalus .

46
11 авг. Zach Shallbetter nustatė 11 rug . 2014-08-11 22:05 '14, 10:05 pm 2014-08-11 22:05
@ 7 atsakymai

Nenorite atidaryti viso kietojo disko žiniatinklio serverio procesui. Iš tiesų, „ httpd.conf eilutės 215-217 sako:

 # Deny access to the entirety of your server filesystem. You must # explicitly permit access to web content directories in other # <Directory> blocks below. 

„Apache 2.4“ (OSX 10.10 Yosemite) yra skirtinga struktūra nuo „Apache 2.2“ (OSX 10.9) katalogų direktyvoje mod_authz_core modulyje .

EDIT: Jei konfigūruojate „Apache“ iš START, vadovaukitės šia instrukcija, norėdami konfigūruoti „Apache“ ir „php“ OSX 10.10 Yosemite.

Darant prielaidą, kad jau įgalinote mod_userdir.so , jūsų problema yra jūsų pasirinktame .conf faile ( /etc/apache2/users/username.conf ), redaguokite (arba pridėkite) šiuos.

Apache 2.2:

 <Directory "/Users/jnovack/Sites/"> Options Indexes MultiViews AllowOverride All # OSX 10.9 / Apache 2.2 Order from deny, allow </Directory> 

Apache 2.4

 <Directory "/Users/jnovack/Sites/"> Options Indexes MultiViews AllowOverride All # OSX 10.10 / Apache 2.4 Require all granted </Directory> 
82
17 окт. atsakymas, kurį pateikė jnovack spalio 17 d 2014-10-17 18:01 '14 at 18:01 2014-10-17 18:01

Redaguokite failą: / private / etc / apache 2 / httpd.conf

250 eilutėje (Yosemite):

 Options FollowSymLinks Multiviews 

į

border=0
 Options FollowSymLinks Multiviews Indexes 

tada terminalo paleidimo metu:

 sudo apachectl restart 
44
17 окт. atsakymas pateikiamas 17 val. 2014-10-17 14:41 '14 at 14:41 2014-10-17 14:41

Tai gali būti labai vėlyvas atsakymas, bet aš daugelį sprendimų priėmiau, nė vienas iš jų man nepadėjo dėl įvairių priežasčių. Taigi iš naujo nustatysiu savo įrenginį kaip naują „Yosemite“ OS, kad šis vietinis kompiuteris veiktų „Mac Yosemite“ (naudojant „Symlinks“),

Veiksmai, kuriuos aš padariau:

 sudo nano /etc/apache2/httpd.conf 

Panaikinkite šias eilutes:

 #LoadModule php5_module libexec/apache2/libphp5.so to LoadModule php5_module libexec/apache2/libphp5.so #LoadModule userdir_module libexec/apache2/mod_userdir.so to LoadModule userdir_module libexec/apache2/mod_userdir.so #Include /private/etc/apache2/extra/httpd-userdir.conf to Include /private/etc/apache2/extra/httpd-userdir.conf 

Išsaugoti ir išeiti (Ctrl + X paspauskite Enter ir paspauskite Y ir įveskite dar kartą)

 sudo nano /etc/apache2/extra/httpd-userdir.conf 

ir panaikinkite šią eilutę 16 eilutėje:

 #Include /private/etc/apache2/users/*.conf to Include /private/etc/apache2/users/*.conf 

Išsaugoti ir išeiti (Ctrl + X paspauskite Enter ir paspauskite Y ir įveskite dar kartą).

Dabar eikite į aplanką „Apache“, kad patikrintumėte, ar jūsų konfigūracijos failas yra ar ne.

 cd /etc/apache2/users/ 

jei šiame aplanke neturite konfigūracijos failo, sukurkite jį

 sudo nano /etc/apache2/users/<**YOUR USERNAME**>.conf 

Pakeiskite <YOUR USERNAME> savo įrenginio pavadinimu (įveskite terminalą į terminalą ir įveskite tą pavadinimą).

sukūrę .conf failą, nukopijuokite žemiau esančias eilutes į šį failą

 <Directory "/Users/<YOUR USERNAME>/Sites/"> Add> 

išsaugoti ir išeiti

Dabar iš naujo paleiskite „apache“

 sudo apachectl restart 

Dabar eikite į savo naršyklę ir įveskite localhost, jis veiks taip, kaip tikėtasi,

Pastaba: jei jis neveikia net po kompiuterio perkrovimo

sukurti index.html kaip tiksliai index.html.en, kurį turėtumėte rasti čia:

 open /Library/Webserver/Documents/ 

dešiniuoju pelės klavišu spragtelėkite index.html.en ir kopijuokite jį index.html, palikdami originalą taip

bandykite dar kartą naršyklėje ir, jei turite sėkmės, galite ištrinti dublikato failą

Jei norite, kad šis veiksmas būtų aiškus, palikite šaltinio failą index.html.en kur jis yra, nepažeistas ir nepažeistas.

Nežinote, kodėl turėjau imtis šio paslaptingo apvažiavimo - galbūt kažką vietinio mano automobiliui, bet jei po minėtų gairių kyla problemų, pažiūrėkite, ar tai padeda.

„SymLinks“ :

Jei turite sėkmę, naršyklėje, kurią turėtumėte pamatyti

 It works! 

Dabar sukurkite simbolinę nuorodą bet kuriam savo projektui.

 ln -s <Path_to_your_Project(index_file)> <Path_to_webroot> 

Pavyzdžiui, jei aplanke Dokumentai turite projekto aplanką, tada įdėkite svetainę į indekso failą

 ln -s /Users/<YOUR USERNAME>/Documents/project/ /Library/Webserver/documents/projectlink 

jums gali prireikti leidimo sukurti simbolinę nuorodą (naudokite aukščiau pateiktą komandą su sudo)

Konfigūruokite apache, kad būtų galima stebėti simbolines nuorodas (ačiū „Tomvon“, neturiu pakankamai taškų balsuoti už jus)

 sudo nano /private/etc/apache2/httpd.conf 

250 eilutėje (Yosemite):

 Options FollowSymLinks Multiviews 

į

 Options FollowSymLinks Multiviews Indexes 

tada terminalo paleidimo metu:

 sudo apachectl restart 

Dabar eikite į localhost/projectlink ir pamatysite, ar jūsų naršyklėje rodomas jūsų projekto indeksas.

Laimingas kodavimas.

29
01 февр. atsakymas pateikiamas mahi 01 vasaris. 2015-02-01 01:10 '15 - 1:10 2015-02-01 01:10

Šiame straipsnyje pateikti patarimai padėjo man.

Visų pirma skiltyje „Tik„ Yosemite “:

Pirma, yra direktyva, kuri padeda apsaugoti jūsų kompiuterį, uždraudžiant prieigą prie visos failų sistemos pagal nutylėjimą. „Ill“ parodys, kaip pašalinti šią direktyvą, nes mano, kad kūrimo mašinoje yra lengviau. Kodo sekcija eina nuo 220 iki 223 eilutės. Galite komentuoti („# prieš kiekvieną eilutę“) arba tiesiog ištrinti šį skyrių.

Ir sekcija ...

 <Directory /> AllowOverride none Require all denied </Directory> 

Pastaba:

Kaip parodė kitos detalės, pirmiau aprašytas metodas gali būti nesaugus.

8
27 сент. Jody tate atsakymas 27 sep . 2014-09-27 05:02 '14 at 5:02 2014-09-27 05:02

Yra dvi galimybės, kodėl jūsų localhost uždraustas, pirma, jis gali būti dėl to, kad jūsų apache parametras yra neteisingas, ir, antra, gali būti dėl to, kad įdiegėte „ vhost , ir jūs taip pat pamiršote apie „ localhost rinkinį

  • sudo nano /etc/apache2/extra/httpd-vhosts.conf
  • Pridėti šį kodą

"

 <VirtualHost *:80> ServerName localhost DocumentRoot "/Users/username/Sites" <Directory "Users/username/Sites"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> 
  • Išsaugokite ir paleiskite „apache“

"

 sudo apachectl restart 

tai turėtų būti darbas :)

2
06 окт. atsakymą pateikė Ade Yahya 06 spalis 2015-10-06 19:48 '15 19:48 val. 2015-10-06 19:48

Pasiūlymai gali būti sutelkti į savo „apache“ naudotojo konfigūraciją, tačiau pagal nutylėjimą ši konfigūracija visai negali įkelti.

Modifikuoti naudotojo modulio konfigūraciją:

sudo vi / etc / apache2 / extra / httpd-userdir.conf

Panaikinkite vartotojo katalogo konfigūracijos failų įtraukimą:

Include /private/etc/apache2/users/*.conf

Įsitikinkite, kad turite naudotojo katalogo konfigūraciją su savo naudotojo vardu:

sudo vi / etc / apache2 / users / .conf

Įsitikinkite, kad turite tinkamą namų katalogo nustatymą:

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

Paleisti „apache“ (žiniatinklio serveris)

sudo apachectl restart

Patikrinkite savo svetainę!

0
24 нояб. Atsakymą pateikė Huupke lapkričio 24 d. 2017-11-24 23:17 '17, 11:17 pm 2017-11-24 23:17

Tiesiog sukurkite aplanką „Sklypai“ vartotojo aplanke. Eikite į

cd ~
mkdir 'Sites'

-3
03 авг. atsakymą pateikė Cristian Cartes Arce 03 rug. 2015-08-03 22:21 '15 , 10:21 val. 2015-08-03 22:21

Kiti klausimai apie žymes arba Užduoti klausimą