Cómo instalar TYPO3 CMS en Rocky Linux 9

TYPO3 es un sistema de gestión de contenidos de nivel empresarial, gratuito y de código abierto. Ofrece múltiples características de nivel empresarial, como CMS escalable con soporte multisitio, instalaciones multilingües, fuerte implementación de seguridad, velocidad vertiginosa y puede ejecutarse en cualquier lugar.

Usar TYPO3 CMS te permite construir sitios web flexibles y fiables. El CMS TYPO3 está respaldado por una vibrante comunidad profesional. Y por diseño, el TYPO3 CMS es un sistema de gestión de contenidos enchufable con una arquitectura adaptable y desacoplada.

En esta guía, instalarás TYPO3 CMS -Sistema de gestión de contenidos de nivel empresarial- en el servidor Rocky Linux 9. Configurarás TYPO3 CMS con el servidor web httpd, la base de datos MariaDB y la última versión de PHP 8.0. Esta guía incluye la implementación de HTTPS a través de Certbot y Letsencrypt, que se utilizarán para asegurar el despliegue de TYPE3.

Requisitos previos

En primer lugar, debes tener los siguientes requisitos para completar esta guía:

  • Un servidor Rocky Linux 9 – Este ejemplo utiliza un Rocky Linux con el nombre de host‘TYPO3-Rock‘.
  • Un usuario no root con privilegios sudo/root.
  • Un SELinux ejecutándose en modo permisivo.
  • Un nombre de dominio apuntando a una dirección IP del servidor – Este ejemplo utiliza el dominio ‘hwdomain.io‘.

Y ya está. Cuando todos los requisitos estén listos, ya puedes empezar la instalación.

Instalación del servidor web httpd

TYPO3 es un CMS (Sistema de Gestión de Contenidos) de nivel empresarial y una aplicación web escrita en PHP. Se puede ejecutar con varios tipos de servidor web. En este ejemplo, instalarás y ejecutarás TYPO3 CMS con el servidor web httpd.

Antes de instalar cualquier paquete, introduce el siguiente comando dnf para añadir el repositorio EPEL (Extra Package for Enterprise Linux) a tu sistema. Este repositorio será necesario más adelante para instalar paquetes adicionales.

sudo dnf install epel-release

Ahora ejecuta el siguiente comando dnf para instalar el servidor web httpd. Cuando te lo pida, introduce y para confirmar y pulsa ENTER para continuar.

sudo dnf install httpd

instalar httpd

Una vez instalado httpd, introduce el siguiente comando systemctl para iniciar y habilitar el servidor web httpd. Esto ejecutará el servidor web httpd y permitirá que se inicie automáticamente al arrancar el sistema.

sudo systemctl start httpd
sudo systemctl enable httpd

Comprueba el estado del servidor web httpd utilizando el siguiente comando systemctl. Deberías recibir una salida como«habilitado«, que confirma que el servicio httpd se ejecutará automáticamente al arrancar el sistema. Y el estado del servidor web httpd es en ejecución.

sudo systemctl is-enabled httpd
sudo systemctl status httpd

verificar httpd

Antes de acceder a tu instalación httpd, debes abrir los protocolos HTTP y HTTPS en tu sistema Rocky Linux mediante firewalld.

Introduce el siguiente comando firewall-cmd para añadir los puertos HTTP y HTTPS al firewalld. A continuación, recarga el firewalld para aplicar los cambios.

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

La salida‘success‘ confirma el éxito de la operación. Ahora puedes verificar la lista de reglas del firewalld mediante el siguiente comando.

sudo firewall-cmd --list-all

En la sección ‘servicios’, deberías ver los protocolos HTTP y HTTPS añadidos al firewalld.

configurar firewalld

Ahora que ya has instalado el servidor web httpd y configurado firewalld. A continuación, iniciarás la instalación del servidor de bases de datos MariaDB.

Instalación del servidor MariaDB

En esta sección, instalarás el servidor de base de datos MariaDB y asegurarás la instalación automáticamente utilizando el comando ‘mariadb-secure-installation’.

Para empezar, introduce el siguiente comando dnf para instalar el servidor de bases de datos MariaDB.

sudo dnf install mariadb-server

Introduce y cuando se te solicite y pulsa ENTER para continuar.

instalar mariadb

Ahora inicia y habilita el servicio MariaDB utilizando la siguiente utilidad de comandos systemctl. El servicio MariaDB debería estar ahora en ejecución y también habilitado, lo que significa que el servicio MariaDB se iniciará automáticamente al arrancar.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Introduce el siguiente comando systemctl para verificar el servicio MariaDB y asegurarte de que el servicio se está ejecutando y está habilitado.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

La salida ‘enabled‘ confirma que el servidor MariaDB está habilitado y se ejecutará automáticamente al arrancar el sistema. La salida ‘activo(en ejecución)‘ confirma que el servidor MariaDB está en ejecución.

empezar a verificar mariadb

Por último, ejecuta el siguiente comando «mariadb-secure-installation» para asegurar la instalación de MariaDB.

sudo mariadb-secure-installation

Ahora se te preguntarán las siguientes configuraciones – Puedes introducir y para confirmar o n para no.

  • ¿Cambiar la autenticación a unix_socket? introduce n.
  • ¿Cambiar la contraseña de root de MariaDB? introduce y para confirmar, introduce la nueva contraseña para tu servidor MariaDB y repite la contraseña.
  • ¿Desactivar la conexión remota del usuario root? introduce y para confirmar – no se debe permitir al usuario root conectarse remotamente.
  • Eliminar usuario anónimo? introduce y para confirmar.
  • ¿Eliminar la base de datos por defecto ‘test’? introduce y para confirmar y eliminar la base de datos de prueba.
  • Por último, introduce y para recargar los privilegios de las tablas y aplicar los nuevos cambios.

Cuando la implementación de MariaDB haya finalizado, estarás listo para crear una nueva base de datos y un nuevo usuario para la implementación de TYPO3 CMS.

Crear base de datos y usuario MariaDB

En esta sección, crearás una nueva base de datos MariaDB y un nuevo usuario que se utilizarán para la instalación de TYPO3 CMS.

En primer lugar, inicia sesión en el intérprete de comandos MariaDB mediante el comando‘mariadb‘ que aparece a continuación. Introduce tu contraseña de root de MariaDB y pulsa ENTER.

sudo mariadb -u root -p

Ahora ejecuta las siguientes consultas MariaDB para crear una nueva base de datos y un nuevo usuario. En este ejemplo, crearás una nueva base de datos‘typo3db‘ con el usuario‘typo3‘. Asegúrate de cambiar la contraseña en las siguientes consultas, y asegúrate de utilizar‘utf8mb4‘ como conjunto de caracteres por defecto para tu base de datos.

CREATE DATABASE typo3db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON typo3db.* to typo3@localhost IDENTIFIED BY 'typo3password';
FLUSH PRIVILEGES;

crear databae y usuario

A continuación, comprueba la lista de usuarios disponibles en MariaDB utilizando la siguiente consulta. Deberías ver el nuevo usuario‘typo3‘ añadido y disponible en tu servidor MariaDB.

SELECT USER,host FROM mysql.user;

verificar usuario

Por último, comprueba los privilegios del usuario«typo3» de MariaDB mediante la siguiente consulta. Deberías ver que el usuario ‘typo3‘ tiene todos los privilegios para la base de datos‘typo3db‘.

SHOW GRANTS FOR typo3@localhost;

mostrar concesiones de usuario

Ahora escribe quit para salir del intérprete de comandos MariaDB.

Con esto, ya has terminado la configuración de la base de datos MariaDB para la instalación de TYPO3 CMS. Pasa al siguiente paso para iniciar la instalación de PHP.

Instalación de PHP 8.0

TYPO3 CMS está escrito principalmente en PHP, y en el momento de escribir esto, la última versión de TYPO3 CMS soporta paquetes PHP 8.x. En esta sección, instalarás PHP 8.0, que está disponible por defecto en el repositorio Rocky Linux 9.

Introduce el siguiente comando dnf para instalar los paquetes PHP 8.0. Cuando se te solicite, introduce y para confirmar y pulsa ENTER para continuar.

sudo dnf install php php-common php-mysqlnd php-gd php-curl php-json php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap

instalar php

Una vez instalado PHP, abre el archivo de configuración ‘/etc/php.ini ‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/php.ini

Cambia la configuración por defecto de php.ini con las siguientes líneas.

memory_limit = 512M
max_execution_time = 300
max_input_vars = 2000

date.timezone = Europe/Stockholm

post_max_size = 30M
upload_max_filesize = 30M

Guarda y sal del archivo‘/etc/php.ini ‘ cuando hayas terminado.

Ahora ejecuta la siguiente utilidad de comandos systemctl para reiniciar el servicio httpd y aplicar los nuevos cambios que has realizado en el archivo ‘php.ini’.

sudo systemctl restart httpd

También puedes verificar la versión actual de PHP mediante el siguiente comando ‘php’. Deberías recibir una salida indicando que PHP 8.0 está instalado en tu sistema.

php --version

verificar php

Ahora ya has instalado los paquetes PHP 8.0 y configurado el archivo php.ini. En el siguiente paso, instalarás Composer – gestor de dependencias para PHP – que se utilizará para instalar las dependencias PHP de TYPO3 CMS.

Instalación de Composer

Composer es un gestor de dependencias PHP a nivel de aplicación. Se puede instalar manualmente a través del script instalador oficial, o puedes instalarlo a través del repositorio EPEL.

Introduce el siguiente comando dnf para instalar Composer desde el repositorio EPEL. Cuando se te solicite, introduce y para confirmar y pulsa ENTER para continuar.

sudo dnf install composer

instalar composer

Una vez instalado Composer, introduce el siguiente comando para verificar la versión de Composer.

sudo -u apache composer -V

El siguiente resultado confirma que Composer v2.5.1 está instalado en tu sistema Rocky Linux.

verificar compositor

Con Composer instalado, el siguiente paso es instalar Certbot, que se utilizará para generar certificados SSL/TLS desde Letsencrypt.

Instalar Certbot

Certbot es una herramienta de línea de comandos para generar certificados SSL/TLS a partir de Letsencrypt. Para las distribuciones basadas en RHEL, puedes instalar Certbot desde el repositorio EPEL.

Introduce el siguiente comando dnf para instalar los paquetes‘certbot‘ y‘python3-certbot-apache‘ en tu sistema. Introduce y cuando se te solicite y pulsa ENTER para continuar.

sudo dnf install certbot python3-certbot-apache

instalar certbot

Una vez finalizada la instalación, ejecuta el siguiente comando para verificar la instalación.

which certbot
certbot --version

La ruta binaria del comando‘certbot‘ está disponible en‘/bin/certbot‘. Y la versión de certbot que has instalado es la v2.1.0.

verificar certbot

Con el compositor y certbot instalados, estás listo para instalar TYPO3 CMS.

Descarga del código fuente de TYPO3 CMS

En esta sección, configurarás el directorio de instalación de destino y la descarga del código fuente de TYPO3 CMS.

Introduce el siguiente comando para crear un nuevo directorio ‘/var/www/typo3‘. Éste se utilizará como directorio raíz de instalación de TYPO3 CMS.

mkdir -p /var/www/typo3

Cambia la propiedad del directorio ‘/var/www/typo3 ‘ al usuario y grupo‘apache‘. Además, debes asegurarte de que el propietario de este directorio puede leer y escribir en él. Con esto, darás acceso al código fuente del CMS TYPO3 al servidor web httpd que se ejecuta por defecto con un usuario ‘apache‘.

sudo chown -R apache:apache /var/www/typo3
sudo chmod u+rw /var/www/typo3

Ahora ve al directorio‘/var/www/typo3‘ y descarga el código fuente de TYPO3 CMS utilizando el siguiente comando composer.

cd /var/www/typo3
sudo -u apache composer create-project typo3/cms-base-distribution:^11 .

Salida:

descargar código fuente

Una vez descargado el código fuente de TYPO3 CMS, introduce el siguiente comando para verificar la lista de archivos y directorios en el directorio ‘/var/www/typo3 ‘.

ls -lah /var/www/typo3

La salida que aparece a continuación confirma que se ha descargado el código fuente de TYPO3 CMS. Además, debes asegurarte de que el propietario del código fuente de TYPO3 CMS es el usuario y grupo‘apache‘.

verificar el código fuente

Ahora que has descargado el código fuente de TYPO3 CMS, a continuación crearás y establecerás la configuración del host virtual httpd que se utilizará para ejecutar TYPO3 CMS.

Configurar el host virtual httpd

En esta sección, crearás una nueva configuración de host virtual httpd que se utilizará para ejecutar TYPO3 CMS. También generarás certificados SSL/TLS desde Letsencrypt mediante el comando Certbot.

Antes de empezar, asegúrate de que tienes el nombre de dominio apuntando a la dirección IP de tu servidor y una dirección de correo electrónico que se utilizará para registrarse en Letsencrypt.

Crea un nuevo archivo de configuración del host virtual httpd‘/etc/httpd/conf.d/typo3.conf ‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/httpd/conf.d/typo3.conf

Añade las siguientes líneas al archivo y asegúrate de cambiar el nombre de dominio de la instalación de TYPO3 CMS.

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/typo3/public
    ServerName hwdomain.io
Protocols h2 http/1.1

<Directory /var/www/typo3/public/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>

ErrorLog /var/log/httpd/typo3-error.log
CustomLog /var/log/httpd/typo3-access.log combined

<Directory /var/www/typo3/public/>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
</Directory>
</VirtualHost>

Guarda y sal del archivo ‘/etc/httpd/conf.d/typo3.conf ‘ cuando hayas terminado.

A continuación, ejecuta el siguiente comando para verificar y asegurarte de que tienes la configuración httpd adecuada. Cuando se ejecute correctamente, deberías recibir una salida como‘sintaxis OK‘.

sudo apachectl configtest

Ahora introduce el siguiente comando systemctl para reiniciar el servicio httpd y aplicar los cambios.

sudo systemctl restart httpd

Con esto, ya has terminado la configuración del host virtual httpd para TYPO3 CMS.

Ahora introduce el siguiente comando certbot para generar certificados SSL/TLS para tu nombre de dominio TYPO3 CMS. Además, asegúrate de cambiar el nombre de dominio y la dirección de correo electrónico en el siguiente comando.

sudo certbot --apache --agree-tos --no-eff-email  --redirect --hsts --staple-ocsp --email [email protected] -d hwdomain.io

Cuando hayas terminado, tus certificados SSL/TLS estarán disponibles en el directorio‘/etc/letsencrypt/live/yourdomain.com/‘. Además, tu configuración de host virtual httpd se configurará automáticamente con certificados SSL y la redirección automática de HTTP a HTTPS.

Con esto, ya has terminado la configuración del servidor web httpd para TYPO3 CMS. También has generado los certificados SSL/TLS para tu nombre de dominio TYPO3 CMS. Ya puedes acceder a tu instalación de TYPO3 CMS.

Iniciar la instalación de TYPO3

Antes de comenzar la instalación de TYPO3 CMS, debes crear un nuevo archivo en blanco‘FIRST_INSTALL‘ en el directorio‘/var/www/typo3/public/’. Esto indicará que estás instalando el TYPO3 CMS por primera vez en este servidor.

Introduce el siguiente comando para crear un nuevo archivo‘FIRST_INSTALL‘ dentro del directorio ‘/var/www/typo3/public/.

sudo -u apache touch /var/www/typo3/public/FIRST_INSTALL

Ahora abre tu navegador web e introduce el nombre de dominio de tu instalación de TYPO3 CMS (es decir: https://hwdomain.io/).

El instalador de TYPO3 CMS comprobará y verificará el entorno de tu sistema en la primera página. Asegúrate de que aparece el botón«No se han detectado problemas, continuar con la instalación«, que confirma que tu sistema está preparado para la instalación de TYPO3 CMS.

inicio de la instalación

Ahora introduce los datos del usuario MariaDB que se utilizará para la instalación de TYPO3 CMS.

setupd atabase

Selecciona la opción«Utilizar una base de datos vacía existente» y selecciona la base de datos«typo3db» en el menú desplegable. A continuación, haz clic en Continuar.

seleccionar base de datos

Ahora introduce el nombre de usuario, la dirección de correo electrónico y la contraseña del usuario administrador de TYPO3 CMS. Asegúrate de utilizar una contraseña segura.

Haz clic en Continuar para continuar.

configuración administrativa

Cuando hayas terminado, deberías recibir un mensaje como«Instalación completada«.

Ahora selecciona la opción«Llévame directamente al backend» y haz clic en el botón«Abrir el backend de TYPO3» para continuar.

instalación finalizada

Serás redirigido a la página de inicio de sesión de TYPO3 CMS. Introduce tu usuario y contraseña de administrador y haz clic en Iniciar sesión.

página de acceso typo3 cms

Si tienes éxito, deberías ver el panel de administración de TYPO3 CMS.

salpicadero typo3 cms

Puedes verificar los detalles del software que estás utilizando para la instalación de TYPO3 CMS haciendo clic en el menú «Información de la aplicación» en la parte izquierda del perfil de usuario.

Deberías ver detalles similares en la siguiente captura de pantalla – En el momento de escribir esto, has instalado TYPO3 CMS v11.5 con servidores web httpd/Apache, PHP 8.0 y el servidor de base de datos MariaDB.

verificar estado instalación

Conclusión

En esta guía, has instalado un sistema de gestión de contenidos de nivel empresarial TYPO3 CMS en un servidor Rocky Linux 9. Has instalado TYPO3 CMS con el servidor web httpd, el servidor de base de datos MariaDB y PHP 8.0.

Además, también has instalado Certbot para generar certificados SSL desde Letsencrypt. Y también has asegurado la instalación de TYPO3 CMS mediante certificados SSL/TLS y has configurado la redirección automática de HTTP a HTTPS mediante Certbot.

Con esto, puedes empezar la configuración de TYPO3 CMS creando un registro de sitio, añadiendo usuarios backend y añadiendo el idioma backend para habilitar el multi-idioma. Para obtener más información sobre TYPO3 CMS, visita la documentación oficial de TYPO3.

Scroll al inicio