Passer un hébergement OVH payant en hébergement gratuit, avec gestion d’une adresse mail

Passer un hébergement OVH payant en hébergement gratuit, avec gestion d’une adresse mail

J’ai fait le choix d’héberger les sites que je gère sur un serveur Infomaniak. Mais j’ai préféré laisser les noms de domaine chez OVH (plus simple, surtout si je retourne chez OVH lorsqu’ils se seront un peu améliorés !). Lorsque je transfère un hébergement (perso ou pro) d’OVH vers Infomaniak, je dois aussi voir comment gérer les emails.

Si le nom de domaine est utilisé par plus d’une personne, il faut autant d’adresses que d’utilisateurs. Dans ce cas, je choisis un hébergement mail (un « MX plan » chez OVH, un « hébergement mail » chez Infomaniak). Mais si il y a un seul utilisateur, l’hébergement gratuit associé à un nom de domaine chez OVH suffit.

J »explique ici comment activer l’hébergement gratuit d’OVH et régler l’adresse mail principale ainsi que ses alias éventuels.

Supprimer l’hébergement « pro » ou « perso » d’origine

Evidemment, cette étape ne sert que si on a préalablement acheté chez OVH un hébergement pour le nom de domaine.

Une fois que le site est transféré sur son nouvel hébergement (voir l’article « Transfert d’un site vers un hébergement Infomaniak« ), il faut le supprimer. Ca se fait en 2 ou 3 étapes :

  1. Prendre note des réglages liés aux mails dans l’hébergement actuel ;
  2. sauvegarder (optionnel) les mails précédents avec son client de messagerie ;
  3. supprimer l’hébergement.

Prendre note

Le plus simple est de faire une copie d’écran de la page emails de l’espace client d’OVH :

Copie d'écran onglet email de l'espace client OVH

Copie d’écran onglet email de l’espace client OVH

Comme ça, je sais quelles sont les adresses à recréer, et je vois aussi d’un coup d’oeil si la boîte mail OVH contient ou non des mails. Dans le cas présent, les mails sont supprimés au fur et à mesure par le client de messagerie qui sert à l’utilisatrice pour lire ses mails.

Il peut également être utile de faire une copie de toutes les redirections créées.

Copie d'écran onglet email, gestion des redirections, de l'espace client OVH

Copie d’écran onglet email, gestion des redirections, de l’espace client OVH

Ici, les deux adresses sont toutes deux redirigées sur une adresse gmail.

Sauvegarde des mails

La méthode varie selon les clients de messagerie. Pour GMail, c’est comme ça :

sur gmail : bouton « mon compte »

sauvegarde des mails de Gmail : accès au menu "sauvegarde"

sauvegarde des mails de Gmail : accès au menu « sauvegarde »

Puis lien « définir votre contenu »

sauvegarde des mails de Gmail : accès au compte

sauvegarde des mails de Gmail : accès au compte

Puis créer une archive

sauvegarde des mails de Gmail : créer une archive

sauvegarde des mails de Gmail : créer une archive

Ensuite, il suffit de sélectionner les données à archiver puis lancer.

Supprimer l’hébergement

Avant de réaliser l’opération, on vérifie :

  • On a soigneusement noté les caractéristiques des adresses mails et leurs redirections éventuelles ?
  • On a sauvegardé les mails dans le client de messagerie ?
  • Le site web fonctionne correctement dans son nouvel hébergement ?
  • Il ne reste aucun fichier non sauvegardé sur l’hébergement (accès FTP) ?

Si c’est oui, on peut supprimer l’hébergement !

Dans l’espace client OVH,

Dans l’espace client OVH, aller dans facturation puis choisir le menu « Mes Services ». Il faut taper une partie du nom de domaine dans le champs en haut à droite du tableau.

OVH : supprimer un hébergement, étape 1

OVH : supprimer un hébergement, étape 1

Ensuite, en cliquant sur le +, à gauche de hébergement web + domaine, on voit comment se décompose ce service :

OVH : supprimer un hébergement, étape 2

OVH : supprimer un hébergement, étape 2

Puis en cliquant sur le petit engrenage à droit dans la ligne « hébergement web », on a accès à l’option « supprimer l’hébergement ».

OVH : supprimer un hébergement, étape 3

OVH : supprimer un hébergement, étape 3

On clique sur « supprimer l’hébergement ». On valide en suivant le lien dans le mail que l’on reçoit immédiatement.

Si on retourne à l’accueil, puis au menu domaine, les infos liées au domaine indiquent une erreur. Ca dure environ 1 heure pour moi de 9h50 à 10h26. Ce n’est qu’à ce moment qu’on peut réaliser la prochaine étape. Pendant ce temps, il est possible que des mails ne soient plus reçus. Mais en principe l’expéditeur en est informé…

Activer l’hébergement gratuit

Toujours dans l’espace client d’OVH, on va dans l’onglet « informations générales » du menu domaines du domaine concerné.

Activer l’hébergement web et email gratuit en cliquant sur le bouton « activer » :

OVH : activer l'hébergement web et mail gratuit

OVH : activer l’hébergement web et mail gratuit

choisir seulement la modification des enregistrements MX (on ne crée pas d’hébergement web) :

OVH : activer l'hébergement gratuit pour les mails uniquement

OVH : activer l’hébergement gratuit pour les mails uniquement

La commande (gratuite) est traitée par OVH. 2 minutes après, on reçoit un mail nous informant que l’hébergement est créé.

5 minutes après, on a accès au menu « email » pour le domaine. Mais avant, il faut vérifier que OVH a correctement réalisé les modifications :

  • Les zones DNS des enregistrements A et AAAA doivent toujours pointer vers l’IP de l’hébergement tiers,
  • Le champ TXT commençant par «  »google-site-verification= » doit toujours être présent (si on l’avait créé avant)
  • Le champ SPF du domaine doit être réglé sur « v=spf1 include:mx.ovh.com ~all »

Il y a eu une période où je rencontrais systématiquement des problèmes à ce stade. Il semblerait que ce soit du passé !

Régler l’adresse mail et ses alias

Créer l’adresse mail

Dans l’espace client OVH, menu « emails » du domaine, cliquer sur le bouton « créer une adresse e-mail ». Avec l’hébergement gratuit, on ne pourra en créer qu’une. On lui affectera la taille de compte la plus élevée (5Go). Pour définir le mot de passe, on pourra utiliser le générateur de mot de passe CompariTech.

Voilà, nous avons défini une adresse mail principale, il nous reste à savoir la lire avec un client de messagerie. Mais nous souhaitons peut-être aussi disposer d’autres adresses, pour le même utilisateur. Nous allons donc créer des « alias ».

Définir des alias

Nous avons comme adresse principale isabelle@domaine.com. Ce sera notre adresse courante et nous ne voulons pas qu’elle devienne trop polluée par des spam, ni qu’elle soit connue de tous.

C’est là qu’interviennent les alias de messagerie ! Ce sont des adresses de messagerie qui n’ont pas de compte dédié et qui doivent donc obligatoirement être redirigée sur une « vraie » adresse.

Par défaut OVH crée un alias intitulé « postmaster@domaine.com » et le redirige sur l’adresse principale (isabelle@domaine.com).

Nous pouvons créer un alias, par exemple test@domaine.com :

Cliquer sur le bouton « Gestion des redirections ».

OVH : créer un alias d'email

OVH : créer un alias d’email

Une fois qu’on a validé, on peut expédier des mails à test@domaine.com et il est automatiquement reçu par l’adresse vers laquelle on a redirigé l’alias.

Lire les messages

On peut lire les mails en ligne avec la solution OVH pour l’accès webmail, sur https://mail.ovh.net/roundcube/

Pour lire des emails autrement, il faut utiliser un « client de messagerie ». Ils sont nombreux et OVH a rédigé des guides bien fait sur leur réglage, disponibles ici.

Si vous utilisez Gmail, vous pouvez suivre ces instructions :

Et maintenant ?

Et vous, est-ce que vous avez d’autres solutions pour héberger des comptes email à faible coût ?

Premiers pas sur un VPS Plesk d’OVH

Premiers pas sur un VPS Plesk d’OVH

Je suis abonnée depuis peu à un hébergement web Plesk « VPS Classic 1 » d’OVH. Dans ce premier article de la série , nous allons voir comment se présente l’interface Plesk et quels sont les difficultés éventuelles.

L’intérêt d’un VPS « Plesk »

J’avais quatre motivations en choisissant cette offre :

  1. passer outre la limite de 4 bases de données d’un hébergement « Pro » ;
  2. gérer des mails pour des domaines ne disposant pas d’un hébergement ;
  3. faire des économies en mutualisant des hébergements mutualisés (et oui !) :
    1. économies de temps (ne pas refaire les mêmes actions d’un hébergement à l’autre ;
    2. économies d’argent puisque l’offre « Classic 1 » a un coût mensuel inférieur à la somme des coûts de chaque hébergement géré.
  4. apprendre et élever mes compétences de gestion de sites web et d’hébergements.

Lorsque j’ai vu l’offre Plesk d’OVH, au prix très raisonnable (12.99 € par mois), avec la promesse « sans avoir besoin de compétences particulières en DevOps« , j’ai vite décidé de me lancer.

J’ai passé commande de l’offre VPS Classic 1 le 6 octobre 2016. Pendant quelques jours, j’ai fait des essais pour me familiariser avec cette nouvelle interface. Le 14 octobre, j’ai réinstallé mon serveur et redémarré de zéro. Le 16 octobre, j’avais déplacé un premier site d’un hébergement Perso vers le VPS. A ce stade, les économies sont nulles : les hébergements tiers ne sont pas encore résiliés et j’ai passé un temps gigantesque à me familiariser avec l’interface Plesk.

Que peut-on faire avec un VPS Plesk d’OVH ?

La configuration globale est faite par OVH, qui reste « super administrateur ». On devient « revendeur », comme un « mini » OVH, qui vend (ou pas) des hébergements à des tiers et les gère d’une interface unique. On peut par exemple sauvegarder l’ensemble des sites que l’on gère d’un seul clic (c’est précieux !).

Le document OVH Utilisation d’un hébergement web Plesk décrit les spécificités de ses offres de manière assez détaillée et fait des liens vers l’excellente documentation, en français, de Plesk.

L’assistance client d’OVH pour les VPS Classic

Le compte VPS classique permet d’accéder plus rapidement à l’assistance. En théorie l’assistance est 24/24 et 7/7 mais je suis restée dans les horaires normaux. J’ai eu affaire à des gens compétents qui faisaient les corrections nécessaires ou donnaient les informations demandées.

2 semaines après le démarrage, Je suis plutôt contente de l’assistance, même si je suis un peu irritée par l’absence quasi totale de documentation. Tous les techniciens d’OVH auxquels j’ai parlé semblent considérer qu’il faut avoir des compétences pour utiliser un VPS : la documentation Plesk et des recherches sur internet sont supposées nous dépanner. Mais chaque fois que j’ai demandé de l’aide, je l’ai obtenue même si souvent il fallait au moins 24h pour que l’action soit faite ou obtenir l’information.

Premiers pas sur Plesk

La page d’OVH sur l’utilisation des VPS Plesk, au chapitre « Présentation du panel Plesk » fait les liens vers les documentations pertinentes de Plesk. Il est indispensable de les lire très attentivement avant de démarrer puis en réalisant les opérations.

Dans ce qui suit, j’expose seulement ce que j’ai eu du mal à trouver ou comprendre lors de mes premiers pas.

Ma recommandation à un nouvel utilisateur

A la première prise en main, se donner un mois pour tester et se familiariser avec l’interface :

  • création d’un client test ;
  • création d’un abonnement test ;
  • installation d’un site web existant avec un sous-domaine créé spécialement ;
  • création d’une adresse mail avec ce sous-domaine.
  • sauvegarder pour vérifier qu’on comprend comment et surtout qu’on y arrive, à la fois pour le compte Plesk dans son ensemble et pour les hébergements.

Ensuite, on réinstalle Plesk (on accède à cette option comme pour changer la langue décrit ci-dessous). Pour moi ça a créé une panne, corrigée par OVH en 24h environ. Il ne faut donc pas être trop pressé… Et là, ça y est, on crée les clients, abonnements et hébergements en live !

Et pendant tous ces essais, prendre des notes accompagnées de copies d’écrans. Lorsqu’on est habitué à l’interface OVH de gestion des domaines et hébergements, Plesk peut être très déroutant. Et on dispose de réglages qu’on n’a jamais utilisé. Il n’est pas facile de savoir quoi choisir et quelles en seront les conséquences.

Changer la langue du panel Plesk

Si on préfère une interface en français (ce que veulent les tiers qui accéderont à leurs comptes), le réglage se fait dans notre compte OVH et pas dans l’interface Plesk.

Lorsqu’on arrive à notre compte OVH, on est dans le menu « web ». Il faut aller dans le menu « SUNRISE » en haut :

VPS Plesk OVH : changer de langue (1)

Ensuite, il suffit de cliquer sur « changer la langue » et la choisir.

VPS Plesk OVH : changer de langue (2)

 

La licence Plesk dont on dispose ne permet pas d’utiliser deux langues distinctes. J’ai choisi le français et ce choix s’applique à l’ensemble des comptes, administrateur comme clients. J’aurais nettement préféré avoir une interface administrateur en anglais pour faciliter l’accès à des articles sur internet. Mais mes clients veulent accéder à une interface en français.

Comprendre les vues

La documentation Plesk explique les vues « Power User » et « fournisseur de service ». En gros, on est en vue « fournisseur de service » lorsqu’on gère les clients ou leurs hébergements, et en mode « power user » lorsqu’on est dans notre propre hébergement ou dans celui d’un client.

Deux astuces méritent l’attention si l’on ne veut pas être perdu :

Pour passer d’une vue à l’autre (entre « Power User » et « fournisseur de service »), il y a un bouton tout en bas à gauche de notre interface Plesk :

Passer à la vue

Et si on ne voit plus le menu vertical à gauche, on est sauvé en cliquant sur la petite flèche, qu’on ne voit qu’en survolant le bord gauche de notre navigateur !

Et maintenant ?

Dans le prochain article de cette série , nous verrons comment créer un pack de services pour nos clients.

Cron Job sur un hébergement mutualisé OVH

Dans un projet personnel, j’ai eu besoin de lancer un script régulièrement sur mon hébergement mutualisé OVH. Et j’ai constaté que ce n’est pas simple ! Je décris ici un script test, qui fonctionne après de multiples essais.

Le principe

Je veux que OVH exécute un script PHP à fréquence régulière. Le script PHP présenté ici réalise différentes activités qui permettent de vérifier que mes réglages sont bons. Il s’agit en effet de répondre aux questions suivantes :

  • comment faire pour que OVH exécute régulièrement un script (PHP ici) ?
  • Si le script doit accéder à d’autres fichiers, comment lui « dire » où les trouver ?
  • Si le script doit envoyer un mail, quelles sont les spécifications pour que ça fonctionne ?
  • Comment faire pour deboguer et afficher ce qui se passe durant le script « croné » ?

Ecriture du script PHP

Le fichier « cron-test.php »final, qui fonctionne, contient les éléments suivants :

#!/usr/local/bin/php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Test de Cron</title>
	</head>
	<body>
		<h2> Le test commence </h2>
		<?php
		/**
		* test script
		**/

		$path = dirname( __FILE__ );
		
		// https://forum.ovh.com/showthread.php/101095-taches-planifi%C3%A9s-ne-s-executent-plus/page2

		define('ROOT',dirname( __FILE__ ));

		
		include_once ROOT . '/al-pi-cron-test.php';

		$line1 = $path ;
		$line2 = "ligne 2" ;
		$line3 = "ligne 3" ;

		date_default_timezone_set('CEST');
		$today = date("F j, Y, g:i a"); 


		$to      = 'adresse@gmail.com, autreadresse@hotmail.fr'; 
		$subject = 'cront-test.php  !!!';
		$message = $line1 . "\r\n" . $line2 . "\r\n" . $line3 . "\r\n" ;
	
		$send_mail = al_send_email( $to, $subject, $message) ;
			
		
		
		
		$fp = fopen( ROOT . '/My-pi/cron-pi.log', 'a' );  
		fwrite( $fp, "\r\n -----------------TEST----------------------------------- \r\n" );
		fwrite( $fp, $today . "\r\n" );
		fwrite( $fp, $line1 . "\r\n" );
		fwrite( $fp, $line2 . "\r\n" );
		fwrite( $fp, $line3 . "\r\n" );
		fwrite( $fp, "Résultat envoi Mail : " . $send_mail . "\r\n" );		
		fwrite( $fp, "\r\n -------------------------------------------------------- \r\n" );
		fclose($fp);
		?>
  
		<h2> Le test est terminé </h2> 

  
	</body>
	</html>

La partie html permet de visualiser (et lancer) le script à partir d’internet, en tapant l’adresse http://mon-site.com/cron-test.php, comme ci-dessous.
Affichage sur navigateur internet

Ce qui est réellement important, c’est le code php.

Pour que OVH puisse exécuter ce script en cron

Il vaut mieux (c’est optionnel pour du PHP), indiquer en toute première ligne du fichier comment il doit se décoder :

#!/usr/local/bin/php

Mais surtout, il faut comprendre que l’environnement dans lequel s’exécute un cron n’est pas celui dans lequel on exécute à la main (ou dans le navigateur comme ci-dessus). Le script ne sait pas où il est et il faut lui donner l’information ! On définit ainsi une variable ROOT avec la fonction define() puis on l’indique à chaque fois qu’il faut aller chercher un fichier, ici lorsqu’on veut utiliser un autre fichier pour définir les fonctions utilisées ou pour indiquer le chemin vers un fichier cron-pi.log que l’on veut ouvrir pour y ajouter du texte à la fin.

define('ROOT',dirname( __FILE__ ));

include_once ROOT . '/al-pi-cron-test.php';

$fp = fopen( ROOT . '/My-pi/cron-pi.log', 'a' );

Et voilà, les éléments indispensables pour qu’un script PHP puisse être exécuté en CRON sont identifiés !

Notez que la ligne ci-dessous fait appel à une fonction qui est écrite dans le fichier al-pi-cron-test.php appelé avec la fonction include_once.

$send_mail = al_send_email( $to, $subject, $message) ;

Réglage du Cron sur OVH mutualisé

Aller sur l’espace client OVH et sélectionner l’hébergement du nom de domaine correspondant. Cliquer sur l’onglet Cron puis choisir « ajouter une planification ».

Dans mon cas, le script est placé dans le répertoire pi-suivi/ .

cron job sur OVH (mutualisé) : étape 1

Après avoir cliqué sur suivant, il faut que je choisisses la fréquence de réalisation du script. Ici j’ai utilisé le mode simple et je n’ai rien modifié : je veux une exécution toutes les heures. Noter qu’on ne peut pas régler les minutes, même en mode expert. Sur un hébergement mutualisé OVH, ce n’est pas possible.

cron job sur OVH (mutualisé) : étape 2

Après avoir cliqué sur « suivant », voici la synthèse de ce que j’ai choisi. Notez le « ? » pour les minutes. C’est OVH qui va en décider la valeur.

cron job sur OVH (mutualisé) : étape 3

Je valide et j’attends 1 à 2 minutes. Je rafraichis la page de mon espace client OVH et la tâche Cron apparaît. J’avais déjà créé une autre tâche Cron. On voit que OVH a décidé qu’elle s’exécuterait à chaque fois qu’il est xh51. La deuxième tâche sera elle réalisée à chaque fois qu’il est xh40.

cron job sur OVH (mutualisé) : étape 4

J’attends qu’il soit xh40 et quelques, puis je vois que mon script s’est exécuté : j’ai reçu le mail généré par la fonction

Déboguage

Pour en arriver là, j’ai bien galéré et j’ai dû apprendre comment déboguer sur OVH.

En particulier, j’ai finalement trouvé où se trouvent les logs des hébergements mutualisés ! Il suffit de taper « https://logs.ovh.net/mon-site.com/ puis d’indiquer son identifiant OVH et son mot de passe (ceux qu’on utilise pour accéder à l’espace client). Par exemple, mes logs sont sur https://logs.ovh.net/parcours-performance.com/.

On trouve alors une ligne contenant « Cliquez ici pour voir les logs bruts en temps réel : web – ftp – error – cgi – out – ssh – cron ». On clique sur « cron » et on accède au dernier log des cron.

Les logs commencent par, et se terminent par ce qui suit. Entre les deux lignes, il y a le HTML. Ici j’ai remplacé le chemin vers mon répertoire par *** pour des raisons de sécurité.

Un cron s’est exécuté correctement s’il se termine par exitcode:0.

[2015-10-05 12:51:02] ## OVH ## START - 2015-10-05 11:23:02.575704 executing: /usr/local/php5.5/bin/php ***/pi-suivi/cron-test.php 
[2015-10-05 12:51:02] ## OVH ## END - 2015-10-05 12:51:03.454292 exitcode: 0

Mais évidemment, du point de vue du serveur un cron se termine correctement s’il n’y a pas d’erreur. De mon point de vue, il est terminé correctement s’il a réalisé ce que j’attendais….

Ecrire dans un fichier permet de vérifier ce qui se passe durant l’exécution du code. Ainsi j’ai défini $line1 puis je l’écris dans le fichier log défini. Ca me permet de savoir dans quel répertoire se déroule le travail.

Mais un des rôles les plus importants d’un tel fichier log est de nous dire si les choses se sont bien passées :

exemple 1 : écrire dans un log le résultat d’une interaction

Dans le script ci-dessus, j’appelle une fonction, al_send_email, par la commande :

$send_mail = al_send_email( $to, $subject, $message) ;

Cette fonction (non présentée ici ) gènère un mail à destination de $to, avec $subject comme objet et $message dans le corps du mail.  C’est bien beau de lancer une fonction. Mais ce qui est essentiel, c’est de savoir si le mail a effectivement été expédié.

Et bien $send_mail contient cette information maintenant que la fonction a été exécutée. En effet la fonction contient la ligne ‘return $result ; » et $result est réglé à   » ###  » . $send_Mail .  » – Erreur envoi mail <br> \n » si le serveur de messagerie n’a pas répondu « true » lors de l’envoi. Je peux donc indiquer dans mon log si tout s’est bien passé.

exemple 2 : écrire dans un log le contenu d’un tableau (array)

Un autre exemple où la constitution d’un log est essentielle pour déboguer un script, c’est lorsqu’on manipule des tableaux (array).

Dans un autre script php j’utilise cette fonctionnalité en définissant $line1 comme contenant toutes les valeurs d’un array $list_pi :

$line1 = var_export( $list_pi, true ) ;

Le log correspondant va ainsi contenir le texte suivant pour $line1 :

array (
  0 => 'val1',
  1 => 'val2',
  2 => 'val3',
)

D’un coup d’oeil dans le log, je vois si le script tel que réalisé dans l’environnement cron s’est déroulé comme prévu.

Maintenant, il ne reste plus qu’à trouver d’autres actions à réaliser fréquemment. Il peut s’agir d’une sauvegarde de la base de données ou d’autres constructions plus sophistiquées.