====== Passage en HTTP S ======
===== Etape =====
- Sauvegarde des fichiers et base de données
- Ajout du certificat et passage en https via VirtualMin
- Check des liens absolus (en durs) dans les fichiers et en base de données
- 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 :
* Transfert basique grâce au FTP, indépendant des plateformes / technos.
* SSH > création d'un zip du dossier du site et stockage où vous le souhaitez (préférable) ''-zip -r foo.zip dir_path''
Ou en utilisant le plugin Wordpress, module Drupal ou Drupal Drush (ci-dessous)
==== Sauvegarde base de données ====
Différentes options :
* Vous pouvez le faire à la main, en passant par la Phpmyadmin du site.
* Via SSH avec [[https://stackoverflow.com/questions/8444108/how-to-use-mysql-dump-from-a-remote-machine|mysqldump ]](préférable) - ''mysqldump -u sportpolice -p sportpolice > fspn_save_3005_https.sql''
* utiliser un plugin/module :
=== Plugin Wordpress ===
**Duplicator **
[[https://fr.wordpress.org/plugins/duplicator/|https://fr.wordpress.org/plugins/duplicator/]] \\
[[https://wpformation.com/migrer-wordpress-duplicator/|https://wpformation.com/migrer-wordpress-duplicator/]]
==== Drupal ====
[[https://www.drupal.org/docs/7/site-building-best-practices/backup-your-database-and-files|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|https://www.drupal.org/project/backup_migrate]]
===== Ajouter certificat et activation https =====
Voir le [[https://www.dropbox.com/home/_partage (2)/_Ressources/https?preview=certificat_https_110117.docx|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/|https://interconnectit.com/products/search-and-replace-for-wordpress-databases/]]
===== Redirection .htaccess =====
==== Wordpress ====
# BEGIN WordPress \\ \\ 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/|https://www.nzdirect.fr/]]$1 [R=301,L] \\
# Redirection du www en HTTPS \\
RewriteCond %{HTTP_HOST} ^nzdirect.fr [NC] \\
RewriteRule ^(.*)$ [[https://www.nzdirect.fr/|https://www.nzdirect.fr/]]$1 [R=301,L] \\
==== Drupal ====
RewriteEngine on
[…]
RewriteCond %{HTTPS} off [OR] \\ RewriteCond %{HTTP_HOST} ^www\.example\.com* \\ RewriteRule ^(.*)$ [[https://www.interaction-interim.com/|https://www.interaction-interim.com/]]$1 [L,R=301]
\\ Si la redirection ne fonctionne pas :
# BEGIN WordPress \\ \\ RewriteEngine On \\ RewriteBase / \\ RewriteCond %{HTTPS} !=on \\ RewriteRule ^ [[https://%|https://%]]{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^index\.php$ - [L] \\ RewriteCond %{REQUEST_FILENAME} !-f \\ RewriteCond %{REQUEST_FILENAME} !-d \\ RewriteRule . /index.php [L] \\ \\ # END WordPress