2

Есть ли способ символически связать каталог с помощью ln с моим каталогом ~/Sites/ в OS X, чтобы разрешения были правильными, чтобы его можно было просматривать в веб-браузере, когда я занимаюсь веб-разработкой на локальном компьютере?

Это то, что я сделал с помощью ln -s ~/code/web/yolkportfolio ~/Sites/yolkportfolio я выполнил команду chmod 755 но она по-прежнему не читается.

Любая помощь будет принята с благодарностью.

2 ответа2

2

Проблема была с моим конфигом apache. Вот что позволило ему работать, просто правило FollowSymLinks .

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

У вас есть несколько вариантов:

1. Если вы используете apache с другим пользователем (не вашим) и хотите, чтобы DocumentRoot указывал на какой-то каталог в вашем доме, вы должны изменить разрешения для вашего домашнего каталога (по умолчанию должно быть 750 или 700) на 755

Я бы порекомендовал это, только если это ваш ноутбук или ваш персональный компьютер, и никто другой не имеет к нему доступа.

2. Первый вариант не подходит, но вы все равно хотите, чтобы DocumentRoot находился у вас дома, затем вы можете сменить пользователя, который запускает apache . Отредактируйте его файл конфигурации и найдите директивы User и Group .

3. Второй по-прежнему не вариант, и все же ... вы хотите вещи в вашем доме. Используйте apache mod_userdir. Со следующей конфигурацией:

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride FileInfo AuthConfig Limit Indexes
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>

Это конфигурация по умолчанию для Apache mod_userdir в Debian. Вы сможете получить доступ к:

/home/your-username/public_html/*

в вашем браузере по следующему адресу:

http://somewhere/your-username/*

4. Наконец, вы можете разместить DocumentRoot где-нибудь еще (/srv/www , /opt/www или что-то еще) и настроить разрешения при необходимости.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .