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
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
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.
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.
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.
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;
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;
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;
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
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
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
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.
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
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.
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:
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‘.
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.
Ahora introduce los datos del usuario MariaDB que se utilizará para la instalación de TYPO3 CMS.
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.
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.
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.
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.
Si tienes éxito, deberías ver el panel de administración de 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.
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.