Я бы хотел, чтобы Apache обслуживал "нормальные" файлы из /srv/http/public , а пользовательские файлы - из /srv/http/[user] , чтобы каталоги могли выглядеть так

/srv/http
  /public
    index.html - Accessible at localhost/index.html
  /austin
    index.html - Accessible at localhost/~austin/index.html

Прямо сейчас у меня есть следующие соответствующие конфигурации в файлах Apache .conf

User http
Group http
DocumentRoot "/srv/http/public"

<Directory "/srv/http/public">
  Options Indexes FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>

UserDir /srv/http
UserDir disabled root

<Directory "/srv/http">
  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>

И следующие разрешения в /srv/http:

drwxr-xr-x  root    http   /srv/http
drwxr-xr-x  http    http   /srv/http/public
-rwxr-xr-x  http    http   /srv/http/public/index.html
drwxr-xr-x  austin  http   /srv/http/austin
-rwxr-xr-x  austin  http   /srv/http/austin/index.html

Используя эту настройку, localhost/index.html отображается нормально, но localhost/~austin/index.html дает 403 Доступ запрещен! ошибка, что бы я ни пытался.

Изменить: соответствующая запись error_log: [error] [client ::1] client denied by server configuration: /srv/http/austin/index.html

Что я делаю неправильно?

О, и я не думаю, что это действительно имеет значение, но я использую Arch Linux и Apache 2.2.19

1 ответ1

0

Проблема заключалась в том, что директива <Directory> для пользовательских каталогов была слишком строгой.

Повторное использование тех же директив из каталога /srv/http/public позволяет внешнему миру видеть любые пользовательские файлы:

<Directory "/srv/http">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

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