web-dev-qa-db-fra.com

Comment activer la liste de répertoires sur le serveur Web Apache

Je ne parviens pas à activer la liste des répertoires sur mon serveur Web Apache. J'ai essayé diverses solutions postées mais ne fonctionnant pas. Je viens juste d'installer httpd 2.4.6 et d'activer https à l'aide de ssl.conf sous /etc/httpd/conf.d/ssl.conf et d'essayer d'accéder à https://server.example.com/ ne pas énumérer le dir. Ce sont la configuration dans ssl.conf

DocumentRoot "/home/userx/Downloads/"
ServerName server.example.com:443

Vous trouverez ci-dessous le contenu de ssl.conf sous l'élément VirtualHost. Les fichiers et les premiers éléments de l'annuaire étaient déjà présents lors de l'installation, je viens d'ajouter Directory pour "/ home/userx/Downloads". Je souhaite parcourir le contenu de/home/userx/Téléchargements lorsque j'accède à l'URL https://server.example.com/ . Qu'est-ce que j'oublie ici ?

<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>
<Directory "/home/userx/Downloads">
  Options +Indexes
  AllowOverride all
</Directory>
14
Satish Burnwal

Voyez si vous pouvez accéder à/lister le répertoire '/ icons /'. Ceci est utile pour tester le comportement de Directory dans Apache.

pour par exemple: Vous pourriez avoir ci-dessous config par défaut dans votre fichier httpd.conf.Alors frappez l'URL: IP: Port/icons/et voyez s'il liste les icônes ou non.Vous pouvez également essayer en mettant le 'répertoire/dossier' 'à l'intérieur du' var/www/icons '.

Alias /icons/ "/var/www/icons/"

<Directory "/var/www/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
</Directory>

Si cela fonctionne, vous pouvez vérifier ou modifier la configuration de votre répertoire personnalisé avec la configuration ''.

15
Pnkj

J'ai résolu le problème en activant le mod_autoindex d'Apache. C'était désactivé par défaut.

Sudo a2enmod autoindex
5
Despirithium

Essaye ça.

<Directory "/home/userx/Downloads">
  Options +Indexes
  AllowOverride all
  Order allow,deny 
  Allow from all 
  Require all granted
</Directory>

Si cela ne fonctionne pas, il y a probablement un "refus d'index" qui dépasse votre configuration. 

3
Eddimull

Selon la documentation Apache, se trouvant ici , la directive DirectoryIndex doit être spécifiée dans le fichier site .conf (généralement présent dans /etc/Apache2/sites-available sous linux).

Citant la documentation, on peut lire:

Si aucun fichier de la directive DirectoryIndex ne peut être situé dans le fichier répertoire, alors mod_autoindex peut générer une liste du répertoire Contenu. Ceci est activé et désactivé en utilisant la directive Options. Pour Par exemple, pour activer des listes de répertoires pour un répertoire particulier, vous peut utiliser:

<Directory /usr/local/Apache2/htdocs/listme>   
  Options +Indexes
</Directory> 

Pour empêcher les listes de répertoires (pour des raisons de sécurité, par exemple), vous devez supprimer le mot-clé Indexes de chaque directive Options dans votre fichier de configuration. Ou pour les empêcher seulement pour un seul répertoire, vous pouvez utiliser:

<Directory /usr/local/Apache2/htdocs/dontlistme>
  Options -Indexes
</Directory>
1
MikeyE

Une solution consiste à créer un lien symbolique vers le répertoire de votre choix dans le répertoire/var/www/html /.

Sudo ln -s /home/ /var/www/html/

Gardez à l'esprit la sécurité.

0
vineet

Celui-ci a résolu mon problème concernant le paramètre SELinux:

chcon -R -t httpd_sys_content_t /home/*
0
Satish Burnwal

Je devais explicitement supprimer la page d'accueil et redémarrer les services pour voir les listes de mon répertoire.

$ Sudo rm -rf /etc/httpd/conf.d/welcome.conf
$ Sudo service httpd restart
0
harperville

Je devais désactiver selinux pour que cela fonctionne. Remarque. Le système doit être redémarré pour que selinux prenne effet.

0
rahul verma