← Retour

Comment héberger son blog Ghost avec Docker et Traefik en SSL - Partie 1.

~4 min

Héberger son blog sur un serveur dédié, avec docker, Ghost et Traefik. Le tout en SSL. Le set-up est pas simple, mais on apprends plein de choses pendant le voyage, et c'est ce qui compte non ?

Ce guide est clairement pour vous une super occasion de créer quelque chose depuis rien tout en apprenant beaucoup de choses.

Et oui, créer et héberger son propre blog en 2021, en utilisant des outils stylés c’est faisable à condition de suivre le guide, on peut vite se perdre.

Alors nous ici, on va se focus sur des outils que vous avez ptet déjà entendu parlé, mais vous n’avez jamais pris le temps d’y aller à fond, bah go on va y aller.

Nous allons travailler les outils et concepts suivants

  • Docker
  • Hébergement de serveur dédié (ou VPS)
  • Nom de domaine
  • Ghost
  • Traefik, SSL et DNS pour offrir tout ça au monde
  • Cloudflare

coding is my life
Photo by Abdelrahman Sobhy / Unsplash

Prenez un bon petit café ☕️ , votre laptop favoris on va passer 1h ensemble.

Hébergement

Nous allons partir sur un VPS de chez OVH (cocorico) pour faire simple et peu couteux. Il faut tout de même choisir un serveur qui peut faire tourner Docker.

  • Rendez vous sur votre serveur ou commandez en un à l’adresse suivante

VPS

  • Choisissez à l’installation une distribution Ubuntu LTS sur laquelle nous viendrons installer Docker.

Choisissez à l’installation une distribution Ubuntu LTS sur laquelle nous viendrons installer Docker.

Laissez vous guider par l’assistant OVH, et vous devriez recevoir par mail vos identifiants de connexion au serveur.

Nom de domaines

Maintenant que vous avez un serveur, vous allez aussi récupérer un nom de domaine pour votre blog. Imaginons que nous souhaitions héberger notre blog à l’adresse https://blog.toto.io

Pour ce tutoriel je choisi OVH également pour récupérer mon nom de domaine, rien de plus simple sur le site d’OVH dédié aux noms de domaine

Et choisissez votre nom de domaine en fonction de vos envies et votre budget.

Vous pouvez évidemment aller sur n’importe quel autre plateforme proposant l’achat d’un nom de domaine (Gandi, Google Domain, etc.)

Une fois votre domaine acheté vous devriez le voir apparaitre sur votre tableau de bord OVH. https://www.ovh.com/manager/web/#/configuration/domains

Conservez cette page ouverte dans un coin.

Bien joué ! Nous avons un serveur et un nom de domaine, ca c’est cool.

Installation du serveur

C’est là que les choses fun commencent.

Connexion à son serveur

Sortez votre plus beau client SSH (Putty sous windows par exemple) et suivez le guide proposé ici https://docs.ovh.com/fr/vps/debuter-avec-vps/#connexion-a-votre-vps-gamme-actuelle et revenez quand vous serez fièrement connecté a votre bébé serveur.

Installation de Docker sur le VPS

    $ sudo apt update

On commence par update le package manager de Ubuntu

    $ sudo apt install apt-transport-https ca-certificates curl software-properties-common

On ajoute quelques dépendance pour pouvoir récupérer l’installer de Docker

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Ici on récupère la clé pour pouvoir requête le repository Docker officiel

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

Enfin on ajoute le repository APT pour avoir le package Docker

    sudo apt update

On re met à jour APT maintenant que l’on a ajouté le repository Docker

    apt-cache policy docker-ce

On s’assure de bien installer Docker depuis le repository docker que depuis les sources par défaut de Ubuntu

    sudo apt install docker-ce

ET on installe enfin Docker

    sudo systemctl status docker

On vérifie rapidement que docker tourne effectivement

     docker.service - Docker Application Container Engine
       Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
       Active: active (running) since Thu 2018-07-05 15:08:39 UTC; 2min 55s ago
     Docs: https://docs.docker.com
     Main PID: 10096 (dockerd)
    Tasks: 16
       CGroup: /system.slice/docker.service
           ├─10096 /usr/bin/dockerd -H fd://
           └─10113 docker-containerd --config /var/run/docker/containerd/containerd.toml

Vous devriez voir apparaitre ce genre de sortie dans la console Pour plus d’infos, j’ai récupéré ces étapes sur le tutoriel de Digital Ocean qui est toujours une excellente source d’aide. Hésitez pas à bookmark leur site.

Installation de Docker-compose

Docker compose permet de gérer plus facilement les images docker sur votre serveur, on peut ainsi s’éviter de longues commande à taper dans le terminal. A l’inverse on va plutôt construire des fichier docker-compose.yml qui seront réutilisable et bien plus simple à gérer que des lignes de commandes à rallonge.

    sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

C’est reparti pour un tour, on récupère l’executable docker-compose

    sudo chmod +x /usr/local/bin/docker-compose

Et on attribue les droits d’execution

    docker-compose --version

Testez votre installation Et voilà !

J’ai trouvé ces commandes d’installation docker-compose sur le site de Docker, leur documentation est rarement simple, mais pour Docker-compose c’est compréhensible.

To be continued

Dans la partie deux on terminera tout cela ! Stay tuned, le plus difficile est à venir (ca donne envie hein)