Esta guía detallada para poner en marcha Directus en Donweb Cloud fue diseñada para ofrecerte un inicio rápido y eficiente.
1. Instalación de Directus
Donweb Cloud te permite instalar Directus CMS Headless rápidamente con solo un clic, gracias a nuestras imágenes Click&Go, que automatizan la instalación y configuración de todo el software necesario.
En este caso, la imagen Click&Go de Directus, se basa en Docker y crea los containers y volúmenes necesarios, con la siguiente estructura:
- Contenedor de Caché: Empleamos Redis para gestionar eficientemente la caché.
-
Contenedor de Base de Datos: Utilizamos PostgreSQL como sistema de gestión de base de datos, mediante la imagen de Docker
postgis/postgis:13-master
. Además, se crea un volumen dedicado a la persistencia de los datos de la DB. -
Contenedor de Directus: Instalamos la última versión disponible de Directus (rama 10.10), y establecemos un volumen adicional para almacenar los archivos subidos a la carpeta
/uploads
durante la administración del sitio.
Adicionalmente, la instalación incluye Nginx para facilitar el acceso a Directus mediante un dominio propio, implementando SSL y eliminando la necesidad de especificar un puerto en la URL.
Después de instalar, encontrarás los archivos de configuración necesarios en la ruta /root/app
de tu Cloud Server, los cuales puedes modificar para personalizar la instalación según tus necesidades:
-
docker-compose.yml
Archivo que organiza el despliegue de los contenedores de Directus. -
.env
Define la configuración específica de tu aplicación Directus. -
app-nginx.conf
Configuración para Nginx.
Recuerda que cualquier modificación realizada en los archivos .env
o docker-compose.yml
requiere que ejecutes el siguiente comando para aplicar los cambios efectivamente.
docker compose up -d
2. Configuración de Dominio y Certificado SSL
El primer paso que debemos seguir es apuntar un dominio (o subdominio) y luego instalar un Certificado SSL en Directus. Esto nos permitirá acceder de manera segura y profesional al panel de administración y a la API una vez que esté en funcionamiento.
Para nuestro ejemplo utilizaremos un subdominio llamado api.cloudfor.fun
En Donweb Cloud, configurar el dominio y el SSL del Directus es muy sencillo. Solo tienes que hacer clic en el botón "Configurar Dominio & SSL" y seguir las instrucciones en pantalla.
Para avanzar es este punto es fundamental que el dominio (o subdominio) elegido, se encuentre resolviendo a la IP de tu Cloud Server. Puedes verificarlo a través de esta herramienta.
Una vez configurado el dominio y su SSL, podrás ingresar al administrador de tu Directus desde https://tudominio.com/admin
.
3. Personalización de tu Aplicación
Directus ofrece amplias opciones de personalización. Desde la sección "Ajustes", puedes definir el nombre, descripción, URL, e idioma predeterminado de tu proyecto.
La sección "Apariencia" te permite ajustar colores, logo, y otros aspectos visuales.
Ten en cuenta que aquí sólo te mostramos una selección de configuraciones básicas que consideramos imprescindibles para iniciar. Sin embargo, para aprovechar al máximo la aplicación, te sugerimos consultar la documentación oficial de Directus y explorar ajustes adicionales que te permitirán familiarizarte aún más con todas sus funcionalidades.
4. Configuración del Servidor de Email
Directus ocasionalmente necesita enviar correos electrónicos transaccionales, como por ejemplo, al invitar a un usuario nuevo proporcionándole un enlace para crear su cuenta, o durante el proceso de restablecimiento de contraseña, entre otros casos similares.
Por defecto, Directus envía estos correos a través de la función sendmail de Linux, desde una dirección no-reply@directus.io. Aunque esta configuración puede ser adecuada para ambientes de prueba, no es la más recomendable para entornos de producción. Esto se debe a que es probable que los correos enviados terminen en la carpeta de SPAM o, peor aún, no se entreguen.
Para solucionar esto, Directus ofrece la flexibilidad de integrarse con diversos servicios de email transaccional, siendo el uso de un servidor SMTP una de las opciones más comunes y efectivas.
En nuestro ejemplo, optaremos por el servicio SMTP proporcionado por una plataforma de envío de correos transaccionales como EnvialoSimple. No obstante, es posible emplear cualquier servidor de correo SMTP, adaptando la configuración a tus necesidades específicas.
Para configurar un servidor SMTP en Directus, deberás editar el archivo .env
que encontrarás en la ruta /root/app
de tu Cloud Server. Allí agregarás los siguientes parámetros, completándolos con los datos de tu servicio SMTP.
# PARAMETROS DE CONFIGURACION CORREO ELECTRONICO CON SMTP
EMAIL_FROM=
EMAIL_VERIFY_SETUP=
EMAIL_TRANSPORT=smtp
EMAIL_SMTP_HOST=
EMAIL_SMTP_PORT=
EMAIL_SMTP_USER=
EMAIL_SMTP_PASSWORD=
EMAIL_SMTP_SECURE=false #false to use TLS
#EMAIL_SMTP_IGNORE_TLS=
Recuerda que una vez que termines de editar el archivo .env
, debes ejecutar el siguiente comando para que el cambio se aplique a tu Directus.
docker compose up -d
Aquí abajo un ejemplo de un email de invitación a crear un a cuenta de usuario enviado desde Directus.
5. Seguridad de tu Aplicación
La seguridad de tu aplicación es esencial, y por ello te sugerimos implementar los siguientes ajustes básicos para reforzarla:
Políticas de Contraseñas:
En la sección "Ajustes", activa un requerimiento de seguridad "Fuerte" para las contraseñas. Esto obligará a los usuarios a crear contraseñas robustas cuando configuren o actualicen sus credenciales, incrementando así la seguridad de sus cuentas.
Intentos de Inicio de Sesión:
A través de la misma sección "Ajustes", es posible limitar el número de intentos fallidos de inicio de sesión antes de bloquear temporalmente el acceso. Esta medida es efectiva para prevenir ataques de fuerza bruta o diccionario. Aunque el límite predeterminado es de 25 intentos, recomendamos ajustarlo entre 4 y 5 para aumentar la seguridad.
Redirección al Acceso:
Tras configurar tu dominio o subdominio para Directus, por defecto, los visitantes que acceden a https://tudominio.com son redirigidos a la pantalla de acceso en https://tudominio.com/admin. Si deseas evitar esta redirección automática —para ocultar el acceso a crawlers o visitantes curiosos—, añade la línea ROOT_REDIRECT=false
en tu archivo de configuración .env
.
Es importante ejecutar el comando docker compose up -d
después de modificar este archivo para aplicar los cambios.
Luego de realizar este agregado, los usuarios necesitarán ingresar directamente a la URL completa https://tudominio.com/admin para acceder al panel administrativo.
También puedes configurar el parámetro ROOT_REDIRECT para enviar al visitante del dominio raíz, a una URL específica.
Limitación de Solicitudes (Rate Limiting):
Antes de lanzar tu aplicación y API al entorno de producción, es recomendable establecer un límite de solicitudes para prevenir el sobrecarga del sistema. Configurar esta limitación ayudará a mantener la estabilidad y disponibilidad de tu aplicación frente a un volumen alto de peticiones. Puedes encontrar todos los parámetros configurables para esta función configurable en el archivo .env
, y más detalles al respecto, en la sección de Rate Limiting de la documentación oficial de Directus.
6. Uso de Websockets (Directus Realtime)
Si planeas usar la funcionalidad Realtime de Directus (websockets), ten en cuenta algunas configuraciones previas, ya que esta función no está habilitada por defecto.
En primer lugar es necesario verificar es que la variable WEBSOCKETS_ENABLED
se encuentre en true
en el archivo .env
. Para editar ese archivo utiliza ese siguiente comando:
nano /root/app/.env
Recuerda que al finalizar la edición deberás reiniciar Directus con el comando docker compose up -d
para que tome los cambios.
Luego, es fundamental verificar que la configuración de NGINX esté preparada para el uso de websockets, editando el archivo app.conf
en la ruta /etc/nginx/sites-available/app.conf
:
nano /etc/nginx/sites-available/app.conf
Asegurate de tener las siguientes líneas tal como en la captura:
Si modificas algo en este archivo, recuerda que debes reiniciar Nginx para que tome los cambios.
systemctl restart nginx
A partir de este momento, deberías poder usar conexiones websockets con Diretus sin problemas. Así mismo, cuentas con más información sobre Directus + websockets en la documentación oficial, aquí y aquí.
Final
¡Ya estás listo para empezar! Siguiendo esta guía, has dado los primeros pasos esenciales para poner en marcha tu proyecto. Ahora, el camino está despejado para que comiences a construir tu aplicación: desde la creación de colecciones y la carga de datos, hasta la generación de usuarios y la configuración de permisos de la API. Además, puedes explorar la creación de flujos personalizados y mucho más.
Es importante tener en cuenta que esta guía solo cubre lo fundamental para comenzar. Directus ofrece una profundidad de personalización e integración verdaderamente impresionante. Para aprovechar al máximo todo su potencial, te animamos a consultar la documentación oficial, la referencia de su API y a seguir su blog para mantenerte al día con las últimas actualizaciones y características.
Comentarios
0 comentarios
El artículo está cerrado para comentarios.