GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer le CMS Typo3 sur Debian 9

Dans ce guide, nous apprendrons comment installer et configurer la dernière version de Typo3 CMS dans Debian 9.

Typo3 est un puissant système de gestion de contenu open source dont la plupart des parties sont écrites en langage de programmation PHP. Il est souvent déployé sous Linux sous les serveurs Web Apache/Nginx, le langage de programmation côté serveur PHP et le système de gestion de base de données MySQL/MariaDB, également connu sous le nom de pile LAMP ou LEMP. La plate-forme Typo3 CMS est hautement flexible et évolutive et peut être étendue sans écrire la moindre ligne de code, ce qui en fait un candidat idéal pour déployer de petits sites Web ou de puissants portails d'entreprise multilingues.

Exigences

  • Installation minimale de Debian 9 sur une machine bare-metal ou sur un serveur privé virtuel
  • Privilèges sudo root pour un compte local ou distant ou accès direct au compte root
  • Une adresse IP statique configurée pour l'une des cartes d'interface réseau de votre système
  • Un nom de domaine, privé ou public, selon votre déploiement, avec les enregistrements DNS appropriés configurés pour les services Web. Si vous n'avez pas de nom de domaine valide ou enregistré, vous pouvez effectuer l'installation et accéder au site Web via l'adresse IP de votre serveur
  • Si vous souhaitez utiliser l'inscription au site Web, la modération des commentaires et d'autres fonctionnalités, vous devez disposer d'un serveur de messagerie en cours d'exécution correctement configuré dans vos locaux avec un accès à distance à ses services IMAP et SMTP.

Préparer le serveur

Avant de commencer à installer et à configurer Typo à partir des sources de votre propre serveur, assurez-vous d'abord que le système répond à toutes les exigences logicielles pour compiler et installer l'application. Lors de la première étape, mettez à jour vos référentiels système et vos progiciels en exécutant la commande suivante.

apt update
apt upgrade

Une fois le système entièrement mis à jour, configurez le nom de votre système en exécutant la commande suivante. Remplacez votre variable de nom d'hôte en conséquence.

Définir le nom d'hôte

hostnamectl set-hostname typo

Vérifiez le nom d'hôte de la machine et le fichier d'hôtes en exécutant les commandes ci-dessous.

hostnamectl
cat /etc/hostname
hostname –s
hostname –f

Enfin, redémarrez le serveur Debian afin d'appliquer les mises à jour du noyau et les changements de nom d'hôte correctement.

systemctl reboot

Installer les outils requis

À l'étape suivante, exécutez la commande suivante afin d'installer certains utilitaires nécessaires qui seront utilisés pour gérer davantage votre système à partir de la ligne de commande.

apt install wget bash-completion zip unzip

Installez également le logiciel imagemagick, requis par Typo3 pour créer, éditer, composer ou convertir des images bitmap ou d'autres types d'images téléchargées sur le site Web.

apt install imagemagick

Typo3 est une plate-forme CMS basée sur le Web écrite principalement en langage de programmation côté serveur PHP. Afin d'exécuter les scripts de fichiers PHP de l'application, un serveur Web, tel qu'un serveur HTTP Apache, et une passerelle de traitement PHP doivent être installés et rendus opérationnels dans le système.

Installer Apache et PHP

Afin d'installer le serveur Web Apache et l'interpréteur PHP avec tous les modules PHP nécessaires au bon fonctionnement de l'application, exécutez la commande suivante dans la console de votre serveur.

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

Une fois Apache et PHP installés, testez si le serveur Web est opérationnel et écoute les connexions réseau sur le port 80 en exécutant la commande suivante avec les privilèges root.

netstat –tlpn

Si l'utilitaire réseau netstat n'est pas installé par défaut sur votre système Debian, exécutez la commande suivante pour l'installer.

apt install net-tools

En inspectant la sortie de la commande netstat, vous pouvez voir que le serveur Web apache écoute les connexions réseau entrantes sur le port 80. Pour la même tâche, vous pouvez également utiliser le ss commande, qui est automatiquement installée par défaut dans Debian 9.

ss- tulpn

Configurer le pare-feu

Si un pare-feu est activé sur votre système, tel qu'une application de pare-feu UFW, vous devez ajouter une nouvelle règle pour autoriser le trafic HTTP à traverser le pare-feu en exécutant la commande suivante.

ufw allow WWW

ou

ufw allow 80/tcp

Si vous utilisez iptables règles brutes pour gérer les règles de pare-feu sur votre serveur Debian, ajoutez la règle suivante pour autoriser le trafic entrant du port 80 sur le pare-feu afin que les visiteurs puissent naviguer sur le site 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

Configurer Apache

Ensuite, activez et appliquez les modules Apache suivants requis par l'application Web pour fonctionner correctement, en exécutant la commande suivante.

a2enmod rewrite deflate headers
systemctl restart apache2

Enfin, testez si la page Web par défaut du serveur Web Apache peut être affichée dans les navigateurs de votre client en visitant l'adresse IP de votre machine Debian ou votre nom de domaine ou FQDN de serveur via le protocole HTTP, comme indiqué dans l'image ci-dessous. Si vous ne connaissez pas l'adresse IP de votre machine, exécutez ifconfig ou ip a commandes pour révéler l'adresse IP de votre serveur.

http://votre_domaine.tld

Afin d'installer et d'accéder au panneau d'administration Web Typo3 et au site Web frontal via le protocole HTTPS qui sécurisera le trafic pour vos clients, exécutez la commande suivante pour activer le module SSL du serveur Web Apache et le fichier de configuration du site SSL.

a2enmod ssl
a2ensite default-ssl.conf

Ensuite, ouvrez le fichier de configuration du site SSL par défaut d'Apache avec un éditeur de texte et activez les règles de réécriture d'URL en ajoutant les lignes de code suivantes après DocumentRoot directive, comme illustré dans l'exemple suivant :

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

Extrait du fichier de configuration du site SSL :

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

Apportez également la modification suivante à la ligne VirtualHost pour qu'elle ressemble à celle illustrée dans l'extrait ci-dessous :

        <VirtualHost *:443>

Fermez le fichier SSL Apache et ouvrez le fichier /etc/apache2/sites-enabled/000-default.conf fichier à modifier et ajoutez les mêmes règles de réécriture d'URL que pour le fichier de configuration SSL. Insérez les lignes de code après DocumentRoot comme indiqué dans l'exemple suivant.

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

Enfin, redémarrez le démon Apache pour appliquer toutes les règles configurées jusqu'à présent et visitez votre domaine via le protocole HTTP. Étant donné que vous utilisez les paires de certificats auto-signés automatiquement émis par Apache lors de l'installation, un avertissement d'erreur doit s'afficher dans le navigateur.

systemctl restart apache2

https://votredomaine.tld

Acceptez l'avertissement afin d'utiliser le certificat non approuvé et de continuer et d'être redirigé vers la page Web par défaut d'Apache, comme illustré dans l'image suivante.

Si l'application de pare-feu UFW bloque les connexions réseau entrantes au port HTTPS, vous devez ajouter une nouvelle règle pour autoriser le trafic HTTPS à traverser le pare-feu en exécutant la commande suivante.

ufw allow 'WWW Full'

ou

ufw allow 443/tcp

Si iptables est l'application de pare-feu par défaut installée pour protéger votre système Debian au niveau du réseau, ajoutez la règle suivante pour autoriser le trafic entrant du port 443 dans le pare-feu afin que les visiteurs puissent parcourir votre nom de domaine.

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

Configurer PHP

Dans l'étape suivante, nous devons apporter d'autres modifications au fichier de configuration PHP par défaut afin de nous assurer que les variables PHP suivantes sont activées et que le fuseau horaire PHP est correctement configuré et correspond à l'emplacement géographique de votre système. Ouvrez le fichier /etc/php/7.0/apache2/php.ini fichier à éditer et assurez-vous que les lignes suivantes sont configurées comme suit. Aussi, dans un premier temps, faites une sauvegarde du fichier de configuration PHP.

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

Recherchez, modifiez et modifiez les variables suivantes dans le php.ini fichier de configuration :

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

Augmentez upload_max_file_size variable appropriée pour prendre en charge les pièces jointes volumineuses et remplacer le time.zone variable en fonction de votre heure physique en consultant la liste des fuseaux horaires fournie par les docs PHP au lien suivant http://php.net/manual/en/timezones.php

Si vous souhaitez augmenter la vitesse de chargement des pages de votre site Web via le plugin OPCache disponible pour PHP7, ajoutez les paramètres OPCache suivants au bas du fichier de configuration de l'interpréteur PHP, comme détaillé ci-dessous :

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

Fermez le fichier de configuration php.ini et vérifiez si la vérification de la fin du fichier de configuration PHP pour vérifier si les variables ont été correctement ajoutées en exécutant la commande ci-dessous.

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

Après avoir apporté toutes les modifications expliquées ci-dessus, activez le module OPCache et redémarrez le démon apache pour appliquer les nouvelles modifications en exécutant les commandes suivantes.

phpenmod opcache
systemctl restart apache2

Enfin, créez un fichier d'informations PHP en exécutant la commande suivante et vérifiez si le fuseau horaire PHP a été correctement configuré en visitant le fichier de script d'informations PHP à partir d'un navigateur à l'URL suivante, comme illustré dans l'image ci-dessous. Faites défiler jusqu'à date paramètre pour vérifier la configuration du fuseau horaire PHP.

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

https://domain.tld/info.php

Installer MariaDB

La plate-forme Typo3 CMS stocke différentes configurations, telles que les utilisateurs, les sessions, les contacts, les articles, les pages et d'autres paramètres, dans une base de données relationnelle. Dans ce guide, nous allons configurer Typo3 pour utiliser la base de données MariaDB comme backend. Exécutez la commande ci-dessous pour installer la base de données MariaDB et le module PHP nécessaire pour accéder à la base de données mysql.

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

Après avoir installé MariaDB, vérifiez si le démon est en cours d'exécution et écoute les connexions sur localhost, port 3306, en exécutant netstat commande.

netstat –tlpn | grep mysql

Ensuite, connectez-vous à la console MySQL et sécurisez le compte racine MariaDB en exécutant les commandes suivantes.

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

À l'étape suivante, sécurisez MariaDB en exécutant le script mysql_secure_installation fourni par les packages d'installation à partir des dépôts Debian Stretch. Lors de l'exécution, le script posera une série de questions conçues pour sécuriser la base de données MariaDB, telles que :changer le mot de passe root MySQL, supprimer les utilisateurs anonymes, désactiver les connexions root à distance et supprimer la base de données de test. Exécutez le script en exécutant la commande suivante et assurez-vous de taper oui à toutes les questions posées afin de sécuriser complètement le démon MySQL. Utilisez l'extrait de sortie de script suivant comme guide.

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!

Afin de tester les paramètres de sécurité de MariaDB, essayez de vous connecter à la base de données à partir de la console avec un compte root et ne fournissez aucun mot de passe. L'accès à la base de données doit être refusé si aucun mot de passe n'est fourni pour le compte root, comme illustré dans l'extrait de commande suivant :

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

Si le mot de passe root est fourni, le processus de connexion doit être accordé à la console MySQL, comme indiqué dans l'exemple de commande suivant :

[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

Ensuite, connectez-vous à la console de base de données MariaDB, créez une base de données pour Typo3 CMS et un utilisateur avec un mot de passe qui sera utilisé pour gérer la base de données de l'application, en exécutant les commandes suivantes. Remplacez le nom, l'utilisateur et le mot de passe de la base de données en conséquence.

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

Afin d'appliquer toutes les modifications apportées jusqu'à présent, redémarrez les démons MySQL et Apache et vérifiez si les démons sont en cours d'exécution en exécutant les commandes suivantes.

systemctl restart mysql apache2
systemctl status mysql apache2

Installer Typo3

Une fois que toutes les exigences du système sont remplies pour installer la plate-forme Typo3, visitez la page de téléchargement officielle de Typo3 CMS à https://typo3.org/download/ et récupérez la dernière archive compressée du package zip à l'aide de l'utilitaire wget, en exécutant la commande suivante. /P>

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

Une fois le téléchargement de l'archive zip terminé, extrayez l'archive compressée Typo3 zip dans votre répertoire de travail actuel et répertoriez les fichiers extraits en exécutant les commandes suivantes.

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

Supprimez également le fichier index.html par défaut installé par le serveur Web Apache sur le chemin Webroot et supprimez également le fichier info.php créé précédemment.

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

Les fichiers d'installation de Typo3 se trouvent dans votre répertoire de travail actuel dans  typo3_src-8.7.8 annuaire. Copiez tout le contenu du répertoire extrait de Typo3 dans le chemin racine du document de votre serveur Web en exécutant la commande suivante.

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

Ensuite, créez le fichier FIRST_INSTALL dans le chemin de la racine Web de votre domaine et exécutez les commandes suivantes afin d'accorder à l'utilisateur d'exécution Apache des autorisations d'écriture complètes sur le chemin racine du document du serveur Web. Utilisez ls pour répertorier les autorisations pour les fichiers installés de l'application situés dans le répertoire /var/www/html/.

touch /var/www/html/FIRST_INSTALL
chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Ensuite, procédez au processus d'installation de Typo3 CMS en ouvrant un navigateur et parcourez l'adresse IP ou le nom de domaine ou le FQDN du serveur via le protocole HTTPS. Sur le premier écran d'installation, le programme d'installation de Typo3 vérifiera votre environnement système afin de déterminer si toutes les conditions d'installation de l'application sont remplies, comme indiqué dans l'image ci-dessous. Si toutes les conditions sont remplies, cliquez sur Le système semble bon. Continuez ! bouton pour démarrer le processus d'installation.

https://votredomaine.tld

Dans l'écran d'installation suivant, sélectionnez la connexion MySQL TCP/IP configurée manuellement et ajoutez l'adresse, le nom et les informations d'identification de la base de données MySQL créées précédemment pour la base de données Typo3 CMS. Utilisez l'adresse 127.0.0.1 pour l'hôte MySQL et laissez le numéro de port par défaut (3306), comme illustré dans l'image ci-dessous. Lorsque vous avez terminé, appuyez sur le bouton Continuer pour passer à l'étape d'installation suivante.

À l'étape suivante, choisissez 'Utiliser une base de données vide existante' option, sélectionnez le nom de la base de données créée précédemment pour Typo3 et appuyez sur le bouton Continuer pour poursuivre le processus d'installation.

Une fois le schéma de la base de données importé, créez un utilisateur administrateur pour Typo3 CMS et écrivez un mot de passe fort pour le compte administrateur. Ajoutez également un nom pour le site Web Typo3, comme illustré dans l'image ci-dessous, et appuyez sur le bouton Continuer pour terminer le processus d'installation.

Une fois l'installation terminée, le programme d'installation vous demandera si vous souhaitez un site préconfiguré. Choisissez Oui, télécharger la liste des distributions et appuyez sur Ouvrir le backend TYPO3 bouton pour être redirigé vers le panneau du tableau de bord du site Web.

Vous pouvez également visiter le panneau Web d'administration de Typo3 en accédant à l'adresse IP de votre serveur ou au nom de domaine via le protocole HTTPS vers /typo3/index.php URL. Connectez-vous au tableau de bord Typo3 avec les informations d'identification du compte administrateur configurées lors du processus d'installation, comme illustré dans l'image ci-dessous.

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

Après vous être connecté au tableau de bord d'administration Typo3, sélectionnez et installez un package de distribution préconfiguré dans la liste affichée. Dans ce guide, nous allons installer et utiliser le pack d'introduction officiel distribution proposée par Typo3 afin de créer facilement une structure de page et des éléments de contenu.

Enfin, pour obliger les visiteurs à parcourir le site Web frontal de Typo3 et à accéder en toute sécurité à l'interface principale via le protocole HTTPS, qui crypte le trafic entre le serveur et les navigateurs clients, retournez sur le terminal de votre serveur et modifiez le fichier .htaccess situé dans le chemin de votre site Web.

Tout d'abord, créez le fichier .htaccess basé sur l'exemple de fichier fourni par le Typo3, en exécutant la commande ci-dessous.

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

Ensuite, ouvrez et modifiez le fichier .htaccess et au bas du fichier modifiez les paramètres PHP natifs avec les configurations ci-dessous. Vous pouvez modifier les paramètres PHP pour qu'ils correspondent à vos propres ressources de serveur.

nano /var/www/html/.htaccess

 .htaccess extrait de fichier :

# 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

Enfin, insérez les règles suivantes à la fin du fichier afin de rediriger le trafic du domaine vers HTTPS.

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

Créez également un nouveau fichier .htaccess dans typo3 répertoire situé dans le chemin de la racine Web du domaine afin de rediriger automatiquement les sessions du tableau de bord d'administration vers HTTPS.

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

.htaccess extrait de fichier :

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

Enfin, visitez la page d'accueil du site Web Typo3 par défaut en accédant à l'adresse IP de votre serveur ou au nom de domaine via le protocole HTTPS, comme illustré dans la capture d'écran suivante.

https://www.votredomaine.tld

C'est tout! Vous avez installé et configuré avec succès la plate-forme Web Typo3 CMS dans Debian 9. Cependant, étant donné que le serveur HTTP Apache utilise un certificat auto-signé non approuvé pour chiffrer le trafic entre le serveur et les navigateurs des visiteurs, un message d'avertissement sera toujours généré et affiché dans leurs navigateurs. . Cet avertissement est mauvais pour les clients qui visitent la page d'accueil de votre site Web. Dans ce cas, vous devez acheter un certificat émis par une autorité de certification de confiance ou obtenir une paire de certificats gratuite auprès de Let's Encrypt CA.

Pour d'autres configurations personnalisées concernant l'application Web Typo3 CMS, visitez la page de documentation à l'adresse suivante :https://docs.typo3.org/


Debian
  1. Comment installer le serveur Redis sur Debian 11

  2. Comment installer TYPO3 sur Debian 9

  3. Comment installer le serveur MySQL sur Debian 9

  4. Comment installer Nextcloud 14 sur Debian 9

  5. Comment installer Odoo 12 sur Debian 9

Comment installer MySQL 8 sur Debian 10

Comment installer Todoman sur le serveur Debian 11

Comment installer FastPanel sur Debian 11

Comment installer I2P sur le serveur Debian :

Comment installer VNC sur Debian 10

Comment installer le serveur VNC sur Debian 11