L'autohébergement

De Wikisisar
Aller à : navigation, rechercher

Revenir en arrière : Sessions_De_Partage

Présenté par Corentin Bersot.

Cette présentation est une introduction au sujet de l'autohébergement, c'est à dire à la mise en place d'un serveur personnel chez-soi ou chez un hébergeur.

Introduction

Qu'est ce qu'un serveur ?

Est désigné comme serveur, toute machine recevant des requêtes d'un client. Un serveur n'initialisera ainsi jamais de connexion et toute ouverture de session sera entrante.

L'utilité d'avoir un serveur

Que ce soit pour une utilisation en réseau local ou en ligne, les utilisations sont multiples. Nous pourrons citer, par exemple :

  • L'hébergement de site, pour héberger un simple blog personnel ou pour mettre en place un site vitrine pour son profil ou un projet.
  • Le stockage de fichiers en lignes dans un cloud personnel.
  • La mise en place d'un serveur de jeux (Minecraft, CS GO, …)
  • L'installation d'un VPN

Les solutions

Locales

Un PC personnel

Solution basique et peu chère, l'achat de l'ordinateur étant souvent déjà fait, c'est malheureusement la moins pratique car un serveur demande d'être allumé de manière continue, une condition qu'un ordinateur personnel ne remplit pas forcément.

Une Raspberry (ou PC sans écran)

Cette solution est différente de la précédente car on parle plutôt d'une machine branchée dans le coin d'une pièce sans besoin d'afficher quoi que ce soit. Pour cela, on peut soit utiliser une simple tour, en recyclant un pc qui n'est plus utilisé, ou alors utiliser une Raspberry Pi.

Aucun lien avec un quelconque dessert, une Raspberry PI est un nano-ordinateur de la taille d'une carte de crédit. Équipée d'un processeur ARM quadricœur cadencé à 1.2GHz, elle possède une puissance largement suffisante pour un petit serveur personnel et ce pour un prix de 40€.

L'ouverture de ports

Comme dit précédemment, les clients ont besoin de se connecter à votre serveur. Or, si le vôtre se trouve chez vous (ce qui est le cas pour une solution locale), il y a de fortes chances pour que votre box internet refuse les connexions qui voudront accéder à votre machine. D'autant que l'ip que vos utilisateurs rentreront sera celle de votre box et non de votre pc, la box aura donc également besoin de savoir vers quelle machine du réseau local il faut rediriger la requête.

Il va donc falloir régler ce problème en mettant en place une redirection de port (également appelé : routage NAT).

La mise en place de la redirection est très facile et de nombreux guides existent, pour chaque opérateur et chaque box, pour pouvoir effectuer la procédure. De manière général, il suffit de se connecter à l'interface de votre box (la manière de procéder se trouvant facilement sur le web), dans la partie “redirection de port” ou “routage NAT” et de remplir au minimum 4 champs :

  • Port externe : C'est le port auquel se connecteront les clients. Pour un serveur http nous mettrons 80.
  • Protocole : Vous aurez le choix entre UDP et TCP. Pour résumer vulgairement, l'UDP est fait pour des connexions non fiables mais qui demandent du débit (le streaming de vidéo, par exemple, la perte de paquet entrainant au pire un petit pixel en moins). À contrario, le TCP est fait pour des connexions fiables (la connexion a un site web, par exemple, il serait embêtant que votre mot de passe ne parvienne pas en entier au site auquel vous voulez accéder).
  • Destination : C'est l'adresse IP locale de votre serveur.
  • Port de destination : C'est le port vers lequel sera redirigé la requête sur vote serveur. Dans une grande majorité de cas, ce sera le même que le port externe.

Distantes

Louer un serveur VPS, web ou dédié

Une solution distante, c'est à dire hors de votre réseau local, peut également être une solution parfaitement viable. C'est rapide à mettre en place, comptez une vingtaine de minutes, grand maximum, entre le moment où vous le choisissez sur le site de l'hébergeur et le moment où il vous est livré. C'est également appréciable car elle vous permet de ne pas vous inquiéter de la disponibilité de votre serveur, l'hébergeur garantissant une connexion stable et une maintenance rapide à la moindre défaillance physique.

Les offres se présentent en trois catégories :

  • VPS (Virtual Private Server) : Peu puissante mais peu couteuse, votre machine sera alors une machine virtuelle tournant en parallèle d'une dizaine d'autre sur un serveur physique. Équivalent à si c'était votre propre serveur, tous vos logiciels devront être installés à la main. Comptez entre 3€ et 10€ hors taxe par mois pour en louer un. Malgré sa puissance limitée, elle reste suffisante pour un petit serveur web, cloud ou vpn.
  • Serveur dédié : Puissant mais coûteux, ici tout le serveur physique est à vous et la puissance totale de la machine est donc disponible. Utile pour des usages plus lourd que pour un VPS (Serveur de jeux ou hébergement de plusieurs sites générant beaucoup de trafic), comptez 10€ à 20€ hors taxe par mois pour les premiers prix.
  • Web : Parfait pour n'héberger que des sites, ces offres vous permettent de ne pas vous préoccuper de toutes les étapes d'installation de logiciels type serveur web et base de données. La location d'un nom de domaine vous est même offerte la première année. Pour ces offres, les prix vont de 1,50€ à 40€ HT/mois (les offres conseillées en terme de service et stockage commençant dans les 6€ HT/mois). La location du nom de domaine vous coûtera 8€/ans pour un .fr.

Les logiciels utiles

Dans cette partie nous aborderons tous les logiciels ou services qu'il est utile de connaître.

Accéder à son serveur

Pour accéder aux fichiers et à la console de votre serveur, deux types d'accès vous seront donnés par votre hébergeur :

FTP (File Transfer Protocol

Protocole de transfert de fichiers communiquant sur le port 21, ce service vous permettra d'accéder aux fichiers de votre serveur de la même manière que vous le feriez pour accéder aux fichiers de votre pc.

Comme logiciel client, peuvent être cités : WinSCP FileZilla MobaXTerm

SSH (Secure SHell)

Protocole réseau de chiffrement communiquant sur le port 22, ce service vous permettra principalement d'initialiser une session sécurisée vers la console de votre serveur comme si vous ouvriez un terminal sur votre machine locale. “Principalement”, car la fonction première du protocole ssh est de créer une tunnel sécurisé entre deux machines et ainsi chiffrer les échanges d'autre protocole (Comme FTP par exemple, qui prendra alors le nom de SFTP pour SSH File Transfer Protocol.

Comme logiciel client, peuvent être cités : Putty et MobaXTerm également.

Web

Si vous voulez mettre en place un site web et même si vous commandez une offre web (c'est à dire avec toute l'étape d'installation des logiciels effectuée par votre hébergeur), ce sont des termes que vous allez croiser, c'est pourquoi il est important de les connaître.

Serveur Web

Le serveur web est le logiciel qui va tout simplement renvoyer la bonne page internet au client qui se connectera à votre site.

Deux logiciels se partagent principalement le marché :

  • Apache : Le plus vieux des deux, il est plus simple à configurer que Nginx et de nombreux guides sont disponible en ligne pour apprendre à mettre en place son premier serveur Apache.
  • Nginx : Plus récent, il est plus optimisé qu'Apache grâce à une meilleur utilisation des processeurs multicœurs. Des guides existent également pour le configurer si vous vous sentez l'envie de commencer directement avec lui.

Base de données

Car il va bien falloir stocker les données de vos utilisateurs quelque part, il sera nécessaire d'avoir un logiciel de base de données, qui vous permettra (via le langage SQL) de ranger les informations de vos utilisateurs/articles de blog/commentaires/autres dans des tables.

Plusieurs logiciels existent :

  • MySQL : Le plus populaire et le plus utilisé.
  • PostgreSQL : Le plus compatible avec le langage SQL et opensource.
  • SQLite : Le plus souhaitable pour les petites configurations, il reste très puissant.

Il existe assez peu de différences entre ces logiciels pour un usage basique. Il est juste intéressant à noter que SQLite a uniquement besoin d'un simple fichier de base de données pour fonctionner, tandis que MySQL et PostgreSQL agissent comme des serveurs, c'est à dire qu'il faudra informer un utilisateur, un mot de passe, une ip et un port pour vous connecter.

VPN

Pour le VPN, je vous conseille tout simplement le très bon tutoriel de Korben : Comment s'installer un petit VPN maison quand on n'est pas un gros barbu.

Cloud

Les solutions cloud vont vous permettre de stocker et de synchroniser en ligne tous vos fichiers, comme ce qui se fait avec Google Drive ou DropBox.

Owncloud / Nextcloud

Créé sous le nom de Owncloud, toute l'équipe a depuis quitté le projet pour le continuer sous le nom de Nextcloud. Les deux logiciels sont ainsi grandement similaires. Ils permettent la synchronisation de fichier sur toutes les plateformes (GNU/Linux, Windows, Mac, iOS, BlackBerry, Android). Une interface web est également disponible pour accéder à vos fichiers depuis un navigateur.

CozyCloud

Développé par des français, Cozycloud est un logiciel sorti en 2013.

Actuellement compatible uniquement sur GNU/Linux et Android, il permet, en plus de la synchronisation de fichier, de synchroniser également vos contacts, vos évènements et de faire des sauvegardes automatique de vos photos. Comme pour Nextcloud et Owncloud, une interface web est disponible et une démo est accessible en ligne.