Souhaitez-vous apprendre à déplacer votre site Web WordPress de HTTP à HTTPS? Dans ce tutoriel, nous allons vous montrer toutes les étapes nécessaires pour déplacer votre site Web WordPress vers HTTPS sous Ubuntu Linux.

• Version Ubuntu: 18.04.

Liste du Matériel:

La section suivante présente la liste du matériel utilisé pour créer ce didacticiel WordPress.

Tous les éléments matériels répertoriés ci-dessus sont disponibles sur le site Web d'Amazon.

WordPress Playlist:

Sur cette page, nous offrons un accès rapide à une liste de vidéos relatives à l'installation de WordPress.

N'oubliez pas de vous abonner à notre chaîne youtube nommée FKIT.

Didacticiel Relatif à WordPress:

Sur cette page, nous offrons un accès rapide à une liste de tutoriels liés à l’installation de WordPress.

Tutoriel - Compte GoDaddy

Tout d'abord, vous devez accéder à la GODADDY et créer un compte.

Ce compte sera utilisé pour créer votre certificat HTTPS.

Didacticiel - Création d'un certificat HTTPS

Sur la console Linux, utilisez la commande suivante pour installer les packages requis.

# apt-get update
# apt-get install openssl

Utilisez la commande suivante pour générer votre fichier KEY et votre fichier CSR.

# mkdir -p /downloads/certificate
# cd /downloads/certificate
# openssl req -new -newkey rsa:2048 -nodes -keyout techexpert.key -out techexpert.csr

Le système vous posera des questions pour répondre à votre demande de certificat.

• Nom du pays - Entrez le code à 2 lettres de votre pays.
• Nom de l'État ou de la province - Entrez le nom de votre État ou de votre province.
• Nom de la localité - Entrez le nom de votre ville
• Nom de l'organisation - Entrez le nom de votre organisation ou votre nom personnel.
• Nom de l'unité organisationnelle - Facultatif
• Nom commun - Entrez le nom d'hôte de votre site Web.
• Adresse électronique - facultatif
• Un mot de passe de défi - facultatif.
• Un nom de société facultatif - facultatif.

Dans notre exemple, nous créons une demande de certificat pour le site Web techexpert.tips.

Generating a 2048 bit RSA private key
...................+++
...................+++
writing new private key to 'techexpert.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Rio de Janeiro
Locality Name (eg, city) []:Rio de Janeiro
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Jonas Smith
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:techexpert.tips
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Le CSR contient votre demande de signature de certificat et sera envoyé à GoDaddy pour créer votre certificat public.

Voici le contenu du fichier CSR:

-----BEGIN CERTIFICATE REQUEST-----
MIICtDCCAZwCAQAwbzELMAkGA1UEBhMCQlIxFzAVBgNVBAgMDlJpbyBkZSBKYW5l
aXJvMRcwFQYDVQQHDA5SaW8gZGUgSmFuZWlybzEUMBIGA1UECgwLSm9uYXMgU21p
dGgxGDAWBgNVBAMMD3RlY2hleHBlcnQudGlwczCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBALAZgXHiRxCZgLmAl+2eNmFY1VmQgvvBIxMW0V8hjfs81tU1
4nXUei51fwdai63ypc7EG8cTyhS3Os7/3npwJU2x1j55dlVXBSGN5JFP3Afa9SHe
9XDqaLRNHLUpkkaj6EV5RLvMZvT8jBUyh+wQTesAzWz1Gg07MfpD9Ls6JcUfg6GN
s5Fy/SYEEONtSAgH48+hJ0KP3zIeNk2/JUS9T3FktBnEN8Uwmv2U0A5HQAg5oAuR
doy7XMLn4bVnbH5b3FIjgkx6CIqgeEj9e3cDeULJPzUYZzdGuaWKCFllWy2vQUrh
ei1wl7lguwGfXEi6TJStackcZHPwyYLbpKFhEssCAwEAAaAAMA0GCSqGSIb3DQEB
CwUAA4IBAQCBKsz7z95s251RaZ/x+URiIvtMFl+JheLt8PSJB8CC+SltA245kYg4
CbWc5blXckwcM+2LQ0Dd4YcWfKGunlee/Agju74gbqybV77cpA14w8wRK3tasv24
8/VD+94WvMME+WlBpuTPGIEqgAIt653Fn/E+MLD42ICRGkL+HZITAYltn+4uNtO7
S35jJ5OIVJ5WdTLWfrakCqEtPXVOpyYalwVF5MrmYzJhfeIGuLQge62uP+EFHrWI
W3+ATnPFpq0/slsxu24s00GBkj56cO2JNnmhVpSjQkmd2Jmsz42+Myh/dGTrFnd5
fQcXU9D/+qELbzFtWyVeU1SK0mufavGw
-----END CERTIFICATE REQUEST-----

Le fichier KEY contient votre clé privée de certificat et doit être gardé dans un endroit sûr tout le temps.

Voici le contenu du fichier KEY:

-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCwGYFx4kcQmYC5
gJftnjZhWNVZkIL7wSMTFtFfIY37PNbVNeJ11HoudX8HWout8qXOxBvHE8oUtzrO
/956cCVNsdY+eXZVVwUhjeSRT9wH2vUh3vVw6mi0TRy1KZJGo+hFeUS7zGb0/IwV
MofsEE3rAM1s9RoNOzH6Q/S7OiXFH4OhjbORcv0mBBDjbUgIB+PPoSdCj98yHjZN
vyVEvU9xZLQZxDfFMJr9lNAOR0AIOaALkXaMu1zC5+G1Z2x+W9xSI4JMegiKoHhI
/Xt3A3lCyT81GGc3RrmlighZZVstr0FK4XotcJe5YLsBn1xIukyUrWnJHGRz8MmC
26ShYRLLAgMBAAECggEAdpK19ljGQQcbBczwf67oLuQBxCzqBVomo9PZZpTRZTmx
7h46Pdyz6FR1FB6DrryTqIWjrohEqW42yuq+gvLAK3BzMd3XL99INS+1l6KOJTvp
ksTtvvoXRlAl5FX5iFcVLrJY9ZrMOGlUaXF81BamYHZJ2/OtdvtEy562Str8U52m
GTkgfpWnaLc66T05zViNwiAb5yg0v9Xb9YOEgLY8VdqYppUnJNzYs7utiDGbOjPa
OCZ5oLTl1b9l6sNw7RhhOmq/jPOur4Keg124fyleULi2Uln52waLWeI8fWI/AHmP
UQQkC3athEOKr0f1Zk9ZRxYJq5FYGPTElqQdbltEAQKBgQDiqSp4XM0tfFJwZIkH
ooEcPw+to4T0333K4mipx+YxlELCHvIXW2xIxlejyhgnVIQWX6qS0F7VUGnVuSKz
hB0zfcd89MYcqGyQSEdc9kZB+Twb9Hzd3fTXu7hKjXoz9+UKfcOXfQdILGnDqyG8
zCF//aNocRvxaO9E1cZ+1irlcQKBgQDG5OZUr8kMYI8Tl0GcmWZSFZfMYBYT3CAq
YPHmNQcHhENGz6v9jBZjkeZJBLMRZLlRWjcrWhKbEEHsjZJYiJP4u2n6n57Il9h9
OVqfK7RR3k1r9bMKzhYRnu1FsEPpMKKUrLPDChthxduXEPPZgoKGSYmhLAiYqyPg
USOyZzFt+wKBgQCmfjSgLSrZ2pSD0pWFciz8nqXZml+zr+cq/Jx8+kVw7cML7MdP
uOwVmPwPaAfN/Br6hFM7fKvsbSEQyOlgjA8XH7FFbFeJ/X2hjjY9Zvm8xGMO9cwy
/TM4tL9uo/W77r/jsPXXdRPARD98Z1xk3l1NMvaxZURtU/NN0On5iUABQQKBgGIu
FiER0R3iAF68WLAT7TVx4UgK2nsdO2eQCXkJDhpAyPEIjK8RWu/10oaS4k4guXYW
IYut3+dZpCFAVVCMwvaSlSMZbkk4464VBM3zxgRvxyoW1DXuO2ihWiD/fNZ8opTf
l7EcqR2fjOFKhgUF7qaZYG4GDYxHVuNhSkzDsdvHAoGBAIfDk7fLsG/BYROxJpzN
b1CoG8DE+DKYTWwMWW45rDF0ImbC6H3fg876CeZ3YKGWqt9qkha7gnGGVRRufP15
O7ZEXebZXeDYafXSNcnqSe7FSNtVr1eFlTWmL8OiWQuaqxjs/VogdWfhkEGPISVF
AOM3I6XSGx4NxW2RgYmvQZ4O
-----END PRIVATE KEY-----

Retournez sur le site Web GODADDY et achetez le certificat SSL.

Vous devrez coller le contenu du fichier CSR sur le site Web.

GoDaddy Generate Certificate

Au bout de 10 minutes, GoDaddy termine la création de votre certificat et vous permet de télécharger un fichier ZIP.

Dans notre exemple, le fichier ZIP s'appelait: techexpert.tips.zip

GoDaddy Certificate Download

Copiez le fichier ZIP sur votre serveur Linux.

Dans notre exemple, je suppose que vous avez copié le fichier ZIP dans le répertoire suivant: / downloads / certificate

# cd /downloads/certificate
# unzip techexpert.tips.zip

Archive: techexpert.tips.zip
inflating: gd_bundle-g2-g1.crt
inflating: 1c9ad5b95b2ac0fb.crt

Listons les fichiers disponibles dans le répertoire du certificat.

• 1c9ad5b95b2ac0fb.crt
• gd_bundle-g2-g1.crt
• techexpert.csr
• techexpert.key
• techexpert.tips.zip

Vous devriez avoir des fichiers similaires dans votre répertoire de certificat.

Optionnel. Si vous souhaitez consulter les fichiers de certificat envoyés par Godady, utilisez les commandes suivantes.

# openssl x509 -in gd_bundle-g2-g1.crt -text -noout
# openssl x509 -in ab0562011b4bb0c7.crt -text -noout

N'oubliez pas de changer les noms de fichiers pour refléter votre environnement.

Tutorial - Rediriger HTTP vers HTTPS sur Apache

Activez le module SSL Apache et le module Apache REWRITE.

# a2enmod rewrite
# a2enmod ssl
# service apache2 restart

Modifiez votre fichier de configuration Apache VIRTUALHOST pour offrir également votre site Web via HTTPS:

# vi /etc/apache2/sites-available/techexpert.conf

Gardez à l'esprit que le nom et l'emplacement de votre fichier VIRTUALHOST peuvent être différents de ceux que je connais.

Voici le fichier original de notre site web, avant notre configuration.

<VirtualHost *:80>
ServerAdmin nobody@care.com
DocumentRoot /websites/techexpert/www
ServerName techexpert.tips

<Directory /websites/techexpert/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

ErrorLog /websites/techexpert/logs/error.log
CustomLog /websites/techexpert/logs/access.log combined
LogLevel error
</VirtualHost>

Voici le nouveau fichier avec HTTPS VIRTUALHOST activé.

Ce fichier a également été configuré pour rediriger toute connexion HTTP vers le site Web HTTPS.

<VirtualHost *:80>
ServerAdmin nobody@care.com
ServerName techexpert.tips
Redirect permanent / https://techexpert.tips/
</virtualhost>

<VirtualHost *:443>
ServerAdmin nobody@care.com
DocumentRoot /websites/techexpert/www
ServerName techexpert.tips

<Directory /websites/techexpert/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
SSLCertificateFile /downloads/certificate/1c9ad5b95b2ac0fb.crt
SSLCertificateKeyFile /downloads/certificate/techexpert.key
SSLCertificateChainFile /downloads/certificate/gd_bundle-g2-g1.crt

ErrorLog /websites/techexpert/logs/error.log
CustomLog /websites/techexpert/logs/access.log combined
LogLevel error
</VirtualHost>

Définissez l'autorisation de fichier correcte sur tous les fichiers de certificat et de clé.

# chown www-data.www-data /downloads/certificate/* -R

Vous devez également redémarrer Apache manuellement et vérifier le statut du service.

# service apache2 stop
# service apache2 start
# service apache2 status

Voici un exemple de sortie du statut du service Apache.

● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Mon 2018-04-23 00:02:09 -03; 1min 4s ago

Didacticiel - Configurer WordPress en HTTPS

Maintenant, nous devons configurer WordPress pour utiliser le protocole HTTPS.

Ouvrez votre navigateur et accédez au tableau de bord WordPress.

Sur le tableau de bord WordPress, accédez au menu Paramètres et sélectionnez l'option Général.

Wordpress Settings General

Modifiez l'adresse HTTP (URL) et la configuration de l'adresse du site (URL) de HTTP à HTTPS.

Wordpress HTTP to HTTPS

Sur le tableau de bord WordPress, accédez au menu Paramètres et sélectionnez l'option Permaliens.

Wordpress permalinks menu

Cliquez sur le bouton Enregistrer les modifications pour mettre à jour la configuration de votre lien permanent.

Wordpress backup permalinks

Vous avez terminé la configuration de votre site web.

Ouvrez votre navigateur et essayez d'accéder à la version HTTPS de votre site Web.

Si vous essayez d'ouvrir l'URL HTTP de votre site Web, le serveur Web Apache devrait automatiquement vous rediriger vers la version HTTPS.

Assurez-vous que tout fonctionne.

Tutoriel - Plan du site WordPress

Si votre site Web WordPress propose un plan Sitemap, vous devez le générer à nouveau.

Habituellement, les utilisateurs utilisent le plug-in Yoast SEO pour créer le plan Sitemap de manière dynamique.

Désactivez le plug-in YOAST SEO et activez-le.

Cela recréera le plan Sitemap WordPress.

Wordpress YOAST SITEMAP Deactivate

Didacticiel - Mise à Jour des Liens de la Base de Données MySpress WordPress

Nous devons maintenant modifier la base de données WordPress et modifier chaque entrée d’URL HTTP en HTTPS.

Vous devez sauvegarder votre base de données avant de continuer.

Une fois la sauvegarde de la base de données WordPress terminée, nous devons télécharger le logiciel WP-CLI.

# mkdir /downloads/wp-cli
# cd /downloads/wp-cli
# wget https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
# php wp-cli.phar --info
# chmod +x wp-cli.phar
# cp wp-cli.phar /usr/local/bin/wp

Accédez à votre répertoire d'installation WordPress et testez la commande WP-CLI.

# cd /var/www/html/wordpress
# wp --info

OS: Linux 4.15.0-1021-aws #21-Ubuntu SMP Tue Aug 28 10:23:07 UTC 2018 x86_64
Shell: /bin/bash
PHP binary: /usr/bin/php7.2
PHP version: 7.2.10-0ubuntu0.18.04.1
php.ini used: /etc/php/7.2/cli/php.ini
WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /downloads/wp-cli
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.0.1

Maintenant, testons la commande qui remplacera les liens HTTP vers la version HTTPS de la base de données.

Cette commande n'effectue aucune modification dans la base de données.

# wp search-replace 'http://techexpert.tips' 'https://techexpert.tips' --all-tables --skip-columns=guid --dry-run --allow-root

Warning: Skipping an uninitialized class "DUP_Package", replacements might not be complete.
Success: 18925 replacements to be made.

Le test a été effectué avec succès.

Maintenant, exécutons la commande qui remplacera les liens HTTP vers la version HTTPS de la base de données.

Cette commande va effectuer des changements dans la base de données.

# wp search-replace 'http://techexpert.tips' 'https://techexpert.tips' --all-tables --skip-columns=guid --dry-run --allow-root

Warning: Skipping an uninitialized class "DUP_Package", replacements might not be complete.
Success: 18925 replacements were made.

Vous avez terminé la configuration de la base de données Mysql.

Facultatif - Console de Recherche Google

Si vous utilisez Google Search Console, vous devez ajouter un autre site Web à l'aide de votre URL HTTPS.

Malheureusement, la console de recherche Google ne propose pas la possibilité de renommer votre site Web HTTP en HTTPS.

Vous devrez configurer la version HTTPS en tant que nouveau site Web.

Facultatif - Google Analytics

Si vous utilisez Google Analytics, vous devez modifier les propriétés de votre site Web afin de refléter l'URL HTTP.

Accédez au menu administrateur de Google Analytics et sélectionnez l'option Paramètres de la propriété.

Modifiez la configuration de l'URL par défaut de HTTP à HTTPS.

Google Analytics - HTTP to HTTPS