Dans mon dossier www Apache (/var/www
sur Ubuntu 10.10), j'ai:
mydir -> /home/user/mydir
(que j'ai créé avec ln -s
)
Maintenant, si je veux voir une liste des fichiers dans mydir
à partir du Web, je dois donner à Apache la directive FollowSymLinks
, non?
Mais où est-ce que je le mets? Dans un fichier .htaccess
? Où? J'ai essayé beaucoup de façons mais je ne le comprends pas ...
Ceci est mon fichier /etc/Apache2/sites-enabled/000-default
:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks Indexes
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${Apache_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${Apache_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
Alias /downloads/ "/root/mydir/"
<Directory "/root/mydir">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Il y a deux choses ici:
liens symboliques
En supposant que /var/www
est votre racine de document pour votre hôte virtuel par défaut, vous devez rechercher votre fichier de configuration d'hôte virtuel par défaut (probablement /etc/Apache2/sites-enabled/000-default
) et l'insérer dans ce bloc d'hôte virtuel, par exemple.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
Si vous n'avez rien changé, cette option devrait déjà être là.
liste de répertoires
Pour qu'Apache répertorie les fichiers d'un répertoire, vous devez également activer l'option Indexes
, par exemple. changement
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
en /etc/Apache2/sites-enabled/000-default
à:
<Directory />
Options FollowSymLinks Indexes
AllowOverride None
</Directory>
Ou, peut-être un moyen plus sûr est de le changer en:
<Directory />
Options FollowSymLinks
AllowOverride Indexes
</Directory>
et mettez ceci dans /home/user/mydir/.htaccess
.
Option Indexes
pourquoi .htaccess ne fonctionne pas
Par défaut, l'insertion de Options <something>
dans un fichier .htaccess
ne fonctionnera pas car l'autre entrée de votre fichier de configuration est la suivante: AllowOverride None
.
C'est pourquoi nous devons mettre AllowOverride Indexes
ici.
L'option doit être utilisée comme ceci:
Options +FollowSymLinks
Il est généralement placé dans la configuration Apache (httpd.conf
ou conf.d/
ou sites-enabled/
) dans un <Directory>
.
Voir Options
, AllowOverride
et <Directory>
dans la documentation Apache.
Avec la configuration originale (récente) sur Ubuntu 14.04 avec Apache 2.4.7, il n’est pas nécessaire de modifier quoi que ce soit dans * .conf pour suivre les liens symboliques créés sous/var/www/html.
Mais il est nécessaire que l'utilisateur www-data ait accès àALLle chemin de la cible du lien symbolique (même pour les hôtes virtuels et pas seulement pour les liens simulaires). Par exemple,
cd /var/www/html
ln -s /path/to/mirror/cran-mirror cran
Dans cet exemple, l'utilisateur www-data (ou tous les utilisateurs si vous le souhaitez, mais peut être dangereux) a besoin de execute rights jusqu'au répertoire. Besoin de x droits dans chacun des chemins/path,/path/to et/path/to/mirror. A également besoin de Read permission sur le répertoire cible et, en fonction de l'objectif du répertoire, peut-être que l'utilisateur www-data a également besoin d'autorisations d'écriture.
La clé a été obtenue à partir de https://stackoverflow.com/a/14623574
Cela ne fonctionnait pas tant que je n'avais pas installé le module Apache autoindex. Parmi de nombreux articles de blog et de forum, personne n’a indiqué que cela était nécessaire. J'espère que ça aide quelqu'un.