Strapi és un CMS sense capçalera de codi obert basat en Node.js per satisfer totes les necessitats d'interfície de programació d'aplicacions i de gestió de continguts i estalviar temps als desenvolupadors. Permet crear API funcionals en qüestió de minuts i desenvolupar sense les molèsties de les complexitats d'un CMS, amb la llibertat d'utilitzar les teves eines i els teus entorns de treball. Strapi també permet als editors de contingut optimitzar el lliurament de contingut (text, imatges, vídeo, etc.) en qualsevol dispositiu.
En aquest article s'explicarà com instal·lar Strapi i configurar NGINX per configurar un servidor intermediari invers amb SSL en un servidor Ubuntu 20.04 LTS
Instal·lació de Strapi
Baixa i executa l'script de Node.js per afegir el repositori:
# curl -sL https://deb.nodesource.com/setup_14.x | bash -I instal·la Nodejs des d'apt:
# apt-get install -y nodejsPosteriorment, comprova que s'ha instal·lat la versió de Nodejs v14 i npm:
# node -v && npm -vAddicionalment, recomanem instal·lar algunes dependències:
# apt-get install build-essentialDesprés, instal·la Strapi amb npm:
# npm install strapi@latestI ara podràs crear el teu projecte:
# npx create-strapi-app@latest mi-proyecto --no-runQuan hagi acabat d'instal·lar els paquets, et preguntarà quin tipus d'instal·lació vols i tria Quickstart (recomanat) prement Retorn:
? Choose your installation type (Use arrow keys)
❯ Quickstart (recommended)
Custom (manual settings)
Crearà el directori del projecte, l'aplicació Strapi a dins i instal·larà les dependències:
Creating a quickstart project.
Creating a new Strapi application at /root/Mi_Proyecto.
Creating files.
Dependencies installed successfully.
Your application was created at /root/mi-proyecto.
Available commands in your project:
npm run develop
Start Strapi in watch mode. (Changes in Strapi project files will trigger a server
restart)
npm run start
Start Strapi without watch mode.
npm run build
Build Strapi admin panel.
npm run strapi
Display all available commands.
You can start by doing:
cd /root/mi-proyecto
npm run develop
Posteriorment, accedeix al directori creat del projecte:
# cd mi-proyectoPots comprovar la versió instal·lada de Strapi:
# npm run strapi version4.1.0Després, per configurar el servidor intermediari invers i l'HTTPS, instal·la Certbot i NGINX:
# apt install python3-certbot-nginx -yCrea el fitxer de configuració del lloc de NGINX per a Strapi:
# vi /etc/nginx/sites-available/strapi.confAmb el contingut següent (substitueix el server_name d'exemple pel teu registre):
server {
listen 80;
server_name api.ejemplo.com;
# Configuració del servidor intermediari
location / {
proxy_pass http://localhost:1337;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass_request_headers on;
}
}Crea un enllaç simbòlic per al lloc:
# ln -s /etc/nginx/sites-available/strapi.conf /etc/nginx/sites-enabled/strapi.confVerifica la configuració creada per a NGINX:
# nginx -tSi és correcta, torna a carregar la configuració de NGINX:
# systemctl reload nginxPosteriorment, edita el fitxer de configuració del projecte Strapi:
# vi ./config/server.jsPer afegir la línia url per al registre:
module.exports = ({ env }) => ({
host: env('HOST', '0.0.0.0'),
port: env.int('PORT', 1337),
url: 'https://api.dominio.com',
app: {
keys: env.array('APP_KEYS'),
},
});
I utilitza Certbot per obtenir el certificat per al registre:
# certbot --nginx --redirect -d api.dominio.comI inicia Strapi en mode de vigilància (els canvis als fitxers del projecte Strapi provocaran un reinici de l'aplicació):
# npm run developApareixerà el resultat següent:
Running your Strapi application.
> mi-proyecto@0.1.0 develop
> strapi develop
Building your admin UI with development configuration ...
Admin UI built successfully
[2022-02-17 20:53:03.763] info: The Users & Permissions plugin automatically
generated a jwt secret and stored it in your .env file under the name JWT_SECRET.
Project information
┌────────────────────┬──────────────────────────────────────────────────┐
│ Time │ Thu Feb 17 2022 20:53:05 GMT+0100 (Central Euro… │
│ Launched in │ 2524 ms │
│ Environment │ development │
│ Process PID │ 10751 │
│ Version │ 4.1.0 (node v14.19.0) │
│ Edition │ Community │
└────────────────────┴──────────────────────────────────────────────────┘
Actions available
One more thing...
Create your first administrator 💻 by going to the administration panel at:
┌────────────────────────────────────┐
│ https://api.ejemplo.com/admin │
└────────────────────────────────────┘
Després, accedeix mitjançant un navegador web al registre configurat:
Fes clic a "Create the first administrator" per configurar el teu usuari administrador de Strapi:
Un cop creat l'usuari administrador, apareixerà el Dashboard de Strapi i podràs començar a construir el teu projecte:
Cal informar que els desenvolupadors de Strapi recomanen l'ús de pm2 per gestionar un projecte en producció. PM2 és un gestor de processos de producció per a aplicacions Node.js amb un equilibrador de càrrega incorporat. Permet mantenir les aplicacions actives, tornar-les a carregar sense temps d'inactivitat i facilitar les tasques comunes d'administració del sistema.
Esperem haver-te ajudat amb aquest tutorial. L'has provat? Deixa'ns els teus comentaris! 🙂
Recorda, si tens consultes sobre aquesta qüestió o qualsevol altra relacionada amb els teus servidors a Clouding, no dubtis a escriure a soporte@clouding.io Som al teu costat per al que necessitis!