Een symbolische link maken in de Sites-directory

Ik heb een bestand in mijn map ~/Sitesdat 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.phpkrijg 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 executenodig om de directorystructuur te kunnen herhalen. Dus in mijn geval heb ik een themamap van ~/Dropbox/projects/themegekoppeld 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.

Other episodes