Cómo instalar PyroCMS en un servidor Ubuntu 24.04

PyroCMS es un CMS de código abierto basado en los frameworks web PHP y Laravel. Es un potente sistema de gestión de contenidos con MySQL/MariaDB como base de datos y también proporciona una administración web intuitiva y sencilla para una gestión más fácil.

En este tutorial, te guiaremos a través de la instalación de PyroCMS en Ubuntu 24.04 con la pila LEMP (Linux, Nginx, MySQL/MariaDB y PHP-FPM) y Composer.

Requisitos previos

Antes de empezar, asegúrate de que tienes lo siguiente:

  • Un servidor Ubuntu 24.04.
  • Un usuario no root con privilegios de administrador.
  • Un nombre de dominio apuntando a la dirección IP del servidor.

Instalación de dependencias

PyroCMS es un sistema de gestión de contenidos basado en Laravel con MySQL/MariaDB como base de datos. Antes de instalar PyroCMS, deberás instalar la pila LEMP (Linux, Nginx, MySQL/MariaDB y PHP-FPM) y Composer en tu sistema Ubuntu.

Primero, ejecuta el siguiente comando apt para actualizar tu índice de paquetes e instalar la Pila LEMP (Linux, Nginx, MySQL/MariaDB y PHP-FPM) y Composer.

sudo apt update sudo apt install nginx mariadb-server composer php-cli php-fpm php-mysql php-curl php-sqlite3 php-mbstring php-gd php-xml

Introduce Y para confirmar la instalación.

instalar deps

Tras la instalación, comprueba los servicios de la Pila LEMP para asegurarte de que se están ejecutando.

Comprueba el servidor web Nginx con el siguiente comando systemctl.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Ahora comprueba el estado del servidor MariaDB con lo siguiente:

comprobar nginx

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

comprobar mariadbn

A continuación, ejecuta el siguiente comando para comprobar el servicio PHP-FPM.

sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm

comprobar php-fpm

Por último, comprueba la versión de Composer con el siguiente comando. Verás que Composer 2.4.7 está instalado.

sudo -u www-data composer --version

comprobar compositor

Configurar PHP-FPM

Una vez que hayas instalado las dependencias, configurarás el PHP-FPM cambiando algunas configuraciones predeterminadas a través del archivo php.ini y reiniciando el servicio PHP-FPM.

Abre el archivo php.ini para PHP-FPM con el editor nano.

sudo nano /etc/php/8.3/fpm/php.ini

Cambia la configuración por defecto por la siguiente y ajusta las opciones date.timezone y memory_limit con tu entorno actual.

date.timezone = Europe/Amsterdam
max_execution_time = 130
memory_limit = 256M
allow_url_fopen = On
allow_url_include = Off
post_max_size = 128M
upload_max_filesize = 128M
max_input_vars = 5000

Cuando hayas terminado, guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio PHP-FPM y aplicar tus cambios en php.ini.

sudo systemctl restart php8.3-fpm

Configurar el servidor MariaDB

Ahora que has configurado PHP-FPM, asegurarás la instalación del servidor MariaDB y crearás una nueva base de datos y un nuevo usuario para el PyroCMS.

Asegura la instalación del servidor MariaDB con el siguiente comando mariadb-secure-installation.

sudo mariadb-secure-installation

Se te preguntará por las siguientes configuraciones:

  • ¿Cambiar a autenticación unix_socket? Introduce n y pulsa ENTER.
  • El usuario raíz por defecto de MariaDB ya está protegido. opcionalmente, también puedes habilitarlo escribiendo y para sí.
  • Cambia la contraseña de root. Introduce y para confirmar y establecer tu nueva contraseña de root de MariaDB.
  • ¿Eliminar usuarios anónimos? Introduce y para confirmar.
  • ¿Deshabilitar el inicio de sesión de root de forma remota? Introduce y para confirmar. Sólo se permitirá la conexión local si estás utilizando la base de datos MariaDB
  • Elimina la base de datos de prueba y accede a ella. Introduce y para confirmar y eliminar la base de datos por defecto «test».
  • Por último, introduce y de nuevo para recargar todos los privilegios de tabla en tu servidor MariaDB y aplicar los nuevos cambios.

Una vez que hayas configurado MariaDB, crearás una nueva base de datos y un nuevo usuario para PyroCMS.

Accede al servidor MariaDB con el siguiente comando mariadb. Introduce tu contraseña de root cuando se te solicite.

sudo mariadb -u root -p

Ahora ejecuta las siguientes consultas para crear una nueva base de datos pyrocmsdb, un nuevo usuario pyrocms@localhost, y la contraseña passw0rd. Cambia los detalles nombre de la base de datos, nombre de usuario y contraseña según sea necesario.

CREATE DATABASE pyrocmsdb;
GRANT ALL PRIVILEGES ON pyrocmsdb.* TO pyrocms@localhost IDENTIFIED BY 'passw0rd';
FLUSH PRIVILEGES;

crear base de datos y usuario

A continuación, ejecuta la siguiente consulta para verificar los privilegios del usuario pyrocms@localhost. Verás que se puede acceder a la base de datos pyrocmsdb con el usuario pyrocms@localhost.

SHOW GRANTS FOR pyrocms@localhost;

Por último, escribe quit para salir del servidor MariaDB.

mostrar privilegios db

Descargar el código fuente de PyroCMS

Crea nuevos directorios para Composer y PyroCMS, ve a /var/www/pyrocms, y luego cambia la propiedad de los nuevos directorios al usuario www-data. En este caso, el /var/www/pyrocms se utilizará como raíz de documentos para PyroCMS.

mkdir -p /var/www/{.config,.cache,pyrocms}; cd /var/www/pyrocms
sudo chown -R www-data:www-data /var/www/{.config,.cache,pyrocms}

Ahora ejecuta el comando composer que aparece a continuación para descargar el código fuente de PyroCMS, e instalar y actualizar las dependencias de PHP.

sudo -u www-data composer create-project pyrocms/pyrocms .
sudo -u www-data composer update

A continuación puedes ver la instalación de PyroCMS mediante el comando composer:

descarga e instala las dependencias de pyrocms

Una vez completada la instalación, pasa a la siguiente sección.

Configurar el bloque del servidor Nginx

En esta sección, crearás una nueva configuración de bloque de servidor Nginx para la instalación de PyroCMS. Así que asegúrate de que tienes un nombre de dominio apuntando a la dirección IP de tu servidor Ubuntu. En este ejemplo, utilizarás un nombre de dominio howtoforge.local.

Crea un nuevo bloque de servidor Nginx /etc/nginx/sites-available/pyrocms.conf con el editor nano.

sudo nano /etc/nginx/sites-available/pyrocms.conf

Copia y pega la siguiente configuración y asegúrate de cambiar el nombre_del_servidor por tu nombre de dominio.

server {
 listen 80;
 server_name howtoforge.local;
index index.php index.html;
root /var/www/pyro/public;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php-8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
}
}

Cuando hayas terminado, guarda y sal del archivo.

Ahora ejecuta el siguiente comando para crear un enlace simbólico del archivo pyrocms.conf al directorio /etc/nginx/sites-enabled y verifica tu sintaxis Nginx.

sudo ln -s /etc/nginx/sites-available/pyrocms.conf /etc/nginx/sites-enabled/
sudo nginx -t

Si la sintaxis de Nginx es correcta, verás una salida de prueba es correcta – la sintaxis es correcta.

configuración de nginx

Por último, ejecuta el siguiente comando systemctl para reiniciar el servidor web Nginx y aplicar tus cambios.

sudo systemctl restart nginx

Asegurar PyroCMS con HTTPS a través de Letsencrypt

Para asegurar PyroCMS, implementarás HTTPS a través de Letsencrypt. Para ello, debes instalar Certbot para generar certificados SSL/TLS e implementar automáticamente HTTPS en tu instalación de PyroCMS.

Instala los paquetes certbot y python3-certbot-nginx con el siguiente comando. Introduce Y para confirmar la instalación.

sudo apt install certbot python3-certbot-nginx

Ahora ejecuta el siguiente comando certbot para generar certificados SSL y asegurar PyroCMS con HTTPS.

sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

Una vez finalizado el proceso, obtendrás tus certificados en el directorio /etc/letsencrypt/live/domain.com, y tu PyroCMS estará ahora asegurado con HTTPS.

Instalar PyroCMS usando el instalador web

Abre tu navegador web y visita tu nombre de dominio, por ejemplo https://howtoforge.local/. Ahora verás una página de instalación de PyroCMS:

  • Selecciona Acepto para aceptar la licencia de instalación de PyroCMS.
  • Introduce el nombre, usuario y contraseña de tu base de datos.
  • Introduce un nuevo usuario administrador, dirección de correo electrónico y contraseña para tu PyroCMS.
  • Introduce los detalles del sitio para tu instalación, como el nombre del dominio, el idioma y la zona horaria.
  • Haz clic en Instalar para confirmar la instalación.

instalar pyrocms

Una vez completada la instalación, verás la siguiente página:

instalar completo

Haz clic en Ver sitio para acceder a la página de inicio de PyroCMS. A continuación puedes ver la página de índice por defecto de PyroCMS.

página de inicio

Haz clic en Iniciar sesión para acceder a la pantalla de inicio de sesión de PyroCMS. Introduce tu usuario y contraseña de administrador y, a continuación, haz clic en Iniciar sesión.

inicio de sesión

Si tienes éxito, verás el panel de administración de PyroCMS como el siguiente:

salpicadero

Conclusión

¡Enhorabuena! Has completado la instalación de PyroCMS en el servidor Ubuntu 24.04. Tienes instalado PyroCMS con la pila LEMP (Linux, Nginx, MySQL/MariaDB y PHP-FPM). También has descargado PyroCMS con Composer y asegurado PyroCMS con HTTPS a través de Certbot y Letsencrypt.

También te podría gustar...