[Migration] Étape 1 : Serveur et environnement de travail

Il faut bien commencer quelque part ! Et il me fallait donc un serveur qui tienne la route sans pour autant exploser mon budget (qui n’existe d’ailleurs pas…).

 

Le serveur

J’ai démarré l’aventure du web avec la mise en ligne de ma première station météo et ça date de quelque part en 2012… D’abord hébergé sur une page perso Orange, puis rapidement chez 1&1, et depuis maintenant quelques années sur des VPS OVH. J’ai toujours été satisfait de mes VPS OVH.
Mais aujourd’hui j’ai besoin d’un peu plus de performances, enfin surtout besoin de m’assurer que je puisse disposer de ces performances 24h/24. Il me fallait donc un dédié ! Le VPS c’est top, mais Météo06 grossit comme déjà expliqué, et mon envie de toujours aller plus loin aussi.

OVH est malheureusement trop cher, Online m’a convaincu avec un XC 2016 SSD, c’est parti pour continuer l’aventure chez Online 😉

Specs d'un serveur Dédibox XC 2016 de chez Online.net
Specs d’un serveur Dédibox XC 2016 de chez Online.net

 

On a un donc un serveur tout neuf tout propre sur Debian 9. Il faut maintenant tout réinstaller… enfin pas vraiment, je compte me servir de Docker pour isoler certaines choses… et ce n’est pas gagné !

 

La migration du blog

La première étape c’est donc de migrer le blog sur lequel est écrit cet article. Vu qu’il a justement été conçu dans le but de faire mes débuts sur Docker, YaPluKa !

Sur mon VPS OVH (que je vais donc couper une fois la migration effectuée) je fais une sauvegarde de la BDD et des fichiers WordPress qui sont stockés dans un volume et non dans le container.

Pour la BDD :

docker exec DATABASECONTAINER /usr/bin/mysqldump -u DATABASEUSER --password=DATABASEPASSWORD DATABASE > backup.sql

Pour les fichiers, je ne me suis pas embêté pour le coup, une copie en FTP chez moi (et ouai j’ai la fibre 😛 ). J’aurais aussi pu faire une archive et la transférer avec scp par exemple. Ensuite j’ai renvoyé tout ça sur le nouveau serveur Online.

Une stack Nginx-proxy avec Let’s Encrypt en déploiement auto pour chaque nouveau container, et une stack WordPress et MariaDB, ça été vite fait (avec les points de montage des volumes vers les fichiers WordPress restaurés entres autres).

NB : seule chose sur laquelle j’ai galéré c’est pour faire fonctionner une IP failover. On est sur du Debian 9 et la gestion de l’interface Eth0 a changé, suffit de le savoir !
Mon « interfaces » ressemble donc à ceci :

/etc/network/interfaces
# The primary network interface
auto enpXXX
iface enpXXX inet static
address <adresse IP serveur>
netmask 255.255.255.0
gateway <passerelle>

auto enpXXX:0
iface enpXXX:0 inet static
address <IP FAILOVER>
netmask 255.255.255.255

Le « enpXXX » remplace le « eth0 » que l’on connaissait jusqu’à maintenant. « XXX » étant à priori aléatoire.

Merci @ionner pour m’avoir assisté dans ma recherche 😉

 

J’ai donc redéployé mon proxy Nginx et ensuite mon WordPress comme expliqué ici, fais le changement de DNS pour enfin arriver sur la page d’installation de WordPress. Il me suffisait alors de restaurer la base de données :

Pour restaurer la BDD :

cat backup.sql | docker exec -i DATABASECONTAINER /usr/bin/mysql -u DATABASEUSER --password=DATABASEPASSWORD DATABASE

 

Et c’est tout ! Mon blog refonctionnait alors comme avant. 😉

 

Bon et maintenant ?

Dans un premier temps il me faudrait quelque chose pour monitorer mes containers. Il faut que je puisse surveiller leur consommation, et consulter leurs logs assez facilement. Je voudrais tant qu’à faire quelque chose de graphiquement parlant avec une interface web, et sur lequel on puisse configurer des alertes ! J’ai entendu parler de Prometheus, Google/cAdvisor, et pleins d’autres… Quid de Rancher au milieu de tout ça ?..

Ensuite la gestion des mails ! J’ai besoin d’avoir des boites mails et j’ai des scripts qui surveillent les stations météo par exemple et m’envoie un mail en cas de soucis. Et j’ai besoin que mon WordPress soit capable d’envoyer des mails, ce qui n’est pas le cas pour le moment… Pour avoir déjà pas mal étudié la question, ça ne va pas être simple de tout faire fonctionner… à suivre !

 

 

Source :