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.conf
o 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 bloquelocation
que 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
public
en/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
root
existe 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