Besoin d'aide pour configurer les répertoires d'utilisateurs Apache


0

J'aimerais qu'Apache serve des fichiers "normaux" sur /srv/http/publicet des fichiers utilisateur sur /srv/http/[user], les répertoires peuvent ressembler à

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

À l'heure actuelle, j'ai les configurations pertinentes suivantes dans Apache .conf des dossiers

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>

Et les autorisations suivantes dans /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

En utilisant cette configuration, localhost/index.html affiche bien, mais localhost/~austin/index.html donne un 403 Accès interdit! erreur, peu importe ce que j'essaie.

Modifier: l'entrée pertinente error_log: [error] [client ::1] client denied by server configuration: /srv/http/austin/index.html

Qu'est-ce que je fais mal?

Oh, et je ne pense pas que cela compte vraiment, mais j'utilise Arch Linux et Apache 2.2.19.


Vos journaux disent ...?
Ignacio Vazquez-Abrams

J'ai mis à jour la question avec le seul message fourni par le fichier journal (sauf pour la demande du fichier favicon.ico)
Austin Hyde

Réponses:


0

Le problème était que le <Directory> directive pour les répertoires d'utilisateurs était trop restrictive.

Réutiliser les mêmes directives de la /srv/http/public répertoire permet au monde extérieur de voir tous les fichiers utilisateur:

<Directory "/srv/http">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.