Нужна помощь в настройке пользовательских каталогов Apache

Нужна помощь в настройке пользовательских каталогов Apache

Я хотел бы, чтобы 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

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

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

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

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

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

Связанный контент