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.
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:
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
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
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
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;
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.
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:
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.
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.
Una vez completada la instalación, verás la siguiente página:
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.
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.
Si tienes éxito, verás el panel de administración de PyroCMS como el siguiente:
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.