Chargement...

Installer TYPO3 CMS + Certificat SSL

Installer TYPO3 CMS + Certificat SSL

typ03

Installer TYPO3 CMS + Certificat SSL | Ubuntu 20.04

TYPO3 est CMS (un système de gestion de contenu) gratuit et open-source écrit en PHP.

Il dispose de la plupart des fonctionnalités recherchées en natif ou via un système d’extensions.

Il fonctionne sur un serveur Web et prend en charge de nombreux systèmes d’exploitation, notamment Windows, Linux, macOS, etc.

Il est simple, réactif, est adapté au format pour le mobile, est sécurisé et peut être facilement personnalisé et étendu sans écrire une ligne de code.

Dans ce tutoriel, nous allons voir comment installer TYPO3 CMS avec le serveur Web Apache et installer un certificat SSL avec Let’s Encrypt sur serveur Ubuntu 20.04.

Conditions préalables

Un serveur exécutant Ubuntu 20.04. Un nom de domaine valide pointant avec l’adresse IP de votre serveur. Un mot de passe root qui est configuré sur le serveur.

Créer un serveur Ubuntu

Pour ma part j’ai une préférence pour DigitalOcean, mais vous pouvez utiliser votre fournisseur préféré de serveurs dédiés virtuels “SDV” ou Virtual Private Servers “VPS” (en anglais).

Créer un compte DigitalOcean

Le lien du site:
www.digitalocean.com

Créer une image

Se rendre dans Create:
Choisir Droplets - create cloud server

Choisir un serveur

Cliquer sur le menu déroulant Choisir le serveur Ubuntu 18.04 (LTS) x64

Choisir un plan

Laisser Choose the plan à Basic Ensuite choisir le forfait à 5$/mois

Choisir le data center

Choisir le serveur le plus proche de votre cible client.

Authentication

Cocher SSH Keys et ajouter une clé en cliquant New SSh Key

Ensuite cliquez sur Create Droplet


.

Configurer le DNS

Maintenant que le Serveur est en ligne, nous avons une adress IP. La prochaine étape et de faire pointer le nom de domaine sur le serveur Ubuntu. Pour ma part j’utlise Google Domain, mais la même technique en fonction de votre fournisseur de nom de domaine.

Se rendre dans la rubrique DNS

Et ensuite Enregistrements de ressources personnalisées (Google Domain)

A noter : Pour Google Domain c’est Enregistrements de ressources personnalisées mais cela diffère en fonction de votre fournisseur de domaine.

DNS

Dans le premier champ 1 Ajouter @
Dans le deuxième champ 1 Choisir A
Dans le troisième champ 1 Ajouter l’adresse IP
Cliquez sur Ajouter

Répéter pour le www Dans le premier champ 1 Ajouter www
Dans le deuxième champ 1 Choisir A
Dans le troisième champ 1 Ajouter l’adresse IP
Cliquez sur Ajouter

Si vous souhaitez vérifier la propagation :
whatsmydns


.

Se connecter sur le serveur Ubuntu

Connectez-vous via SSH à votre serveur en tant qu’utilisateur Root (ou en tant qu’utilisateur avec des privilèges sudo).

Ouvrir un terminal et taper

ssh root@Adresse_IP 

Remplacez « Adresse Ip» par les valeurs respectives de votre serveur Ubuntu.

Maintenant vous êtes connecté sur le serveur 👏

A noter : si toutefois vous faites une erreur, pas de panique cela n’a aucune incidence sur votre machine locale toutes les opérations que l’on va faire ensemble seront exécutées sur un serveur distant.


.

Installer LAMP (Linux,Apache, MySQL et PHP)

Pour commencer

Tout d’abord, il est recommandé de mettre à jour votre système avec la dernière version. En exécutant la commande suivante :

apt-get update -y

Une fois que toutes les mises à jour sont faites, vous pouvez passer à l’étape suivante.

Ensuite, nous allons installer le serveur Web Apache, MariaDB, PHP et les extensions PHP sur notre serveur.

Vous pouvez tous les installer avec la commande suivante :

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

Après avoir installé tous les paquets, modifiez le fichier php.ini :

vim /etc/php/7.4/apache2/php.ini

Modifiez les lignes suivantes :

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

Enregistrez et fermez le fichier, puis redémarrez le service Apache pour appliquer les modifications :

systemctl restart apache2

Créer une base de données pour TYPO3

Ensuite, nous allons créer une base de données et un utilisateur pour TYPO3. Tout d’abord, connectez-vous au shell MariaDB avec la commande suivante :

mysql

Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :

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

Ensuite, accordez tous les privilèges à la base de données typo3db avec la commande suivante :

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

Ensuite, quittez MariaDB avec la commande suivante :

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

À ce stade, votre base de données MariaDB est configurée.

Installez TYPO3 CMS

Tout d’abord, vous devrez télécharger la dernière version de TYPO3 sur leur site officiel. Vous pouvez utiliser la commande curl pour le télécharger :

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

Une fois le téléchargement terminé, extraire le fichier téléchargé avec la commande suivante :

tar -xvzf typo3_src.tgz

Ensuite, déplacez le répertoire extrait vers le répertoire racine Web Apache :

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

Ensuite, appliquer les ‘autorisations appropriées avec la commande suivante :

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

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Configurer Apache pour TYPO3

Ensuite, créez un fichier de configuration d’hôte virtuel Apache pour héberger TYPO3 CMS. Vous pouvez le créer avec la commande suivante :

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

Et ajouter les lignes suivantes :

<VirtualHost *: 80>
     ServerAdmin admin@example.com
     DocumentRoot / var / www / html / typo3
     ServerName typo3.example.com
     <Répertoire / var / www / html / typo3>
        Options + Suivre
        AllowOverride All
        Exiger tout accordé
     </Directory>

     ErrorLog $ {APACHE_LOG_DIR} /error.log
     CustomLog $ {APACHE_LOG_DIR} /access.log combiné

</VirtualHost>

Enregistrez et fermez le fichier, puis activez le fichier de configuration de l’hôte virtuel et le module de réécriture avec la commande suivante :

a2ensite typo3.conf
a2enmod rewrite

Ensuite, redémarrez le service Apache pour appliquer les modifications :

systemctl restart apache2

À ce stade, le serveur Web Apache est configuré pour TYPO3. Vous pouvez maintenant passer à l’étape suivante.

Accéder au CMS TYPO3

Maintenant, ouvrez votre navigateur Web et accédez au TYPO3 en utilisant l’URL http://www.exemple.fr

Vous devriez voir la page suivante :

typ03

Si vous installez TYPO3 sur un nouveau serveur, vous devrez créer un fichier FIRST_INSTALL dans le répertoire racine Web TYPO3. Vous pouvez le créer avec la commande suivante :

touch /var/www/html/typo3/FIRST_INSTALL

Ensuite, actualisez la page Web. Vous devriez voir la page suivante :

typ03

Cliquez sur Aucun problème détecté, poursuivez l’installation, vous devriez voir la page suivante :

typ03

Indiquez le nom d’utilisateur, le mot de passe, l’hôte de votre base de données et cliquez sur le bouton Continuer.

typ03

Sélectionnez le nom de votre base de données TYPO3 et cliquez sur le bouton Continuer.

typ03

Ensuite, indiquez votre nom d’utilisateur, votre mot de passe, le nom du site et cliquez sur le bouton Continuer. Vous serez redirigé vers la page de connexion TYPO3 :

typ03

Fournissez votre nom d’utilisateur, votre mot de passe et cliquez sur le bouton Connexion.

typ03

Sécurisez TYPO3 avec Let’s Encrypt

Il est recommandé de sécuriser votre site Web avec Let’s Encrypt Free SSL.

Tout d’abord, vous devez installer le client Certbot pour installer et gérer SSL.

Vous pouvez l’installer avec la commande suivante:

apt-get install python3-certbot-apache -y

Une fois installé, exécutez la commande suivante pour sécuriser votre site Web avec Let’s Encrypt SSL :

certbot --apache -d typo3.example.com

Il vous sera demandé de fournir votre e-mail et d’accepter les conditions d’utilisation comme indiqué ci-dessous :

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): monemail@gmail.com

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

Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS comme indiqué ci-dessous:

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

Tapez 2 et appuyez sur Entrée pour installer Let’s Encrypt SSL sur votre site 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

Vous pouvez désormais accéder au CMS TYPO3 en https à l’aide de l’URL : https://www.example.fr

Conclusion

Félicitations ! 👏

Vous avez installé avec succès TYPO3 CMS et vous l’avez sécuriser avec Let’s Encrypt SSL sur un serveur Ubuntu 20.04.

Vous pouvez désormais créer facilement votre site Web et votre blog via le navigateur Web.