Precisa de ajuda para configurar diretórios de usuário do Apache


0

Gostaria que o Apache servisse arquivos "normais" e arquivos de /srv/http/publicusuário /srv/http/[user], para que os diretórios parecessem

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

No momento, tenho as seguintes configurações relevantes nos .confarquivos 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>

E as seguintes permissões em /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

Usando esta configuração, localhost/index.htmlexibe bem, mas localhost/~austin/index.html dá um acesso 403 proibido! erro, não importa o que eu tente.

Editar: a entrada error_log relevante: [error] [client ::1] client denied by server configuration: /srv/http/austin/index.html

O que estou fazendo errado?

Ah, e eu não acho que isso realmente importe, mas estou usando o Arch Linux e o Apache 2.2.19


Seus registros dizem ...?
Ignacio Vazquez-Abrams

Atualizei a pergunta com a única mensagem fornecida pelo arquivo de log (exceto pela solicitação do arquivo favicon.ico) #
Austin Hyde

Respostas:


0

O problema era que a <Directory>diretiva para os diretórios do usuário era muito restritiva.

A reutilização das mesmas diretivas do /srv/http/publicdiretório permite que o mundo externo veja qualquer arquivo do usuário:

<Directory "/srv/http">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.