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.
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 :
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 :
Cliquez sur Aucun problème détecté, poursuivez l’installation, vous devriez voir la page suivante :
Indiquez le nom d’utilisateur, le mot de passe, l’hôte de votre base de données et cliquez sur le bouton Continuer.
Sélectionnez le nom de votre base de données TYPO3 et cliquez sur le bouton Continuer.
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 :
Fournissez votre nom d’utilisateur, votre mot de passe et cliquez sur le bouton Connexion.
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.