Table des matières

Passage en HTTP S

Etape

  1. Sauvegarde des fichiers et base de données
  2. Ajout du certificat et passage en https via VirtualMin
  3. Check des liens absolus (en durs) dans les fichiers et en base de données
  4. Redirection .htaccess

Ces étapes sont à effectuer chronologiquement et peuvent être réalisé lors de la MEL pour profiter qu’une sauvegarde ne soit pas utile.

Sauvegarde fichier et bdd

Sauvegarde des fichiers

Différentes options :

Ou en utilisant le plugin Wordpress, module Drupal ou Drupal Drush (ci-dessous)

Sauvegarde base de données

Différentes options :

Plugin Wordpress

Duplicator

https://fr.wordpress.org/plugins/duplicator/
https://wpformation.com/migrer-wordpress-duplicator/

Drupal

https://www.drupal.org/docs/7/site-building-best-practices/backup-your-database-and-files

Drush

Vous pouvez utiliser les outils de commandes Drush. Voir le tuto d’installation et d’utilisation de Drush (TODO)

Module

Backup and Migrate

https://www.drupal.org/project/backup_migrate

Ajouter certificat et activation https

Voir le tutoriel fonctionnel avec un domaine.

Reste à définir comment ajouter un certificat sur un sous-domaine.

Erreurs
Wrote file to /home/xxxxxxx/public_html/.well-known/acme-challenge/XByAXj3GF8pYzovO-c8XbVgh7wQYtM6izgrJZT0vBkE, but couldn't download.

Solution
Vider l’.htaccess, regénérer, reremplir l’.ht

Check liens durs

Fichiers

Il va falloir vérifier les fichiers template un par un, remplacer les liens absolus par des liens relatifs ou générés.
Il est important de faire attention à éviter le plus possible de lien relatif lors du développement en général.

Wordpress

Si vous utilisez Wordpress vous pouvez récupérer les pages par leur ID ou slug.
- get_permalink( get_page_by_path( 'map' ) )
- get_permalink( get_page_by_title( 'Map' ) )
- home_url( '/map/' )

Drupal

- Sur un champ de type lien :
href=“{ { node.field_accueil_lien_gauche.0.url } }” { { node.field_accueil_lien_gauche.title } }

- Image du theme :
src=“{ { base_path ~ directory } }/images/
src=”{ { url_image } }/images/
$variables['url_image'] = 'http:'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/themes/custom/espacedomicile'

- Lien non administrable :
href=“/locataire/annonces” - Image dans une galerie (avec style image) :
src=“{ { node.field_avendre_images_slide[i].entity.uri.value | image_style('max_1300x1300') } }”

Base de données

A la main :
- Exporter la bdd en .sql
- Modifier le fichier avec un CtrlF+CtrlH de l’ancienne en remplaçant par la nouvelle.
- Importer la bdd


Si la base de donnée est trop importante, faire les manips en cli :
- mysqldump -u interaction-interim –insert-ignore -p interaction_interim > 1619-insertignore.sql
- sed 's,http://www.interaction-interim.com,https://www.interaction-interim.com,g' wantedsqlfile.sql > sqlaftersearchandreplace.sql
- mysql -u interaction-interim -p interaction_interim < wantedsqlfile.sqle

Script MySQL
Script Search&Remplace
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

Redirection .htaccess

Wordpress

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# Redirection HTTPS
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTPS} =off
RewriteRule ^(.*)$ https://www.nzdirect.fr/$1 [R=301,L]
# Redirection du www en HTTPS
RewriteCond %{HTTP_HOST} ^nzdirect.fr [NC]
RewriteRule ^(.*)$ https://www.nzdirect.fr/$1 [R=301,L]
</IfModule>

Drupal​​​​​​

RewriteEngine on

[…]

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com*
RewriteRule ^(.*)$ https://www.interaction-interim.com/$1 [L,R=301]


Si la redirection ne fonctionne pas :

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress