Dans mon dossier www Apache ( /var/www
sous 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 sur mydir
le Web, je dois donner la directive à Apache FollowSymLinks
, non?
Mais où est-ce que je le mets? Dans un .htaccess
fichier? Où? J'ai essayé beaucoup de façons mais je ne le comprends pas ...
Ceci est mon /etc/apache2/sites-enabled/000-default
dossier:
<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>
Réponses:
Il y a deux choses ici:
liens symboliques
En supposant que
/var/www
votre racine de document soit votre hôte virtuel par défaut, vous devriez trouver (probablement/etc/apache2/sites-enabled/000-default
) votre fichier de configuration d’hôte virtuel par défaut et le placer dans ce bloc d’hôte virtuel, par exemple:Si vous n'avez rien changé, cette option devrait déjà être là.
liste du répertoire
Pour que Apache répertorie les fichiers dans un répertoire, vous devez également activer cette
Indexes
option, par exemple modifierdans
/etc/apache2/sites-enabled/000-default
à:Ou, peut-être un moyen plus sûr est de le changer en:
et mettre cela dans
/home/user/mydir/.htaccess
.pourquoi .htaccess ne fonctionne pas
Par défaut, mettre
Options <something>
dans un.htaccess
fichier ne fonctionnera pas à cause de l'autre entrée dans votre fichier de configuration:AllowOverride None
.C'est pourquoi nous devons
AllowOverride Indexes
y mettre .( Documentation AllowOverride )
la source
sudo chmod ugo+x /root; sudo chmod ugo+rx /root/mydir
pour que cela fonctionne et ce n'est probablement pas une bonne idée. Mieux vaut déplacer les fichiers quelque part sous/var/www
si vous le pouvez./var/log/apache2/error.log
./var/www
→/home/user/directory
. Cela produira un énorme mal de tête.L'option doit être utilisée comme ceci:
Habituellement, il est placé dans la configuration Apache (
httpd.conf
ouconf.d/
ousites-enabled/
) dans un<Directory>
.Voir
Options
,AllowOverride
et<Directory>
dans la documentation Apache.la source
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 à TOUT le chemin de la cible du lien symbolique (même pour les hôtes virtuels et pas seulement pour les liens simulaires). Par exemple,
Dans cet exemple, l'utilisateur www-data (ou tous les utilisateurs si vous le souhaitez, mais peut être dangereux) doit exécuter les droits jusqu'au répertoire. Besoin de x droits dans chacun des chemins / path, / path / to et / path / to / mirror. Nécessite également une autorisation de lecture sur le répertoire cible et, en fonction de l'objectif du répertoire, l'utilisateur www-data doit également disposer d'autorisations d'écriture.
La clé a été obtenue à l' adresse https://stackoverflow.com/a/14623574
la source
Je ne pouvais pas que cela fonctionne avant d'installer le module autoindex apache. 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.
la source