2013-03-11 7 views
2

Я использую ubuntu 12.04 и apache (новый в обоих из них), и я хочу добавить новый виртуальный каталог, чтобы изменить файл /etc/apache2/sites-available/default, добавив следующее:Apache 'У вас нет разрешения на доступ к xx на этом сервере'

Alias /docs/ "/home/kk/workspace/javascript/maplib/" 
<Directory "/home/kk/workspace/javascript/maplib/"> 
    Options Indexes MultiViews FollowSymLinks 
    AllowOverride None 
</Directory> 

Тогда я открываю URL http://localhost/docs/ в браузере и я получаю следующее сообщение:

You don't have permission to access /docs/ on this server. 

Тогда я думаю, что это может быть вызвано разрешения на файл/папку. Так что я добавить read permession для всех пользователей:

sudo chmod a+r /home/kk/workspace/javascript/maplib/ 

Тогда я бегу

ls -ld ~/workspace/javascript/maplib/ 

, и я получил это:

drwxr--r-- 14 kk kk 4096 Mar 11 08:36 /home/kk/workspace/javascript/maplib/ 

Как вы можете видеть каждый пользователь shold имеют read доступ к каталогу, но ничего не изменилось (я также получаю сообщение 403).

Затем я пытаюсь найти разрешение /var/www и я получаю:

drwxr-xr-x 2 root root 4096 Mar 8 15:33 /var/www 

Кажется, что это просто добавить execute разрешения на папку, но я не думаю, что это проблема.

Так что же происходит?


Кстати, почему апач определить /docs и /docs/ с двумя разными URL? Так как я получу 404 по localhost/docs?

+0

@ultranaut: Спасибо за ваше издание. :) – hguser

+0

Вы перезапустили apache после внесения изменений в файл конфигурации? – ultranaut

+0

Ofcouse, я перезапускаю его с помощью 'sudo /etc/init.d/apache2 restart' – hguser

ответ

2

В вашем доступе установки Apache управляется с помощью Etc/apache2/переменные окружения и реализованы в т.д./apache2/apache2.conf

В файл /etc/apache2/apache2.conf вы найдете следующие строки примерно на полпути вниз файл.

#These need to be set in /etc/apache2/envars 
    User ${APACHE_RUN_USER} 
    Group ${APACHE_RUN_GROUP} 

В/и т.д./apache2/переменные окружения вы найдете

export APACHE_RUN_USER=www-data 
export APACHE_RUN_GROUP=www-data 

каталоги, которые вы хотите веб-сервер для доступа должны быть в группе работает веб-сервер. Я бы сказал, чтобы проверить групповые разрешения и исправить их, если это необходимо. Если вы правильно установили эти настройки, разместите журналы доступа Apache.

Смежные вопросы