Archives pour la catégorie ‘ Trucs et astuces’

Passage du blog en https

Après tous les articles récents publiés sur le https, il était temps de mettre la recommandation du passage en full https sur ce blog en application.
Pour le coup c’est plutôt facile à faire avec wordpress, et c’était en place en moins de 30 minutes 🙂

Voici les différentes étapes effectuées pour passer wordpress en https.

A savoir que le https est déjà géré et disponible sans configuration via les dns cloudflare que j’utilise ( c’est pareil pour tous les hébergements mutualisés via les dns ovh également )

Configuration de wordpress

Pour commencer , il suffit de changer les urls du site dans la configuration de wordpress en allant dans « Réglages / Généraux »

Correction du contenu mixte

Le site est à présent disponible en https, cependant si vous avez des images vous allez rapidement constater des avertissements de contenus mixtes.
C’est à dire que votre navigateur vous alerte que votre page charge des éléments non sécurisés ( protocole http ), sur une page sécurisée ( https )

Pour corriger cela il va être nécessaire de mettre à jour votre base de données pour remplacer les urls http par du https
(Attention à bien sauvegarder votre base avant )

Dans mon cas cela est passé par l’éxécution de la requête suivante

UPDATE wp_posts SET `post_content` = REPLACE (`post_content`, 'http://www.h-hennes.fr'
1 commentaire

Optimisation des exports de bases de données pour mise à jour d’environnement de développement

En tant que développeur il est souvent nécessaire de faire des dumps de base de données pour mettre à jour les environnements de développements ( qu’ils soient locaux ou sur le serveur ).
Cependant les tables de productions sont souvent très lourdes et comportent des données qui ne sont pas forcément nécessaire pour développer.

Voici un petit script qui va vous faire gagner du temps dans l’export / import de ces bases de données.
La logique est relativement simple .

Pour les tables dont les données ne sont pas importantes, on va exporter uniquement la structure.
Puis nous excluons ces tables de l’export global.

 #!/bin/bash
 
#Variables de la base de données
host="localhost"
user="root"
pass="root"
dbname="dbname"
 
#Stockage de ces tables à ignorer dans une variables ( separer les noms par un espace)
ignoreTables="table1 table2 "
 
#Dump de la structure de ces tables
echo "Export de la structure des tables ignorées"
mysqldump -d -h $host -u $user -p$pass $dbname $ignoreTables > backup-structure.sql
Pas de commentaires

Tester la qualité des emails envoyés par votre serveur

Voici un outil pratique pour tester la qualité des emails qui sont envoyés par votre serveur : https://www.mail-tester.com/

Mail tester

Cet outil teste les différents paramètres dont :

  • SPF
  • Sender ID
  • DKIM
  • Blacklists les + connues

Et il donne également les solutions pour corriger les différents problèmes de manière rapide.
Pour ma part je suis passé de 2.1 à 9 🙂…

Pas de commentaires

Alternative à wampserver : windows bash

La sortie de la mise à jour Anniversary pour windows 10 au début du mois d’aout, apporte une nouveauté majeure pour les développeur webs ( sous windows bien sur ^^), à savoir l’apparition d’un sous-système linux directement intégré dans windows.

Je ne vais pas vous détailler comment l’activer vous pouvez trouver comment faire cela sur google.

La distribution proposée est Ubuntu 14.04.

Pour pouvoir développer en local il est donc nécessaire d’installer le stack lamp (Apache/Mysql,Php) , les instructions sont donc exactement les mêmes que sur un ubuntu classique, je vous renvoie donc
vers mon article sur le sujet : Ubuntu Server 14.04 « Trusty Tahr » : Installation d’apache, php et mysql ( lamp)

L’unique point à retenir est que les partitions windows sont montées dans /mnt/x/votre-dossier ( ou x correspond à la lettre de votre disque dur)
Il faut donc faire pointer vos vhosts apache vers ces dossiers.

A noter également que j’ai voulu installer nginx sans succès, pour l’instant cela ne fonctionne pas.…

Pas de commentaires

Nginx et Apache : redirection sans www vers www

Pour uniformiser les urls de votre site web et éviter les duplications de contenu  dans le référencement de votre site.
Voici des extrait de code pour ceux qui souhaitent rediriger le nom de domaine sans les www, vers les www avec les serveurs nginx et Apache.

Par exemple si nous souhaitons rediriger le domaine mysite.com vers www.mysite.com

Nginx :
Dans le fichier de configuration du nom de domaine

#Noeud serveur pour le domaine sans www
server {
    listen       80;
    server_name  mysite.com;
    return       301 $scheme://www.mysite.com$request_uri; #redirection 301 vers le domaine avec les www ( http et https gérés )
}
#Noeud serveur pour le domaine avec www
server {
    listen       80;
    server_name  www.mysite.com;
    ...
}
Pas de commentaires

Alternative à phpMyAdmin : Adminer

Un petit article pour présenter un outil qui m’a fait gagner pas mal de temps récemment : Adminer
Cet outil, tout comme PhpMyAdmin permets de gérer les bases de données de votre hébergement via une interface web.

En général, phpmyadmin est installé directement par l’hébergeur et c’est l’outil utilisé par défaut pour gérer les bases de données.
Cependant il peut arriver que des hébergeurs ne le proposent pas.
Dans ce cas l’utilisation d’Adminer est la solution la plus simple et la plus rapide.

Comment ça marche ? :

  • Télécharger le fichier adminer.php depuis le site https://www.adminer.org/
  • Envoyer le via ftp n’importe ou sur votre hébergement.
  • Accéder au fichier depuis un navigateur web

Adminer

Et oui rien de plus à faire 🙂

Note :
Pour plus de sécurité renommez ce fichier en autre chose que adminer.php 😉…

Pas de commentaires

Cmder : Ajouter des alias

En remplacement de l’invite de commande windows standard, j’utilise l’excellente console alternative Cmder : http://cmder.net/

Celle-ci implémente des commandes linux indispensables qui vont vous faciliter la vie ( ls, git , ssh … )
Elle permet également de gérer des alias qui vous ferons gagner un temps précieux.
Le fonctionnement est légèrement différent d’une console linux standard, puisqu’il ne faut pas éditer le fichier .bashrc

Les modifications sont à apporter dans le dossier ou Cmder est installé, dans le fichier /config/aliases

Vous pouvez par exemple simplifier vos connexion ssh en ajoutant des alias tel que :

sshherve= ssh [email protected] -i "C:\Users\myuser\.ssh\my_key"
1 commentaire

Testez vos sites de développement en https

L’usage du https se généralise sur les sites web, lors du développement des sites, il devient donc important de vérifier que le passage du site en mode https ne renvoie pas d’erreur.

Pour mes développements j’utilise une machine virtuelle avec un stack lamp gérée via vagrant.
Nous allons voir comment rendre fonctionnel le https sur cette vm en moins de 5 minutes.

Sur votre vm saisissez les commandes suivantes :

#Activation du mode ssl apache
sudo a2enmod ssl
#Activation du site par défaut avec le ssl d'apache
a2ensite default-ssl

Si vos fichiers web sont situés à l’emplacement par défaut d’apache ( var/www/html ), il vous suffit de recharger apache

#Rechargement de la configuration d'apache
service apache2 reload

Et le https fonctionne 🙂

Si vous bossez dans un autre dossier, éditer le fichier de configuration du site default-sslsudo vim /etc/apache2/site-enabled/default-ssl.conf…

Pas de commentaires

Batch : Ajouter des entrées dans le fichier host

Voici un petit script batch qui vous permettra d’ajouter facilement des entrées dans votre fichier host :

:: Script d insertion de lignes dans un fichier batch
:: Herve-hennes - 2015
:: version 0.1.0
 
::Ne pas écrire les commandes exécutées
@echo off
::Couleurs d affichage de la fenetre
color 0A
::Titre de la fenêtre
title Ajouter une entree dans le fichier host
 
::Ce script doit etre execute en administrateur
:: Cf. https://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights#11995662
net session >null 2>1&
if %errorLevel% GTR 0) (
 goto erreur_droits
)
 
::Saisie du nom de domaine a ajouter au host
set /p host=Entrer le nom de domaine a ajouter au fichier host :
 
::Saisie du host par defaut
set /p ip=Entrer l ip vers laquelle doit pointer le host (defaut: 127.0.0.1) :
 
::Attribution de la valeur par defaut si pas d ip renseignee
if "%ip%"=="" (
  set ip=127.0.0.1
 )
 
 ::Ecriture de la ligne dans le fichier de host
 :: @ToDo Il faut verifier que l entree n existe pas
 echo %ip% %host% >> %SystemRoot%\system32\drivers\etc\hosts
 
 echo Nouvelle ligne inseree dans le fichier host
 
 ::Permet de ne fermer la fenête que lorsque l utilisateur appuie sur une touche
 pause > null
 exit
 
 :: Texte affiche si les droits d execution du fichier ne sont pas suffisants
 :erreur_droits
  echo Ce script doit etre lance en administrateur pour fonctionner
 
::Permet de ne fermer la fenêtre que lorsque l utilisateur appuie sur une touche
:: mettre pause > null pour ne pas afficher le message
pause
1 commentaire

Ovh mutualisé copier une base de données dans une autre avec ssh

Voici un petit script bash qui vous permettra de copier facilement le contenu d’une base de données à une autre depuis un hébergement mutualisé ovh.
( Ce script fonctionne uniquement à partir des hébergements pro, car il nécessite un accès ssh )
Le déroulé du script est le suivant :

  • Export de la bdd à copier
  • Sauvegarde de la bdd de destination
  • Suppression des données de la bdd de destination
  • Insertion des données de la bdd à copier dans la bdd de destination
#!/bin/bash
 
#Saisir les paramètres des bases de données
serveurProd="mysql.ovh"
userProd="user"
passProd="password"
 
serveurPreprod="mysql.preprod"
userPreprod="preprod"
passPreprod="preprod"
 
#Export de la base de donnees de prod
echo "Sauvegarde base de prod"
mysqldump --host=$serveurProd --user=$userProd --password=$passProd $userProd | gzip > backup-prod_$(date +"%Y-%m-%d").sql.gzip
 
#Sauvegarde de la base de donnees de preprod
echo "Sauvegarde base de preprod"
mysqldump --host=$serveurPreprod --user=$userPreprod --password=$passPreprod $userPreprod | gzip > backup-preprod_$(date +"%Y-%m-%d").sql.gzip
Pas de commentaires


Archives

Compte Github