Cómo instalar TYPO3 CMS con Let’s Encrypt SSL en Ubuntu 20.04

TYPO3 es un sistema de gestión de contenidos gratuito y de código abierto escrito en PHP. Es un CMS de clase empresarial que combina el código abierto con la fiabilidad y la verdadera escalabilidad. Se ejecuta en un servidor web y es compatible con muchos sistemas operativos, como Windows, Linux, macOS, etc. Es un CMS sencillo, con capacidad de respuesta, preparado para dispositivos móviles y seguro, y puede personalizarse y ampliarse fácilmente sin necesidad de escribir ningún código. Es una opción muy popular y estupenda para poner en marcha tu sitio web rápidamente.

En este tutorial, te mostraremos cómo instalar el CMS TYPO3 con el servidor web Apache y Let’s Encrypt SSL en Ubuntu 20.04.

Requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Un nombre de dominio válido apuntado con la IP de tu servidor.
  • Una contraseña de root configurada el servidor.

Cómo empezar

En primer lugar, se recomienda actualizar los paquetes de tu sistema con la última versión. Puedes actualizar todos los paquetes ejecutando el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, puedes pasar al siguiente paso.

Instalar el servidor LAMP

A continuación, tendrás que instalar el servidor web Apache, MariaDB, PHP y otras extensiones de PHP en tu servidor. Puedes instalarlos todos con el siguiente comando:

apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-gmp php-curl php-intl php-mbstring php-xmlrpc php-mysql php-gd php-xml php-cli php-zip curl git gnupg2 -y

Después de instalar todos los paquetes, edita el archivo php.ini y cambia algunos ajustes recomendados:

nano /etc/php/7.4/apache2/php.ini

Cambia las siguientes líneas:

memory_limit = 256M
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 360
max_input_vars = 1500
date.timezone = Asia/Kolkata

Guarda y cierra el archivo y luego reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

Crear una base de datos para TYPO3

A continuación, tendrás que crear una base de datos y un usuario para TYPO3. En primer lugar, inicia sesión en el shell de MariaDB con el siguiente comando:

mysql

Una vez iniciada la sesión, crea una base de datos y un usuario con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE typo3db;
MariaDB [(none)]> CREATE USER ''@'localhost' IDENTIFIED BY 'password';

A continuación, concede todos los privilegios a la typo3db con el siguiente comando:

MariaDB [(none)]> GRANT ALL ON typo3db.* TO 'typo3'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

A continuación, vacía los privilegios y sal de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

En este punto, tu base de datos MariaDB está configurada.

Instalar TYPO3 CMS

En primer lugar, tendrás que descargar la última versión de TYPO3 desde su sitio web oficial. Puedes utilizar el comando curl para descargarla:

curl -L -o typo3_src.tgz https://get.typo3.org/10.4.9

Una vez completada la descarga, extrae el archivo descargado con el siguiente comando:

tar -xvzf typo3_src.tgz

A continuación, mueve el directorio extraído al directorio raíz de la web de Apache:

mv typo3_src-10.4.9 /var/www/html/typo3

A continuación, da el permiso y la autorización adecuados con el siguiente comando:

chown -R www-data:www-data /var/www/html/typo3
chmod -R 775 /var/www/html/typo3

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar Apache para TYPO3

A continuación, crea un archivo de configuración del host virtual de Apache para alojar el CMS TYPO3. Puedes crearlo con el siguiente comando:

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

Añade las siguientes líneas:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/typo3
     ServerName typo3.example.com
     <Directory /var/www/html/typo3>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

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

</VirtualHost>

Guarda y cierra el archivo y luego habilita el archivo de configuración del host virtual y el módulo de reescritura con el siguiente comando:

a2ensite typo3.conf
a2enmod rewrite

A continuación, reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

En este punto, el servidor web Apache está configurado para servir a TYPO3. Ahora puedes pasar al siguiente paso.

Accede a TYPO3 CMS

Ahora, abre tu navegador web y accede a TYPO3 utilizando la URL http://typo3.example.com. Deberías ver la siguiente página:

Instalación de Typo3

Si estás instalando TYPO3 en un servidor nuevo, tendrás que crear un archivo FIRST_INSTALL dentro del directorio raíz de la web de TYPO3. Puedes crearlo con el siguiente comando:

touch /var/www/html/typo3/FIRST_INSTALL

A continuación, actualiza la página web. Deberías ver la siguiente página:

Visión general del medio ambiente

Haz clic en el botón No se han detectado problemas, continúa con la instalación, deberías ver la siguiente página:

Configurar la base de datos

Proporciona el nombre de usuario de la base de datos, la contraseña y el host y haz clic en el botón Continuar. Deberías ver la siguiente página:

Utilizar la base de datos existente

Selecciona el nombre de tu base de datos TYPO3 y haz clic en el botón Continuar. Deberías ver la siguiente página:

Crear usuario administrador

A continuación, proporciona tu nombre de usuario de administrador, contraseña, nombre del sitio y haz clic en el botón Continuar. Serás redirigido a la página de inicio de sesión de TYPO3:

Inicio de sesión de Typo3

Proporciona tu nombre de usuario y contraseña de administrador y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de TYPO3 en la siguiente página:

Panel de administración de Typo3

Asegura TYPO3 con Let’s Encrypt

Se recomienda asegurar tu sitio web con Let’s Encrypt Free SSL. Primero, instala el cliente Certbot para instalar y gestionar el SSL. Puedes instalarlo con el siguiente comando:

apt-get install python3-certbot-apache -y

Una vez instalado, ejecuta el siguiente comando para asegurar tu sitio web con Let’s Encrypt SSL:

certbot --apache -d typo3.example.com

Se te pedirá que proporciones tu correo electrónico y aceptes las condiciones del servicio, como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for typo3.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/typo3-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/typo3-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/typo3-le-ssl.conf

A continuación, selecciona si quieres redirigir el tráfico HTTP a HTTPS como se muestra a continuación:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Escribe 2 y pulsa Intro para instalar el SSL de Let’s Encrypt para tu sitio web:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/typo3.conf to ssl vhost in /etc/apache2/sites-available/typo3-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://typo3.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=typo3.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/typo3.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/typo3.example.com/privkey.pem
   Your cert will expire on 2020-10-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Ahora, puedes acceder al CMS de TYPO3 de forma segura utilizando la URL https://typo3.example.com.

Conclusión

Enhorabuena! has instalado con éxito TYPO3 CMS y lo has asegurado con Let’s Encrypt SSL en Ubuntu 20.04. Ahora puedes crear tu sitio web y tu blog fácilmente a través del navegador web. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...