Cómo Instalar Strapi con PostgreSQL en AWS: Guía Completa Paso a Paso

21 de noviembre de 2024
Para instalar Strapi con PostgreSQL en AWS, sigue estos pasos detallados:
1. Preparativos Iniciales
- Cuenta de AWS: Asegúrate de tener una cuenta activa en Amazon Web Services.
- Herramientas Necesarias: Instala las siguientes herramientas en tu máquina local:
2. Configuración de PostgreSQL en AWS RDS
-
Crear una Instancia de RDS:
- Accede a la consola de AWS y navega a RDS.
- Haz clic en "Crear base de datos".
- Selecciona "PostgreSQL" como motor de base de datos.
- Elige la opción "Uso gratuito" si es aplicable.
- Configura los detalles de la instancia, incluyendo nombre de usuario y contraseña.
- En "Conectividad", asegúrate de que la instancia sea accesible públicamente si planeas conectarte desde fuera de AWS.
-
Configurar Grupos de Seguridad:
- Navega a "Grupos de seguridad" en la consola de EC2.
- Crea un nuevo grupo de seguridad o modifica uno existente para permitir el tráfico entrante en el puerto 5432 (PostgreSQL) desde las direcciones IP necesarias.
3. Configuración de una Instancia EC2
-
Lanzar una Instancia EC2:
- En la consola de EC2, haz clic en "Lanzar instancia".
- Selecciona una AMI de Ubuntu Server 22.04 LTS.
- Elige un tipo de instancia adecuado (por ejemplo, t2.small o superior para un rendimiento óptimo).
- Configura el almacenamiento y las etiquetas según tus necesidades.
- En "Grupos de seguridad", permite el tráfico entrante en los puertos 22 (SSH), 80 (HTTP) y 443 (HTTPS).
-
Conectar a la Instancia EC2:
- Usa SSH para conectarte a la instancia:
ssh -i "ruta/a/tu/clave.pem" ubuntu@tu-direccion-ip-publica
- Usa SSH para conectarte a la instancia:
4. Instalación de Dependencias en EC2
-
Actualizar el Sistema:
sudo apt update && sudo apt upgrade -y -
Instalar Node.js y npm:
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install -y nodejs -
Instalar Yarn (opcional):
npm install -g yarn -
Instalar Git:
sudo apt install -y git
5. Despliegue de Strapi
-
Crear un Nuevo Proyecto de Strapi:
npx create-strapi-app my-project --quickstart -
Configurar la Conexión a PostgreSQL:
- Navega al directorio del proyecto:
cd my-project - Instala el cliente de PostgreSQL:
npm install pg - Edita el archivo
config/database.jspara incluir la configuración de PostgreSQL:module.exports = ({ env }) => ({ connection: { client: 'postgres', connection: { host: env('DATABASE_HOST', 'tu-endpoint-rds'), port: env.int('DATABASE_PORT', 5432), database: env('DATABASE_NAME', 'nombre-de-tu-base-de-datos'), user: env('DATABASE_USERNAME', 'tu-usuario'), password: env('DATABASE_PASSWORD', 'tu-contraseña'), ssl: env.bool('DATABASE_SSL', false), }, debug: false, }, });
- Navega al directorio del proyecto:
-
Iniciar Strapi:
npm run develop -
Acceder al Panel de Administración:
- Abre un navegador y navega a
http://tu-direccion-ip-publica:1337/adminpara configurar el administrador de Strapi.
- Abre un navegador y navega a
6. Configuración de Nginx (Opcional)
Para servir Strapi en los puertos estándar HTTP y HTTPS:
-
Instalar Nginx:
sudo apt install -y nginx -
Configurar Nginx:
- Crea un archivo de configuración para tu sitio en
/etc/nginx/sites-available/y crea un enlace simbólico en/etc/nginx/sites-enabled/. - Configura el proxy inverso para redirigir el tráfico al puerto 1337 donde se ejecuta Strapi.
- Crea un archivo de configuración para tu sitio en
-
Reiniciar Nginx:
sudo systemctl restart nginx
7. Configuración de SSL (Opcional)
Para habilitar HTTPS:
-
Instalar Certbot:
sudo apt install -y certbot python3-certbot-nginx -
Obtener y Configurar Certificados SSL:
sudo certbot --nginx -d tu-dominio.com -d www.tu-dominio.com -
Renovación Automática de Certificados:
- Certbot configura automáticamente la renovación automática. Puedes verificarlo con:
sudo certbot renew --dry-run
- Certbot configura automáticamente la renovación automática. Puedes verificarlo con:
Siguiendo estos pasos, tendrás Strapi funcionando con PostgreSQL en AWS. Para más detalles, puedes consultar la [documentación oficial de Strapi sobre desplieg