webserver - para - virtual host apache
Cómo mostrar el índice de directorio en Apache 2.4 con la raíz de documentos personalizada (7)
Tengo un problema en Apache 2.4 en Ubuntu 13.10. Intento cambiar la raíz de documentos a / home / fandi / public_html Y todo funciona bien. Pero trato de crear una carpeta en mi public_html / me sale un error como este:
[Sat Jan 25 10:59:50.149441 2014] [autoindex:error] [pid 1093] [client 127.0.0.1:39901] AH01276: Cannot serve directory /home/fandi/public_html/report_php/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive
Debo crear el archivo index.html
, index.php
y otro archivo index.xxx
.
Por defecto debe mostrar el índice del directorio. ¿Cómo habilitar el Índice de Directorio?
Este es mi archivo 000-default.conf
:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/fandi/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/home/fandi/public_html">
Options All
AllowOverride All
Require all granted
Options Indexes FollowSymLinks
</Directory>
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Por favor ayuda, gracias antes ^^
Agregue esta línea a su archivo vhost.conf para el sitio
DirectoryIndex default.html
Y ya estás todo listo
En el registro puedes encontrar un error.
[Dom 03 de diciembre 17: 38: 17.649269 2017] [autoindex: error] [pid 4806] [cliente :: 1: 57323] AH01276: No se puede servir el directorio / etc / httpd / conf / htdocs /: No se encontró un DirectoryIndex () coincidente, y el índice de directorio generado por el servidor prohibido por la directiva de Opciones
arreglarlo:-
luego debe eliminar la línea en /etc/httpd/conf.d/welcome.conf
debajo de la configuración existente: -
<LocationMatch "^/+$">
Options -Indexes
ErrorDocument 403 /.noindex.html
</LocationMatch>
Resuelto con la siguiente configuración,: - comentó una línea.
<LocationMatch "^/+$">
#Options -Indexes
ErrorDocument 403 /.noindex.html
</LocationMatch>
Me las arreglé para hacerlo funcionar
Básicamente, parece que Apache2.4 no transfiere la configuración de DocumentRoot a sus hosts virtuales a menos que los hosts virtuales sean subcarpetas de DocumentRoot, como las versiones anteriores solían hacer. Lo que tiene sentido, pero el cambio debe documentarse y no fue así.
Lo que quiero decir es que en su httpd.conf tendrá (este es un OS X one):
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
Options +Indexes +FollowSymLinks
# etc
</Directory>
Y luego en su extra / httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/pth/to/somewhere/completely/different"
ServerName my-virtual-host.dev
ErrorLog "/private/var/log/apache2/my-virtual-host.dev-error_log"
CustomLog "/private/var/log/apache2/my-virtual-host.dev-access_log" common
</VirtualHost>
El VH solía heredar todas las configuraciones, no más si no es una subcarpeta. Entonces, lo que debe hacer es copiar y pegar la configuración en el VH (o probablemente pueda crear otro <directory
si tiene muchos VH en el mismo lugar)
<VirtualHost *:80>
DocumentRoot "/pth/to/somewhere/completely/different"
ServerName my-virtual-host.dev
ErrorLog "/private/var/log/apache2/my-virtual-host.dev-error_log"
CustomLog "/private/var/log/apache2/my-virtual-host.dev-access_log" common
<Directory "/pth/to/somewhere/completely/different">
Options +Indexes
</Directory>
</VirtualHost>
Son los + índices los que hacen la magia.
Resulta que debe deshabilitar DirectoryIndex en Apache 2.4 para obtener índices automáticos.
DirectoryIndex disabled
Options Indexes
Cuando DirectoryIndex no está deshabilitado, el índice automático no funciona y Apache envía un archivo 403 Prohibido o un Archivo 404 que no se encuentra si utiliza fastcgi / php-fpm.
Aquí están las correspondientes líneas de registro de errores (para fines de búsqueda):
[authz_core:error] client denied by server configuration:
[proxy_fcgi:error] Got error ''Primary script unknown/n''
Tuve el mismo problema con Centos 7.2 y apache 2.4.
En una nueva instalación, el problema es muy probablemente causado por welcome.conf
que deshabilita los Índices de Opciones en cada ubicación:
<LocationMatch "^/+$">
Options -Indexes
ErrorDocument 403 /.noindex.html
</LocationMatch>
Este archivo se restaura en cada actualización de Apache, luego debe comentar o eliminar las líneas anteriores.
para las personas futuras, si sigue todo lo anterior y el problema persiste, intente esto:
httpd.conf(make sure belows are open):
LoadModule alias_module modules/mod_alias.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule autoindex_module modules/mod_autoindex.so
Include conf/extra/httpd-autoindex.conf
extra / httpd-autoindex.conf:
<Directory "change to your directory">
Options All <--turn on all options
Options Indexes FollowSymLinks <--- replace previously set options with these two
La segunda línea es redundante, porque ya ha activado todas las opciones con la primera línea y, como las dos opciones no tienen el prefijo +
, REEMPLAZAN la lista completa de opciones habilitada con All
con solo esas dos opciones individuales .