Cómo instalar Typo3 CMS en Debian 9

Cómo instalar Typo3 CMS en Debian 9

En esta gu√≠a, aprenderemos c√≥mo instalar y configurar la √ļltima versi√≥n de Typo3 CMS en Debian 9.

Typo3 es un potente sistema de gesti√≥n de contenido de c√≥digo abierto con la mayor√≠a de las partes escritas en lenguaje de programaci√≥n PHP. A menudo se implementa en Linux bajo servidores web Apache/Nginx, lenguaje de programaci√≥n del lado del servidor PHP y sistema de administraci√≥n de base de datos MySQL/MariaDB, tambi√©n conocido como pila LAMP o LEMP. La plataforma Typo3 CMS es altamente flexible y escalable y se puede ampliar sin escribir ninguna l√≠nea de c√≥digo, lo que la convierte en la candidata perfecta para implementar sitios web peque√Īos o potentes portales empresariales multiling√ľes.

Requisitos

  • Instalaci√≥n m√≠nima de Debian 9 en una m√°quina completa o en un servidor privado virtual
  • Privilegios de sudo root para una cuenta local o remota o acceso directo a la cuenta root
  • Una direcci√≥n IP est√°tica configurada para una de las tarjetas de interfaz de red de su sistema
  • Un nombre de dominio, privado o p√ļblico, seg√ļn su implementaci√≥n, con los registros DNS adecuados configurados para servicios web. Si no tiene un nombre de dominio v√°lido o registrado, puede realizar la instalaci√≥n y acceder al sitio web a trav√©s de la direcci√≥n IP de su servidor.
  • Si desea utilizar el registro en el sitio web, la moderaci√≥n de comentarios y otras funciones, debe tener un servidor de correo en ejecuci√≥n correctamente configurado en sus instalaciones con acceso remoto a sus servicios IMAP y SMTP.

Preparar el servidor

Antes de comenzar a instalar y configurar Typo desde fuentes en su propio servidor, primero aseg√ļrese de que el sistema cumpla con todos los requisitos de software para compilar e instalar la aplicaci√≥n. En el primer paso, actualice los repositorios de su sistema y los paquetes de software emitiendo el siguiente comando.

apt update
apt upgrade

Una vez que el sistema se haya actualizado por completo, configure el nombre de su sistema ejecutando el siguiente comando. Reemplace su variable de nombre de host en consecuencia.

Establecer el nombre de host

hostnamectl set-hostname typo

Verifique el nombre de host de la m√°quina y el archivo de hosts emitiendo los siguientes comandos.

hostnamectl
cat /etc/hostname
hostname ‚Äďs
hostname ‚Äďf

Finalmente, reinicie el servidor Debian para aplicar las actualizaciones del n√ļcleo y el nombre de host cambie correctamente.

systemctl reboot

Instale las herramientas necesarias

En el siguiente paso, ejecute el siguiente comando para instalar algunas utilidades necesarias que se utilizar√°n para administrar a√ļn m√°s su sistema desde la l√≠nea de comandos.

apt install wget bash-completion zip unzip

Adem√°s, instale el software imagemagick, requerido por Typo3 para crear, editar, componer o convertir mapas de bits u otros tipos de im√°genes cargadas en el sitio web.

apt install imagemagick

Typo3 es una plataforma CMS basada en la web escrita principalmente en el lenguaje de programación del lado del servidor PHP. Para ejecutar los scripts de archivos PHP de la aplicación, se debe instalar y poner en funcionamiento en el sistema un servidor web, como un servidor HTTP Apache, y una puerta de enlace de procesamiento PHP.

Instalar Apache y PHP

Para instalar el servidor web Apache y el intérprete PHP junto con todos los módulos PHP necesarios para que la aplicación funcione correctamente, emita el siguiente comando en la consola de su servidor.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-zip php7.0-gd php7.0-xml php7.0-gd php7.0-json php7.0-opcache php-imagick  php7.0-curl php7.0-mbstring php7.0-bcmath php7.0-gmp

Después de que se hayan instalado Apache y PHP, pruebe si el servidor web está funcionando y escuchando las conexiones de red en el puerto 80 emitiendo el siguiente comando con privilegios de raíz.

netstat ‚Äďtlpn

En caso de que la utilidad de red netstat no esté instalada de forma predeterminada en su sistema Debian, ejecute el siguiente comando para instalarla.

apt install net-tools

Al inspeccionar la salida del comando netstat, puede ver que el servidor web apache está escuchando las conexiones de red entrantes en el puerto 80. Para la misma tarea, también puede usar el ss comando, que se instala automáticamente de forma predeterminada en Debian 9.

ss- tulpn

Configurar el cortafuegos

En caso de que tenga un firewall habilitado en su sistema, como la aplicación de firewall UFW, debe agregar una nueva regla para permitir que el tráfico HTTP pase a través del firewall emitiendo el siguiente comando.

ufw allow WWW

o

ufw allow 80/tcp

si est√°s usando iptables reglas sin procesar para administrar las reglas del cortafuegos en su servidor Debian, agregue la siguiente regla para permitir el tr√°fico entrante del puerto 80 en el cortafuegos para que los visitantes puedan navegar por el sitio web.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Configurar apache

Luego, habilite y aplique los siguientes módulos de Apache requeridos por la aplicación web para ejecutarse correctamente, emitiendo el siguiente comando.

a2enmod rewrite deflate headers
systemctl restart apache2

Finalmente, pruebe si la página web predeterminada del servidor web Apache se puede mostrar en los navegadores de su cliente visitando la dirección IP de su máquina Debian o su nombre de dominio o servidor FQDN a través del protocolo HTTP, como se muestra en la imagen a continuación. Si no conoce la dirección IP de su máquina, ejecute ifconfig o ip un comandos para revelar la dirección IP de su servidor.

http://tu_dominio.tld

Para instalar y acceder al panel de administración web Typo3 respaldado y al sitio web frontend a través del protocolo HTTPS que asegurará el tráfico para sus clientes, emita el siguiente comando para habilitar el módulo SSL del servidor web Apache y el archivo de configuración del sitio SSL.

a2enmod ssl
a2ensite default-ssl.conf

A continuación, abra el archivo de configuración del sitio SSL predeterminado de Apache con un editor de texto y habilite las reglas de reescritura de URL agregando las siguientes líneas de código después Raiz del documento directiva, como se muestra en el ejemplo siguiente:

nano /etc/apache2/sites-enabled/default-ssl.conf

Extracto del archivo de configuración del sitio SSL:

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Además, realice el siguiente cambio en la línea VirtualHost para que se vea como se muestra en el siguiente extracto:

        <VirtualHost *:443>

Cierra el archivo SSL Apache y abre el /etc/apache2/sites-enabled/000-default.conf para editar y agregar las mismas reglas de reescritura de URL que para el archivo de configuración SSL. Inserte las líneas de código después Raiz del documento declaración como se muestra en el siguiente ejemplo.

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Finalmente, reinicie el demonio Apache para aplicar todas las reglas configuradas hasta el momento y visite su dominio a través del protocolo HTTP. Debido a que está utilizando los pares de certificados autofirmados automáticamente emitidos por Apache en la instalación, se debe mostrar una advertencia de error en el navegador.

systemctl restart apache2

https://tudominio.tld

Acepte la advertencia para usar el certificado que no es de confianza y continuar y ser redirigido a la p√°gina web predeterminada de Apache, como se ilustra en la siguiente imagen.

En caso de que la aplicación de firewall UFW bloquee las conexiones de red entrantes al puerto HTTPS, debe agregar una nueva regla para permitir que el tráfico HTTPS pase a través del firewall emitiendo el siguiente comando.

ufw allow 'WWW Full'

o

ufw allow 443/tcp

Si iptables es la aplicación de firewall predeterminada instalada para proteger su sistema Debian a nivel de red, agregue la siguiente regla para permitir el tráfico entrante del puerto 443 en el firewall para que los visitantes puedan navegar por su nombre de dominio.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Configurar PHP

En el siguiente paso, debemos realizar algunos cambios adicionales en el archivo de configuraci√≥n predeterminado de PHP para garantizar que las siguientes variables de PHP est√©n habilitadas y PHP zona horaria la configuraci√≥n est√° configurada correctamente y coincide con la ubicaci√≥n geogr√°fica de su sistema. Abre el /etc/php/7.0/apache2/php.ini para editarlo y aseg√ļrese de que las siguientes l√≠neas est√©n configuradas de la siguiente manera. Adem√°s, inicialmente, haga una copia de seguridad del archivo de configuraci√≥n de PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Busque, edite y cambie las siguientes variables en el php.ini archivo de configuración:

file_uploads = On
memory_limit = 128 M
upload_max_file_size = 64M
max_execution_time = 240
max_input_vars = 1500
date.timezone = Europe/London

Aumentar upload_max_file_size variable como adecuada para admitir archivos adjuntos de gran tama√Īo y reemplazar el zona horaria variable de acuerdo con su tiempo f√≠sico consultando la lista de zonas horarias proporcionada por PHP docs en el siguiente enlace http://php.net/manual/en/timezones.php

Si desea aumentar la velocidad de carga de las páginas de su sitio web a través del complemento OPCache disponible para PHP7, agregue la siguiente configuración de OPCache en la parte inferior del archivo de configuración del intérprete de PHP, como se detalla a continuación:

opcache.enable=1 
opcache.enable_cli=1 
opcache.interned_strings_buffer=8 
opcache.max_accelerated_files=10000 
opcache.memory_consumption=128 
opcache.save_comments=1
opcache.revalidate_freq=1

Cierre el archivo de configuración php.ini y verifique si verifica el final del archivo de configuración de PHP para verificar si las variables se agregaron correctamente emitiendo el siguiente comando.

tail /etc/php/7.0/apache2/php.ini

Una vez que haya realizado todos los cambios explicados anteriormente, habilite el módulo OPCache y reinicie el demonio apache para aplicar los nuevos cambios emitiendo los siguientes comandos.

phpenmod opcache
systemctl restart apache2

Finalmente, cree un archivo de información de PHP ejecutando el siguiente comando y verifique si la zona horaria de PHP se ha configurado correctamente visitando el archivo de script de información de PHP desde un navegador en la siguiente URL, como se ilustra en la imagen a continuación. Desplácese hacia abajo para fecha configuración para verificar la configuración de la zona horaria de PHP.

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

https://dominio.tld/info.php

Instalar MariaDB

La plataforma Typo3 CMS almacena diferentes configuraciones, como usuarios, sesiones, contactos, artículos, páginas y otras configuraciones, en una base de datos relacional. En esta guía, configuraremos Typo3 para usar la base de datos MariaDB como backend. Ejecute el siguiente comando para instalar la base de datos MariaDB y el módulo PHP necesario para acceder a la base de datos mysql.

apt install mariadb-server php7.0-mysql mariadb-client

Después de instalar MariaDB, verifique si el daemon se está ejecutando y escucha las conexiones en localhost, puerto 3306, ejecutando netstat dominio.

netstat ‚Äďtlpn | grep mysql

Luego, inicie sesión en la consola MySQL y asegure la cuenta raíz de MariaDB emitiendo los siguientes comandos.

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit

En el siguiente paso, asegure MariaDB ejecutando el script mysql_secure_installation proporcionada por los paquetes de instalaci√≥n de los repositorios de extensi√≥n de Debian. Mientras se ejecuta el script, se le har√°n una serie de preguntas dise√Īadas para asegurar la base de datos MariaDB, tales como: cambiar la contrase√Īa ra√≠z de MySQL, eliminar usuarios an√≥nimos, deshabilitar los inicios de sesi√≥n ra√≠z remotos y eliminar la base de datos de prueba. Ejecute el script emitiendo el siguiente comando y aseg√ļrese de escribir s√≠ a todas las preguntas formuladas para asegurar completamente el demonio MySQL. Utilice el siguiente fragmento de salida del script como gu√≠a.

sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none):

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] y

... Success!

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y

... Success!

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] y

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] y

... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

Para probar la configuraci√≥n de seguridad de MariaDB, intente iniciar sesi√≥n en la base de datos desde la consola con una cuenta ra√≠z y no proporcione ninguna contrase√Īa. Se debe denegar el acceso a la base de datos si no se proporciona una contrase√Īa para la cuenta ra√≠z, como se ilustra en el siguiente extracto del comando:

[email protected]:~# mysql -h localhost -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Si se proporciona la contrase√Īa ra√≠z, el proceso de inicio de sesi√≥n se debe otorgar a la consola de MySQL, como se muestra en el siguiente ejemplo de comando:

[email protected]:~# mysql -h localhost -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 15
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> exit
Bye

Luego, inicie sesi√≥n en la consola de la base de datos MariaDB, cree una base de datos para Typo3 CMS y un usuario con una contrase√Īa que se utilizar√° para administrar la base de datos de la aplicaci√≥n, emitiendo los siguientes comandos. Reemplace el nombre de la base de datos, el usuario y la contrase√Īa seg√ļn corresponda.

mysql ‚Äďu root -p
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

MariaDB [(none)]>

create database typo;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on typo.* to ‘typo_user’ identified by ‘password1’;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye

Para aplicar todos los cambios realizados hasta el momento, reinicie los demonios de MySQL y Apache y verifique si los demonios se est√°n ejecutando emitiendo los siguientes comandos.

systemctl restart mysql apache2
systemctl status mysql apache2

Instalar Typo3

Una vez que se cumplan todos los requisitos del sistema para instalar la plataforma Typo3, visite la p√°gina de descarga oficial de Typo3 CMS en https://typo3.org/download/ y tome el √ļltimo archivo comprimido del paquete zip con la ayuda de la utilidad wget, emitiendo el siguiente comando.

wget --content-disposition https://get.typo3.org/current/zip 

Después de que finalice la descarga del archivo zip, extraiga el archivo comprimido Typo3 zip en su directorio de trabajo actual y enumere los archivos extraídos emitiendo los siguientes comandos.

unzip typo3_src-8.7.8.zip
ls -al typo3_src-8.7.8

Además, elimine el archivo index.html predeterminado instalado por el servidor web Apache en la ruta webroot y también elimine el archivo info.php creado anteriormente.

rm /var/www/html/index.html
rm /var/www/html/info.php

Los archivos de instalación de Typo3 se encuentran en su directorio de trabajo actual en el directorio typo3_src-8.7.8. Copie todo el contenido del directorio extraído de Typo3 en la ruta raíz del documento de su servidor web emitiendo el siguiente comando.

cp -rf typo3_src-8.7.8/* /var/www/html/

A continuación, cree el archivo FIRST_INSTALL en la ruta webroot de su dominio y ejecute los siguientes comandos para otorgar al usuario de tiempo de ejecución de Apache permisos de escritura completos en la ruta raíz del documento del servidor web. Usar ls Comando para enumerar los permisos para los archivos instalados de la aplicación ubicados en el directorio /var/www/html/.

touch /var/www/html/FIRST_INSTALL
chown -R www-data:www-data /var/www/html/
ls ‚Äďal /var/www/html/

Typo3 descargado

A continuaci√≥n, contin√ļe con el proceso de instalaci√≥n de Typo3 CMS abriendo un navegador y navegue por la direcci√≥n IP o el nombre de dominio o el FQDN del servidor a trav√©s del protocolo HTTPS. En la primera pantalla de instalaci√≥n, el instalador de Typo3 verificar√° el entorno de su sistema para determinar si se cumplen todos los requisitos para instalar la aplicaci√≥n, como se muestra en la imagen a continuaci√≥n. Si se cumplen todos los requisitos, haga clic en El sistema se ve bien. ¬°Continuar! bot√≥n para iniciar el proceso de instalaci√≥n.

https://tudominio.tld

Instalador de Typo3 en el navegador

En la siguiente pantalla de instalaci√≥n, seleccione la conexi√≥n MySQL TCP/IP configurada manualmente y agregue la direcci√≥n de la base de datos MySQL, el nombre y las credenciales creadas anteriormente para la base de datos Typo3 CMS. Use la direcci√≥n 127.0.0.1 para MySQL Host y deje el n√ļmero de puerto predeterminado (3306), como se ilustra en la imagen a continuaci√≥n. Cuando termine, presione el bot√≥n Continuar para pasar al siguiente paso de instalaci√≥n.

Configurar la conexión de la base de datos

En el siguiente paso, elija la opci√≥n ‘Usar una base de datos vac√≠a existente’, seleccione el nombre de la base de datos creada anteriormente para Typo3 y presione el bot√≥n Continuar para continuar con el proceso de instalaci√≥n.

Elija la plantilla de la base de datos

Despu√©s de importar el esquema de la base de datos, cree un usuario administrador para Typo3 CMS y escriba una contrase√Īa segura para la cuenta de administrador. Adem√°s, agregue un nombre para el sitio web de Typo3, como se ilustra en la imagen a continuaci√≥n, y presione el bot√≥n Continuar para completar el proceso de instalaci√≥n.

Establecer usuario administrador

Una vez completada la instalación, el instalador le preguntará si desea un sitio preconfigurado. Elija Sí, descargue la lista de distribuciones y presione Abrir el botón TYPO3 Backend para ser redirigido al panel del panel del sitio web.

Usar sitio preconfigurado o no

También puede visitar el panel web de administración de Typo3 navegando a la dirección IP de su servidor o nombre de dominio a través del protocolo HTTPS para /typo3/index.php URL Inicie sesión en el panel de Typo3 con las credenciales de la cuenta de administrador configuradas durante el proceso de instalación, como se ilustra en la imagen a continuación.

https://sudominio.tld/typo3/index.php

administrador de Typo3

Después de iniciar sesión en el panel de administración de Typo3, seleccione e instale un paquete de distribución preconfigurado de la lista que se muestra. En esta guía, instalaremos y utilizaremos la distribución del paquete de introducción oficial que ofrece Typo3 para crear fácilmente la estructura de la página y los elementos de contenido.

Panel de Typo3

Finalmente, para obligar a los visitantes a navegar por el sitio web de Typo3 frontend y acceder de forma segura a la interfaz de backend a través del protocolo HTTPS, que encripta el tráfico entre el servidor y los navegadores del cliente, regrese a la terminal de su servidor y edite el archivo .htaccess ubicado en la ruta de su sitio web.

Primero, cree el archivo .htaccess basado en el archivo de muestra provisto por Typo3, ejecutando el siguiente comando.

cp /var/www/html/_.htaccess /var/www/html/.htaccess

Luego, abra y edite el archivo .htaccess y, en la parte inferior del archivo, modifique la configuración nativa de PHP con las siguientes configuraciones. Puede cambiar la configuración de PHP para que coincida con los recursos de su propio servidor.

nano /var/www/html/.htaccess

.htaccess extracto del archivo:

# Modify PHP settings
php_flag register_globals off
php_flag magic_quotes_gpc Off
php_value upload_max_filesize 500M
php_value post_max_size 500M

Finalmente, inserte las siguientes reglas al final del archivo para redirigir el tr√°fico del dominio a HTTPS.

# Redirect to HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Además, cree un nuevo archivo .htaccess en el directorio typo3 ubicado en la ruta webroot del dominio para redirigir automáticamente las sesiones del panel de administración a HTTPS.

nano /var/www/html/typo3/.htaccess

.htaccess extracto del archivo:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Finalmente, visite la página de inicio del sitio web predeterminado de Typo3 navegando a la dirección IP de su servidor o nombre de dominio a través del protocolo HTTPS, como se ilustra en la siguiente captura de pantalla.

https://www.sudominio.tld

Portada de Typo3

¬°Eso es todo! Ha instalado y configurado con √©xito la plataforma web Typo3 CMS en Debian 9. Sin embargo, debido a que el servidor Apache HTTP utiliza un certificado autofirmado que no es de confianza para cifrar el tr√°fico entre el servidor y los navegadores de los visitantes, siempre se generar√° y mostrar√° un mensaje de advertencia en sus navegadores. . Esta advertencia es mala para los clientes que visitan la p√°gina de inicio de su sitio web. En este caso, debe comprar un certificado emitido por una autoridad de certificaci√≥n de confianza u obtener un par de certificados gratuitos de Let’s Encrypt CA.

Para otras configuraciones personalizadas con respecto a la aplicación web Typo3 CMS, visite la página de documentación en la siguiente dirección: https://docs.typo3.org/

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *