En esta sección, aprenderemos cómo configurar NGINX para mostrar listados de directorios. Esta funcionalidad es útil cuando deseas permitir a los usuarios navegar por los archivos y directorios de tu servidor web.
¿Qué es un Listado de Directorios?
Un listado de directorios es una página generada automáticamente por el servidor web que muestra los archivos y subdirectorios dentro de un directorio específico. Esto es útil para compartir archivos o para proporcionar acceso a recursos sin necesidad de crear páginas HTML manualmente.
Configuración de Listados de Directorios en NGINX
Para habilitar los listados de directorios en NGINX, utilizamos el módulo autoindex. A continuación, se muestra cómo configurar esta funcionalidad.
Paso 1: Editar el Archivo de Configuración de NGINX
- Abre el archivo de configuración de NGINX. Este archivo suele estar ubicado en
/etc/nginx/nginx.confo en un archivo de configuración específico del sitio en/etc/nginx/sites-available/.
Paso 2: Configurar el Bloque de Servidor
- Dentro del bloque
server, localiza el bloquelocationque apunta al directorio que deseas listar. Si no existe, créalo.
server {
listen 80;
server_name example.com;
location /files/ {
root /var/www/html;
autoindex on;
}
}Explicación del Código
listen 80;: Indica que el servidor escucha en el puerto 80.server_name example.com;: Define el nombre del servidor.location /files/ { ... }: Define una ubicación específica en el servidor.root /var/www/html;: Especifica el directorio raíz donde se encuentran los archivos.autoindex on;: Habilita los listados de directorios.
Paso 3: Probar la Configuración
- Guarda el archivo y prueba la configuración de NGINX para asegurarte de que no haya errores de sintaxis.
Paso 4: Reiniciar NGINX
- Si la prueba es exitosa, reinicia NGINX para aplicar los cambios.
Ejemplo Práctico
Supongamos que tienes un directorio /var/www/html/files con los siguientes archivos:
Con la configuración anterior, al navegar a http://example.com/files/, verás un listado de los archivos y subdirectorios dentro de /var/www/html/files.
Ejercicio Práctico
Ejercicio 1: Habilitar Listados de Directorios
- Crea un directorio llamado
publicen/var/www/html/y añade algunos archivos y subdirectorios. - Configura NGINX para habilitar los listados de directorios en
http://yourdomain.com/public/.
Solución
- Crea el directorio y añade archivos:
sudo mkdir -p /var/www/html/public sudo touch /var/www/html/public/file1.txt sudo touch /var/www/html/public/file2.txt sudo mkdir /var/www/html/public/subdir sudo touch /var/www/html/public/subdir/file3.txt
- Edita el archivo de configuración de NGINX:
server {
listen 80;
server_name yourdomain.com;
location /public/ {
root /var/www/html;
autoindex on;
}
}- Prueba la configuración y reinicia NGINX:
Retroalimentación y Consejos
- Error Común: Asegúrate de que el directorio especificado en
rootexiste y tiene los permisos adecuados. - Consejo: Puedes personalizar el aspecto del listado de directorios utilizando la directiva
autoindex_format.
Conclusión
En esta sección, aprendiste cómo habilitar y configurar listados de directorios en NGINX. Esta funcionalidad es útil para compartir archivos y proporcionar acceso a recursos de manera sencilla. En la próxima sección, exploraremos cómo crear páginas de error personalizadas en NGINX.
Curso de NGINX
Módulo 1: Introducción a NGINX
Módulo 2: NGINX como Servidor Web
- Sirviendo Contenido Estático
- Listados de Directorios
- Páginas de Error Personalizadas
- Registro y Formatos de Registro
Módulo 3: NGINX como Proxy Inverso
- Introducción al Proxy Inverso
- Configurando un Proxy Inverso
- Balanceo de Carga
- Verificaciones de Salud
