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:
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:
Haz clic en el botón No se han detectado problemas, continúa con la instalación, deberías ver la siguiente página:
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:
Selecciona el nombre de tu base de datos TYPO3 y haz clic en el botón Continuar. Deberías ver la siguiente página:
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:
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:
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.