Comment monter un serveur web pour héberger ses sites internet chez soi

Les possibilités techniques offertes par les NAS actuels et leur simplicité d’utilisation ont permis de développer la pratique de l’auto-hébergement. La généralisation de la fibre optique chez les particuliers a également offert un contexte favorable au développement de services auto-hébergés comme la possibilité de monter un serveur web, avec une bande passante et des débits ascendants (upload) supportant de multiples connexions simultanément. Je vous partage mon retour d’expérience suite à l’acquisition d’un NAS Synology…

Quel équipement (et à quel prix)?

  • Un NAS Synology DS2018+ équipé de 2 disques WD Red de 4To + Activation du package Mailplus Server (600 euros)
  • Une connexion Bbox fibre optique (37 euros / mois)
  • Une Raspberry Pi, modèle 2B (55 euros avec carte mémoire)
  • Votre nom de domaine (loué chez OVH ou Gandi? Une 10e d’euros / an)

L’IP fixe, préférable pour héberger vos sites web

La plupart des fournisseurs d’accès à internet la propose, mais vérifiez bien que votre IP internet soit fixe. En effet, le nom de domaine de votre site qui ira pointer sur votre serveur au domicile devra connaitre l’adresse exacte. Si votre IP est dynamique, certains outils comme DynDNS pourront être utilisés.

La fibre optique, une nécessité

A moins d’héberger simplement un petit blog limité à votre famille, vous aurez très certainement besoin d’une connexion internet très haut débit pour pouvoir gérer de multiples connexions d’internautes qui viendront solliciter votre connexion internet, et votre NAS. Nul besoin de mentionner qu’une interruption internet chez vous rendra inaccessible vos sites internet, d’où la nécessité d’avoir une connexion de secours (au minimum adsl).

Le multi sites est possible via votre NAS Synology. Par défaut, vous pouvez installer le module wordpress sans trop de difficulté, mais attention, car la version supportée n’est généralement par la dernière (risques pour la sécurité ?)

La sécurité, votre priorité!

Héberger votre ou vos sites internet sur votre NAS veut également dire administrer un serveur Apache ou Nginx, des bases de données, des certificats SSL (pour ne pas impacter votre référencement), des redirections de ports sur votre routeur et votre NAS, des mises à jours régulières de vos packages et OS, et une gestion des droits d’accès et permissions de fichiers et dossiers (ah, le CHMOD…). Fort heureusement, certains NAS comme le Synologie simplifient grandement la mise en place de sites et blogs, comme par exemple la possibilité d’installer le célèbre CMS WordPress en quelques 10e de minutes (par contre, le package WordPress du Synologie ne propose que rarement la dernière version WordPress) . Pour du multi-sites, il vous faudra quelques notions en virtual hosts. Là encore, rien de rédhibitoire.

Pour ceux qui ne souhaitent pas investir dans un premier temps 600 euros ou plus dans un NAS, vous pourrez toujours vous tourner vers un mini-PC de type Raspberry Pi. Ayant en ma possession le modèle 2B, j’ai réussi à faire tourner un blog WordPress via la plateforme open source Yunohost sans grande difficulté. Voir ce tuto.

Sauvegarder ses données, la règle des 3-2-1

Pour assurer une sauvegarde sans compromis de vos données, il est recommandé de suivre la règle dite des 3-2-1, à savoir réaliser au moins 3 copies de sauvegarde de vos données, une active (celle de votre PC par exemple) et deux de back-up. Ces sauvegardes doivent être faites sur au moins 2 supports physiques distincts. Enfin, il est fortement recommandé d’avoir 1 sauvegarde de vos données hors site (en cas d’incendie, de dégâts des eaux, de vol, etc…). Sachez que les grands experts du cloud suivent des procédures similaires, avec des réplications de données dans des baies (appartenant au même site) et des fermes de serveurs appartenant à des sites distincts (appelés des régions). Certaines données sont répliquées 6 fois ou plus, sans parler de connexion internet garanties (SLA de disponibilité à 99,99%)

Rapporté à une situation chez un particulier, l’enjeu est quelque peu similaire, avec une connexion de backup nécessaire au cas où votre connexion internet ferait défaut, et la possibilité de restaurer vos données à distance en cas d’imprévu (crash de votre PC, hack de votre NAS…). La possibilité de sauvegarder vos données dans un cloud tierce est tentant, mais cela risque d’aller à l’encontre de l’objectif et de l’esprit de l’auto-hébergement.

En résumé, voici les éléments à prendre en compte pour mettre en place une solution de serveur web auto-hébergé:

  • Gestion des droits et permissions des utilisateurs, groupes, dossiers et fichiers qui peut s’avérer assez laborieux, même sur un NAS Synologie qui bénéficie d’une UI plutôt bien pensée
  • Avoir des notions pour administrer un serveur Apache ou Nginx, sécuriser les fichiers via les fichiers de configuration de type .htaccess, les versions php,
  • Administration du routeur pour redirection des ports
  • Assurer les mises à jour régulières du NAS, de votre CMS (wordpress dans mon cas), de votre serveur Apache
  • Éviter de faire tourner un serveur email qui servira surtout à envoyer des SPAM, sans quoi votre IP risque rapidement d’être blacklistée.

Envie d’aller plus loin? Je vous propose de voir comment monter un serveur email en auto-hébergement.

3 Comments

  1. Absi 10 mars 2020 at 4 h 49 min

    Bonjour,
    Merci pour votre l’info, mais j’ai une petite question, est ce que c’est légal en France d’héberger son site internet avec des publicités genre Adsense? c’est-à-dire pour un but commercial?

    Reply
  2. Clement Donzel 10 mars 2020 at 23 h 40 min

    Bonjour Absi. Je ne suis pas expert en droit mais je ne vois aucune raison qui pourrait vous interdire d’utiliser Adsense sur des sites en auto-hébergement, du moment ou vous respectez les conditions d’utilisation du service. Après, il me semble que Google vérifie la qualité du site et de l’hébergement (rapidité de chargement notamment) avant de valider la diffusion des publicités.

    Reply
    1. Absi 5 avril 2020 at 8 h 52 min

      Merci pour votre réponse

      Reply

Leave A Comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

13 − cinq =