J’avais envie d’en apprendre plus sur le fonctionnement de serveurs distants.

Pour faire ça, j’ai donc:

  • loué un serveur distant sur scaleway
  • acheté un nom de domaine sur ovh
  • développé un site en local sur mon ordinateur avec Jekyll (ce blog même)

Etape 1:

Il faut louer et configurer (on verra comment un peu plus bas) un serveur distant sur Scaleway.

Etape 2:

Il faut acheter un nom de domaine sur ovh.

Etape 3:

Il faut configurer son CNAME d’OVH.

Dans l’admin OVH, aller dans Domaines, cliquer sur le nom de domaine dans le menu à gauche et aller sur Zone DNS

Il faut ajouter une nouvelle entrée en cliquant sur le bouton +.
Domaine: www
TTL: on laisse vide
Type: CNAME
Cible: On colle le **public DNS** de notre serveur distant

Etape 4: on se connecte à son serveur distant

Il faut bien évidemment lancer son serveur distant.

Voici comment:

  1. Mettre sur le bouton ON dans l’admin Scaleway
  2. Lancer son serveur dans une console en local avec la ligne de commande ssh donnée par Scaleway (“Section “How to connect?”)

Une fois qu’on est connecté à son serveur distant, on peut s’amuser à naviguer dedans avec les commandes du terminal.

Etape 5: On installe un serveur Web

J’ai utilisé Nginx. Il suffit de l’installer en suivant les instructions du lien. Soit, avec ces lignes de commandes:

sudo apt-get update suivi de sudo apt-get install nginx

Dans le terminal, on peut aller voir ce qu’on vient d’installer en allant dans le dossier Nginx.

cd /etc/nginx

la commande ls liste tous les dossiers et fichiers présents, on trouve notamment:

  sites-available  sites-enabled  snippets

On peut aller voir le fichier default de sites-available. Je l’ai d’abord copié, puis j’ai accédé à ses données avec ces commandes:

cp sites-available/default ~/
cat sites-available/default

Ces informations m’indiquent que la route racine de mon serveur est:

root /var/www/html;

Je peux donc l’afficher dans mon navigateur via le public DNS de mon serveur distant. En attendant que la redirection d’OVH sur mon nom de domaine soit effective.

Pour pouvoir l’éditer si besoin, on peut le faire avec un éditeur de texte intégré au terminal, VIM par exemple:

vim sites-available/default

Bref, je vais dans mon dossier: cd /var/www/html/

et en lisant le fichier qui est dedans, je vois que c’est effectivement la page de bienvenue de l’installation Nginx, qui est à la racine.

/var/www/html# ls
index.nginx-debian.html

Je peux mettre n’importe quel texte dans index, et l’afficher à distance sur mon serveur distant.

  rm index.nginx-debian.html
  cat > index.html
  <h1> hello </h1>

En rafraichissant mon navigateur, je vois bien Hello. Ce que je veux maintenant c’est d’avoir mon site affiché à cet endroit plutôt que Hello

Etape 6:

Depuis mon terminal, je vais donc en local sur mon site, et c’est cela que je vais pusher sur mon serveur distant, à l’endroit qui m’intéresse.

NB: Bien sur, là je mets mon site à la racine du serveur, ce qui veut dire qu’il faudrait faire une configuration différente si j’avais plusieurs sites auxquels j’aimerais accéder sur mon serveur.

Pour le moment, j’ai préféré aller au plus simple.

Pour ca, j’utilise l’utilitaire SCP et je copie mon local vers mon serveur distant:

scp -r ./MON_DOSSIER_LOCAL/* root@PUBLIC_IP:/var/www/html/

Voilà mon site est maintenant public.

next steps

  • La prochaine étape sera de configurer mon github pour que la mise à jour de mon contenu soit automatisée avec mes push sur mon repo Github.

Updated: