Ik heb een bestand in mijn map ~/Sites
dat prima werkt als ik ernaar blader via coderama.local/~coderama/index2.php
Nu wil ik lastig worden en mijn index2.php
-bestand naar een andere plek op mijn systeem verplaatsen, dus ik doe dit door een symbolische link te maken. Wanneer ik echter probeer toegang te krijgen tot coderama.local/~coderama/index2.php
krijg ik nu de volgende foutmelding.
Enig idee iemand?
Bedankt!
Verboden
Je hebt geen toestemming om /~coderama/index2.php op deze server te openen.
Antwoord 1, autoriteit 100%
Dat is een configureerbare Apache-optie. Het lijkt erop dat Apache standaard op Macs (en waarschijnlijk de meeste installaties) is geconfigureerd om geen symbolische links te volgen. Ik vermoed (zoals anderen hierboven vermelden) dat het voor veiligheidsdoeleinden is.
Maar het kan soms erg handig zijn om symbolische links te volgen, vooral tijdens de ontwikkeling van bepaalde soorten apps. Wat u moet doen is 1) de Apache-configuratie wijzigen om het volgen van symbolische links toe te staan, en 2) Apache opnieuw starten.
De configuratiestap wordt als volgt uitgevoerd:
a) cd /etc/apache2 (hier staan de configuratiebestanden van Apache standaard op een Mac)
b) je ziet hier een aantal mappen. Een daarvan heet gebruikers
c) cd-gebruikers
d) ls zou een .conf-bestand moeten onthullen met uw loginnaam (login.conf) Ik ben “marvo”, dus de mijne heet “marvo.conf”
e) Bewerk dit bestand (ik gebruik vi) — maar je moet het doen met sudo:
sudo vi marvo.conf
f) Je ziet zoiets als
<Directory "/Users/marvo/Sites/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
g) Voeg de optie “FollowSymLinks” toe zodat de tweede regel van dat .conf-bestand er als volgt uitziet:
Options Indexes MultiViews FollowSymLinks
(Je kunt andere configuratie-opties vinden op het internet. Ik heb deze pagina gevonden: http://httpd.apache.org/docs/2.0/mod/core.html#directory)
h) Sla het bestand op.
Nu moet je Apache opnieuw opstarten zodat het de configuratiewijziging oppikt. Wat googelend, ontdekte ik dat dit het gemakkelijkst kan vanaf de opdrachtregel met het volgende commando:
sudo /usr/sbin/apachectl restart
(Gevonden op http:/ /mcapewell.wordpress.com/2006/09/22/restart-apache-in-mac-os-x/)
Nu zou die symbolische link prima moeten werken op uw Sites-pagina’s.
Antwoord 2, autoriteit 55%
Heb hetzelfde probleem gehad. Helaas was het antwoord van Marvo niet genoeg.
Het probleem ligt bij de machtigingen die zijn ingesteld voor elke map in het pad, beginnend bij ~/
. De directory’s hebben de vlag execute
nodig om de directorystructuur te kunnen herhalen. Dus in mijn geval heb ik een themamap van ~/Dropbox/projects/theme
gekoppeld aan een wordpress-installatie op ~/Site/wordpress
.
Het antwoord was:
chmod a+x ~/Dropbox/
chmod a+rx ~/Dropbox/projects
Dit is een oud probleem, maar als iemand deze pagina bereikt, kan het nuttig zijn. 🙂
Antwoord 3, autoriteit 5%
Lijkt op een beveiligingsprobleem (ook gesuggereerd door Matt)
http://discussions.apple.com/thread.jspa?threadID=1771399
Antwoord 4
Ik herinner me de specifieke reden niet meer, maar het werkt niet. Het is een beveiligingsprobleem. Je kunt XAMPP http://www.apachefriends.org/en/xampp-macosx gebruiken. htmlof MAMP http://www.mamp.info/en/index.html om dit te omzeilen.
Antwoord 5
In aanvulling op Marvo’s antwoord. Wat me hielp was om De toestemming voor de map Documentente wijzigen:
cd ~
chmod a+rx Documents/
Antwoord 6
Zorg er ook voor dat je een richtlijn in je httpd-vhosts.conf hebt staan
Anders krijg je dezelfde ‘403 verboden in de browser’, met ‘de client geweigerd door serverconfiguratie in het foutenlogboek.