GNU/Linux >> Tutoriales Linux >  >> Debian

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 raíz sudo para una cuenta local o remota o acceso directo a la cuenta raíz
  • 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

Instalar herramientas requeridas

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 root.

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 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á utilizando 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 a 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 de DocumentRoot directiva, como se muestra en el siguiente ejemplo:

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 Apache SSL y abre /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 de DocumentRoot 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, debería mostrarse 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 la zona horaria de PHP la configuración está configurada correctamente y coincide con la ubicación geográfica de su sistema. Abra 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 como adecuada para admitir archivos adjuntos de gran tamaño y reemplazar la time.zone variable de acuerdo a 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 hasta 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 demonio se está ejecutando y escucha las conexiones en el host local, puerto 3306, ejecutando netstat. comando.

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 obtenga 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  typo3_src-8.7.8 directorio. 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 completos de escritura 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/

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! para iniciar el proceso de instalación.

https://tudominio.tld

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.

En el siguiente paso, elija 'Usar una base de datos vacía existente' opción, 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.

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.

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

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 a /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://tudominio.tld/typo3/index.php

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 usaremos el paquete de presentación oficial distribución que ofrece Typo3 para crear fácilmente la estructura de la página y los elementos de contenido.

Finalmente, para obligar a los visitantes a navegar por el sitio web de Typo3 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 proporcionado 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 typo3 directorio 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.tudominio.tld

¡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/


Debian
  1. Cómo instalar el servidor Redis en Debian 11

  2. Cómo instalar TYPO3 en Debian 9

  3. Cómo instalar el servidor MySQL en Debian 9

  4. Cómo instalar ClickHouse en Debian 9

  5. Cómo instalar Roadiz CMS en Debian 9

Cómo instalar MySQL 8 en Debian 10

Cómo instalar Todoman en el servidor Debian 11

Cómo instalar FastPanel en Debian 11

Cómo instalar I2P en el servidor Debian:

Cómo instalar VNC en Debian 10

Cómo instalar el servidor VNC en Debian 11