Cómo instalar TYPO3 CMS en Debian 12

TYPO3 es un sistema de gestión de contenidos de nivel empresarial, gratuito y de código abierto. Ofrece funciones de nivel empresarial, como un CMS escalable con soporte multisitio, instalaciones multilingües, una sólida implementación de seguridad, una velocidad vertiginosa y puede ejecutarse en cualquier lugar.

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

Este tutorial te muestra cómo instalar el TYPO3 CMS en un servidor Debian 12 sobre una pila LAMP (Apache2, MariaDB y PHP).

Requisitos previos

Antes de continuar con esta guía, asegúrate de que dispones de:

  • Un servidor Debian 12.
  • Un usuario no root con privilegios de administrador sudo.
  • Un nombre de dominio apuntando a la dirección IP de tu servidor.

Instalación de las dependencias

TYPO3 es un sistema de gestión de contenidos de código abierto escrito en PHP y compatible con el servidor de bases de datos MySQL/MariaDB. El CMS TYPO3 puede instalarse a través del Gestor de Dependencias PHP Composer y puede ejecutarse con el servidor web Apache2 o Nginx.

En esta guía, ejecutarás TYPO3 CMS con la pila LAMP (Apache2, MariaDB y PHP) y Composer, que puede instalarse fácilmente mediante APT desde el repositorio oficial de Debian. Completa los siguientes pasos para instalar esas dependencias para TYPO3 CMS.

En primer lugar, actualiza y refresca tu repositorio de Debian utilizando el comando que se indica a continuación.

sudo apt update

actualizar repoi

Ahora instala las dependencias de los paquetes para TYPO3 CMS utilizando el comando apt install que aparece a continuación. Con este comando, instalarás la pila LAMP (Apache2, MariaDB, PHP) con extensiones PHP adicionales y el Compositor como gestor de dependencias PHP.

sudo apt install apache2 mariadb-server composer php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap

Escribe yo para confirmar y proceder con la instalación.

instalar deps

Una vez instaladas las dependencias, debes verificar cada una de ellas para asegurarte de que la instalación se ha realizado correctamente.

Ejecuta el siguiente comando para asegurarte de que el servicio apache2 se está ejecutando y está habilitado.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

La siguiente salida indica que el servicio apache2 se está ejecutando y está habilitado.

comprobar apache2

Ahora verifica el servicio mariadb utilizando el comando siguiente.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

De forma similar al servicio apache2, la salida enabled confirma que el servicio mariadb está habilitado. Y la salida active (running ) confirma que mariadb está en ejecución.

comprobar mariadb

A continuación, verifica tu versión y extensiones de PHP utilizando el siguiente comando.

php -v
php -m

Deberías ver que PHP 8.2 está instalado con algunas extensiones habilitadas, como apcu, curl, fileinfo y gd.

comprobar php

Por último, ejecuta el siguiente comando para asegurarte de que COmposer está instalado. A continuación, verifica la versión de Composer.

which composer
sudo -u www-data composer -v

La siguiente salida te muestra que Composer 2. 5 está instalado en /usr/bin/composer.

comprobar compositor

Configurar PHP

Después de instalar la pila LAMP y Composer, deberás configurar tu instalación de PHP. El TYPO3 CMS requiere algunos ajustes específicos de PHP para ejecutarse, ahora modificarás la configuración php.ini según sea necesario para la instalación de TYPO3 CMS.

Abre la configuración PHP por defecto /etc/php/8.2/apache2/php.ini utilizando el siguiente comando del editor nano.

sudo nano /etc/php/8.2/apache2/php.ini

Cambia la configuración PHP por defecto así y asegúrate de ajustar las opciones memory_limit y date.timezone con el entorno de tu servidor.

memory_limit = 512M
max_execution_time = 240
max_input_vars = 1500

date.timezone = Europe/Amsterdam

post_max_filesize = 50M
upload_max_filesize = 50M

Guarda y sal del archivo cuando hayas terminado.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio apache2 y aplicar los cambios a tu instalación de PHP.

sudo systemctl restart apache2

A continuación, crea un nuevo archivo PHPINFO /var/www/html/info. php ejecutando el siguiente comando. Esto garantizará que tu instalación de PHP funciona.

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Por último, abre tu navegador web y visita la dirección IP del servidor seguida de la ruta del archivo PHPINFO, como http://192.168.10.15/info.php. Si todo va bien, deberías ver información detallada sobre tu instalación de PHP.

phpinfo

Configurar el servidor MariaDB

En la siguiente sección, asegurarás el servidor MariaDB mediante la utilidad mariadb-secure-installation y crearás una nueva base de datos y un nuevo usuario que utilizará TYPO3 CMS a través del cliente mariadb.

Ejecuta el comando mariadb-secure-installation que se indica a continuación para asegurar la instalación de tu servidor MariaDB.

sudo mariadb-secure-installation

Durante el proceso, se te pedirá que cambies algunas de las configuraciones por defecto de MariaDB. Introduce Y para aplicar los cambios, o n para Rechazarlos.

A continuación se indican algunas de las configuraciones del servidor MariaDB que se te pedirán:

  • ¿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í.
  • ¿Cambiar la contraseña de root? Introduce y para confirmar y establecer tu nueva contraseña de root de MariaDB.
  • ¿Eliminar el usuario anónimo? Introduce y para confirmar.
  • ¿Prohibir el acceso remoto al usuario root? Introduce y para confirmar. Sólo se permitirá la conexión local si utilizas el usuario raíz de MariaDB.
  • ¿Quitar la base de datos de prueba y el acceso a ella? Introduce y para confirmar y eliminar la base de datos «test» por defecto.
  • Por último, introduce y de nuevo para recargar todos los privilegios de las tablas en tu servidor MariaDB y aplicar los nuevos cambios.

Después de asegurar el servidor MariaDB, crearás una nueva base de datos y un nuevo usuario que utilizará TYPO3 CMS. Para crearlos, debes iniciar sesión en el servidor MariaDB mediante el comando cliente mariadb.

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

sudo mariadb -u root -p

Una vez conectado, ejecuta las siguientes consultas para crear una nueva base de datos typo3db y un usuario typo3. Asegúrate de cambiar la contraseña en las siguientes consultas.

CREATE DATABASE typo3db;
GRANT ALL PRIVILEGES ON typo3db.* to typo3@localhost IDENTIFIED BY 'typo3password';
FLUSH PRIVILEGES;

crear base de datos

A continuación, ejecuta la siguiente consulta para asegurarte de que el usuario typo3 puede acceder a la base de datos typo3db.

SHOW GRANTS FOR typo3@localhost;

La siguiente salida confirma que el usuario typo3 de MariaDB puede acceder a la base de datos typo3db.

verificar el usuario de la base de datos

Escribe quit para salir del servidor MariaDB.

Descarga de TYPO3 CMS a través de Composer

En esta guía, instalarás la versión 12 de TYPO3 CMS, que se puede descargar a través de Composer. En los siguientes pasos, configurarás el directorio raíz web y descargarás el código fuente de TYPO3 CMS. También configurarás los permisos y la propiedad adecuados para el directorio raíz web de TYPO3 CMS.

Crea un nuevo directorio raíz web /var/www/typo3 y directorios adicionales /var/www/{.cache,.config} utilizando el siguiente comando. El directorio /var/www/typo3 se utilizará como directorio raíz web para tu instalación de TYPO3 CMS.

mkdir -p /var/www/{.cache,.config,typo3}

Ahora ejecuta el siguiente comando para cambiar la propiedad del directorio /var/www/typo3 al usuario www-data. A continuación, habilita el acceso de lectura y escritura para el propietario del directorio /var/www/typo3.

sudo chown -R www-data:www-data /var/www/{.cache,.config,typo3}
sudo chmod u+rw /var/www/typo3

A continuación, ve al directorio /var/www/typo3 y descarga el código fuente de TYPO3 CMS mediante el comando composer que aparece a continuación. En este ejemplo, descargarás el TYPO3 CMS 12.

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

Durante el proceso se mostrará la siguiente salida:

instalar typo3 cms

Cuando termine, a continuación se muestra la salida que deberías obtener:

instalación finalizada

Una vez descargado el código fuente de TYPO3 CMS, ejecuta el siguiente comando ls para listar el código fuente.

ls

Deberías ver la lista del código fuente de TYPO3 CMS como la siguiente:

lista archivos código fuente

Configuración del host virtual Apache2

En la siguiente sección, crearás una nueva configuración de host virtual Apache2 que se utilizará para ejecutar el TYPO3 CMS. Por tanto, antes de continuar, asegúrate de que tienes un nombre de dominio apuntando a la dirección IP de tu servidor.

En primer lugar, introduce el siguiente comando para habilitar los módulos de reescritura y las cabeceras.

sudo a2enmod rewrite headers

Ahora crea una nueva configuración de host virtual /etc/apache2/sites-available/typo3. conf utilizando el siguiente comando del editor nano.

sudo nano /etc/apache2/sites-available/typo3.conf

Introduce la siguiente configuración y asegúrate de cambiar el nombre de dominio de tu instalación de TYPO3 CMS.

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/typo3/public
    ServerName hwdomain.io
<Directory /var/www/typo3/public/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

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

Guarda el archivo y sal del editor cuando hayas terminado.

A continuación, ejecuta el siguiente comando para activar el nuevo archivo de host virtual typo3.conf y verifica tu sintaxis de Apache2.

sudo a2ensite typo3.conf
sudo apachectl configtest

Cuando la sintaxis de Apache2 sea correcta, deberías obtener una salida Sintaxis OK.

configurar apache2

Por último, introduce el siguiente comando para reiniciar el servicio apache2 y aplicar los cambios que has realizado.

sudo systemctl restart apache2

Proteger TYPO3 CMS con Certbot

Después de configurar el host virtual, asegurarás tu instalación de TYPO3 CMS habilitando HTTPS seguro con certificados SSL/TLS de Letsencrypt. Utilizarás Certbot y el plugin Certbot Apache para generar los certificados Letsencrypt.

Instala Certbot y el plugin Certbot Apache utilizando el siguiente comando apt.

sudo apt install certbot python3-certbot-apache

Escribe y para proceder con la instalación.

instalar certbot

Una vez finalizada la instalación, ejecuta el siguiente comando certbot para generar nuevos certificados SSL/TLS para tu instalación de TYPO3 CMS. Asegúrate de cambiar el nombre de dominio y la dirección de correo electrónico con tus datos.

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

Tus certificados SSL/TLS estarán disponibles en el directorio /etc/letsencrypt/live/domain.com. Y el archivo de host virtual typo3. conf se configurará automáticamente con HTTPS, lo que se hace mediante el plugin de Apache Certbot.

Instalar TYPO3 CMS a través del Instalador Web

En primer lugar, ejecuta el siguiente comando para crear un nuevo archivo /var/www//typo3/public/FIRST_INSTALL. El instalador web de TYPO3 no estará disponible a menos que el archivo /var/www/typo3/public/FIRST_INSTALL esté disponible.

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

Ahora abre tu navegador web y visita tu nombre de dominio TYPO3 CMS, como https://hwdomain.io/. Serás redirigido al instalador web de TYPO3.

Asegúrate de que el entorno de tu sistema está preparado, haz clic en No se han detectado problemas y continúa con la instalación.

instalar typo3

Introduce los datos del usuario de la base de datos MariaDB, la contraseña y el host, y haz clic en Continuar.

ajustes db

Selecciona la opción Utilizar base de datos vacía existente y selecciona la base de datos typo3db. A continuación, vuelve a hacer clic en Continuar.

seleccionar base de datos

A continuación, introduce el nuevo usuario administrador, la contraseña y la dirección de correo electrónico para tu instalación de TYPO3 CMS. Haz clic en Continuar para confirmar.

crear usuario administrador

Una vez finalizada la instalación, deberías obtener la siguiente página.

instalación finalizada

Haz clic en Abrir el backend de TYPO3 para acceder al panel de administración de TYPO3.

Aparecerá la página de inicio de sesión de TYPO3. Introduce tu nombre de usuario y contraseña, y haz clic en Iniciar sesión.

login typo3

Cuando el inicio de sesión se haya realizado correctamente, deberías ver el panel de administración de TYPO3 como el siguiente:

panel de administración backend

En el menú superior derecho, haz clic en el menú de información y deberías obtener información detallada sobre tu instalación de TYPO3 CMS. En la siguiente captura de pantalla, deberías ver que TYPO3 CMS 12 está instalado con PHP 8.2, el servidor MariaDB 10.11 y el servidor web Apache2 2.4.

información del sistema

Conclusión

En conclusión, has instalado con éxito TYPO3 CMS en el servidor Debian 12 con la pila LAMP (Apache2, MariaDB y PHP) y el gestor de paquetes Composer PHP. También has asegurado tu instalación de TYPO3 CMS con certificados SSL/TLS generados desde Letsencrypt utilizando Certbot y el plugin Certbot Apache. Ahora puedes utilizar TYPO3 CMS para gestionar tus contenidos, administrar registros, configurar idiomas adicionales para sitios multilingües, y muchas cosas más.

También te podría gustar...