Создание символической ссылки в каталоге сайтов

у меня есть файл в моем ~/Sites каталог, который отлично работает, когда я просматриваю его через coderama.local/~coderama/index2.php

теперь я хочу, чтобы получить сложно и переместить мой index2.php файл в другом месте в моей системе, поэтому я делаю это, создавая символическую ссылку. Однако, когда я пытаюсь получить доступ coderama.local/~coderama/index2.php теперь я получаю следующую ошибку.

есть идеи кто-нибудь?

спасибо!

запрещен

у вас нет разрешения на доступ к /~coderama/index2.php на этот сервер.

6 ответов


это настраиваемый параметр Apache. Похоже, что по умолчанию на Macs (и, вероятно, большинстве установок) Apache настроен не следовать символическим ссылкам. Я предполагаю (как упоминалось выше), что это для целей безопасности.

но иногда может быть очень удобно включать следующие символические ссылки, особенно во время разработки определенных видов приложений. Что вам нужно сделать, это 1) изменить конфигурацию Apache, чтобы разрешить следующие символические ссылки, а затем 2) перезапустите Apache.

шаг настройки выполняется следующим образом:

a) cd / etc / apache2 (здесь файлы конфигурации Apache по умолчанию находятся на Mac)

b)здесь вы увидите несколько каталогов. Один называется users

c) пользователи cd

d) ls должен показать a .conf файл с вашим именем пользователя (логин.conf) я "Марво", поэтому мое имя "Марво".conf"

e) отредактируйте этот файл (я использую Ви), но вы должны сделать это с помощью sudo:

sudo vi marvo.conf

F) вы увидите что-то вроде

<Directory "/Users/marvo/Sites/">
    Options Indexes MultiViews 
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

g) добавьте опцию "FollowSymLinks", чтобы вторая строка этого .файл conf выглядит так:

Options Indexes MultiViews FollowSymLinks

(вы можете найти другие параметры конфигурации там в сети. Я нашел эту страницу: http://httpd.apache.org/docs/2.0/mod/core.html#directory )

h) сохраните файл.

теперь вам нужно перезапустить Apache, чтобы он принимает изменения конфигурации. Немного погуглив, я обнаружил, что это легче всего сделать из командной строки со следующей командой:

sudo /usr/sbin/apachectl restart

(нашел это в http://mcapewell.wordpress.com/2006/09/22/restart-apache-in-mac-os-x/ )

теперь эта символическая ссылка должна отлично работать на ваших страницах сайтов.


была та же проблема. К сожалению, ответа Марво оказалось недостаточно.

проблема заключается в разрешениях, установленных для каждой папки в пути, начиная с ~/. Каталоги нуждаются в execute флаг установлен для рекурсии дерева каталогов. Итак, в моем случае я symlinked папку темы из ~/Dropbox/projects/theme для установки wordpress на ~/Site/wordpress.

ответ был:

chmod a+x ~/Dropbox/
chmod a+rx ~/Dropbox/projects

Это старая проблема, но если кто-то достигнет этой страницы, это может быть полезный. :)


похоже на проблему безопасности (также предположил Мэтт)

http://discussions.apple.com/thread.jspa?threadID=1771399


Я не помню конкретных причин, но это не работает. Это вопрос безопасности. Вы можете использовать XAMPP http://www.apachefriends.org/en/xampp-macosx.html или MAMP http://www.mamp.info/en/index.html чтобы обойти это.


в дополнение к ответу Марво. Что помогло мне было изменить разрешение на документы:

cd ~
chmod a+rx Documents/

также убедитесь, что у вас есть директива в вашем httpd-vhosts.conf

в противном случае вы получаете то же самое "403 запрещено в браузере", с " клиент запрещен конфигурацией сервера в журнале ошибок.