L’auto-hébergement y a pas plus simple. Sauf lorsque c’est compliqué…

L’auto-hébergement, un terme qui fait peur pour tous les non initiés. Il faut dire que même en s’y connaissant un peu en informatique on est pas à l’abri de quelques emmerdes lorsque l’on tente cette aventure. Il n’y a que très peu de logiciel à installer et de manipulations à faire mais comme la plus part touchent à des choses obscures (réseau, bases de données, service de mailling), ça peut vite devenir le parcours du combattant.

Ayant moi même parcouru récemment ce sentier pour pouvoir écrire ces lignes, je vous propose un petit tuto de noob à noob :p


Étant sur Raspberry pi je vais énoncer la procédure générale à suivre ainsi que le matériel nécessaire pour toutes les installations d’auto-hébergement, puis la procédure et le matériel spécifique à la Raspberry pi (en vert). A vous d’adapter tout ça à vos besoins même si dans les grandes lignes c’est la même chose.

Prêt? Commençons !

Le matériel (harware):

Le corps du serveur:

Même si il existe des serveurs à proprement parler, il est tout aussi possible d’utiliser des tours d’ordinateur laissées à l’abandon. Le propre d’un serveur est que nous attendons de lui seulement qu’il tourne tranquillement dans un coin. Pas besoin de carte graphique ou de carte son extrêmement puissante, et dans l’absolu, à part sur du très gros serveur ou dans des cas particuliers, pas besoin non plus d’un processeur super violent. N’hésitez donc pas à récupérer une vieille tour, ça vous fera ça de frais en moins.

Pour résumer, afin de constituer le corps de votre serveur vous avez le choix entre un serveur à proprement parler ou une tour d’ordinateur traditionnelle.

L’accès à internet:

Il vous faudra au minimum que votre corps de serveur ai la possibilité d’accéder à internet (Ethernet ou Wifi).

Les périphériques:

Même si ils ne sont nécessaires que pour la mise en place assurez-vous qu’il puisse aussi accueillir au moins un écran et un clavier, c’est-à-dire qu’il dispose d’au moins deux emplacements pour périphériques (USB, HDMI, VGA, Bluetooth, ps2).

L’espace de stockage:

Il faut aussi qu’il dispose d’un espace de stockage pour lancer son système d’exploitation et stocker tout le reste (disque dur interne, disque dur externe, clé USB, carte SD ou micro SD).

Vous me direz que tout cela va de soit, mais je préfère le préciser avant de commencer.

Pour mon corps de serveur j’ai donc décidé d’utiliser une Raspberry pi 3 modèle B, avec un vieil écran d’ordinateur, par conséquent il m’a fallut en plus un adaptateur VGA/HDMI pour relier les deux. J’ai aussi un clavier assez vieux qui se branche en USB, et mon espace de stockage primaire est une carte micro SD de 8GO.

Les logiciels (software):

Choisir son système d’exploitation:

La on s’attaque à un sujet délicat qui a fait couler beaucoup d’encre (et usé pas mal de pixels), je serait donc bref. Utilisez Linux ! *esquive les projectiles Windowsiens*

I) Linux ou rien:

Pourquoi un avis si tranché me direz-vous. Tout simplement car Windows est un système d’exploitation lourd, propriétaire, et que son utilisation intuitive des versions passées n’est plus d’actualité depuis Windows 8.  Et que vous familiariser avec Linux pour gérer votre serveur vous aidera peut-être à quitter Windows définitivement.

Personnellement je ne crache pas entièrement sur Windows car beaucoup de jeux n’existent que sur ce dernier et pas sur Linux, même si la tendance actuelle tend à une amélioration de ce côté là.

Quoi qu’il en soit, Linux est plus adapté pour une utilisation serveur (il existe même des versions sans interface graphique), alors je déclinerai seulement la procédure à suivre que sur ce type de système d’exploitation (oui je vous force la main è_é).

II) Choisir sa distribution Linux:

Même si nous avons tranché dans le vif en choisissant Linux comme système d’exploitation, nous ne sommes pas sorti d’affaire pour autant. En effet, il existe une multitude de distribution basé sur Linux et les détailler ici prendrai trop de temps. De plus, je ne les ai pas toutes testées et ça m’ennuierai que vous ayez à me croire sur parole pour vous décider. Je peux cependant vous dire de porter votre attention sur la communauté qui entoure chaque distribution car plus elle est grande et plus vous serait susceptible de trouver de l’aide en cas de problèmes, ainsi que leur optimisation et leur poids en fonction du corps de serveur que vous avez choisi (ne pas mettre une distribution trop lourde sur un corps de serveur trop vieux).

A vous maintenant de choisir votre distribution, on se retrouve après 😉

Personnellement j’utilise la distribution Rasbian qui est la distribution développée spécialement pour la Raspberry pi. Elle dispose d’une interface graphique ce qui est intéressant pour réaliser une manipulation que je n’arrive pas à faire en ligne de commande ou si je veux utiliser ma Raspberry pi comme un ordinateur traditionnel en plus de son rôle de serveur, l’encombrement de cette dernière étant quand même un avantage pour l’emmener partout.

Installer son système d’exploitation:

*Un moment après*

Nous revoilà avec notre distribution adaptée à nos besoins et à notre serveur. Il va maintenant falloir l’installer et pour cela il est nécessaire de rendre un support (CD, USB, SD, micro SD) amorçable, cela signifie que notre support va permettre l’installation de notre système d’exploitation au démarrage de notre serveur. On dit « booter » au démarrage.

I) Rendre son support amorçable:

Le choix du support utilisé va dépendre de vous, même si parfois certaines machine vous imposeront un support plutôt qu’un autre en fonction de leurs ports ou de leur caprices. Personnellement j’utilise souvent une clef USB.

Une fois votre support choisit il vous faudra vous procurer un logiciel d’amorçage tel que Rufus (sans installation et simple d’utilisation), que j’utilise et dont nous allons nous servir dans ce tuto.

Libre à vous de vous en procurer un autre cependant sachant que Rufus ne rend pas amorçable les CD mais seulement des périphérique USB, SD et micro SD. Si vous souhaitez tout de même booter sur CD je vous laisse chercher sur internet, vous trouverez rapidement votre bonheur.

Revenons à nos mouton. Si ce n’est pas déjà fait, téléchargez donc votre logiciel d’amorçage, puis après avoir inséré le support que vous voulez rendre amorçable, lancez le logiciel.

Voici ce qui devrait s’afficher à votre écran si vous avez choisi Rufus:

Si tout se passe bien, la première ligne 1 devrait afficher automatiquement le périphérique (votre support) que vous avez insérez. Si ce n’est pas le cas cliquez sur la flèche en fin de ligne pour le sélectionner manuellement.

A moins que vous sachiez exactement ce que vous voulez ou que votre machine nécessite un amorçage spécifique, je vous recommande de laisser par défaut les lignes 2, 3 et 4.

Si le cœur vous en dit, par praticité ou par esthétique, vous pouvez renommer votre périphérique grâce à la ligne 5.

La ligne 6 quand à elle vous permet de vérifier si l’amorçage s’est fait correctement. Utiliser cette option rallonge considérablement le temps d’amorçage mais permet plus de sécurité quand à la qualité de votre d’amorçage de votre périphérique. Une passe suffit généralement.

La ligne 7 permet de formater rapidement le périphérique avant de le rendre amorçable. Là encore, à part pour certains cas particuliers, cochez cette ligne.

A la ligne 8 il vous faudra cliquer sur l’icône . Il vous faudra sélectionner le fichier de votre système d’exploitation (surement au format .ISO). Dans le cas où aucun fichier ne serait présent à l’emplacement où il le devrait, sélectionner « Tous les fichiers » ici:

Le format devrait se sélectionner tout seul, laissez donc le champ suivant tel quel une fois votre fichier sélectionné.

Enfin, la ligne 9. Je vous avoue que je sais pas vraiment à quoi elle sert, alors je préfère rien dir eplutot que de dire des conneries.

Il ne vous reste plus qu’à appuyer sur « Démarrer », puis à patienter.

Félicitation, si tout s’est bien passé vous êtes maintenant en possession d’un périphérique bootable !

Pour la Raspberry pi, j’ai dus rendre directement bootable la carte micro USB qui me sert de stockage. C’est une particularité de la Raspberry pi de booter directement sur le périphérique de stockage.

II) Lancer l’installation:

J’ai envie de vous dire que le plus dur est fait, mais ça serait mentir.

Il vous reste maintenant à insérer votre périphérique sur votre machine, et à prier pour que tout se passe bien. Si tout roule, vous n’aurez qu’à suivre les instructions de l’installation.

/!\ Spécificité de la machine:

Hélas, il est fort probable que tout ne se passe pas comme sur des roulettes et que l’on ne vous propose pas de lancer l’instalation. Si jamais ce cas de figure venait à se présenter, je vous invite à vous renseigner sur internet à propos de la marche à suivre en fonction de la machine, voir du système d’exploitation actuellement présent sur la machine, que vous utilisez.

/!\ Spécificité de la distribution:

Une autre source de questionnements à laquelle vous êtes susceptible de vous heurté est la spécificité de la distribution choisie. Pour palier à cela, rendez-vous sur la page officielle où vous avez téléchargez votre distribution, vous y trouverez sans doutes la marche à suivre lors de l’instalation.

Désolé de vous laisser dans la merde en cas de problèmes, mais les machines et les distributions sont tellement nombreuses qu’il serait trop long d’apporter une solution à chaque configuration. Peut-être un jour serai-je en position de vous en dire plus et d’éditer ce tuto, mais pour l’instant ce n’est pas le cas.

L’avantage de la Raspberry pi c’est qu’elle est vierge et que rasbian est idéalement pensé pour s’installer sans problème sur cette dernière. Je n’ai donc pas eu de soucis cette fois-ci.

On se retrouve une fois votre système d’exploitation installé pour la suite de notre aventure.

S’approprier Linux c’est savoir lire de la doc:

Avant d’aller plus loin, je souhaiterai attirer votre attention sur quelque chose de très important avec Linux, la documentation.

Si vous n’en avez pas l’habitude il va falloir que vous commenciez à lire de la documentation qui traite des logiciels que vous utilisées afin d’en connaitre les différentes commandes. Le point fort de Linux est sa console. Négliger cet atout serait une erreur.

Nous allons bientôt passer à l’instalation et la configuration des différents logiciels nécessaires à notre serveur et nous allons le faire grâce à la console, alors prenez le temps de découvrir un peu la bête.

Un excellent cours pour découvrir linux et ces basiques de fonctionnement est « Reprenez le contrôle à l’aide de Linux ! » de l’excellent site Openclassrooms (anciennement « le site du zéro »), notamment la partie « RTFM : lisez le manuel ! », « La console, ça se mange ? », et « La connexion sécurisée à distance avec SSH » qui pourraient vous apporter quelques conseils avant de continuer.

Libre à vous d’y jeter un œil ou, si vous préférez, de recopier les commandes bêtement. Mais administrer un serveur en se contentant de recopier ce que font les autres risque vite de vous apporter quelques problèmes.

/!\ N’étant pas un expert, et devant la diversité des problèmes que l’on peut rencontrer lors d’une installation web, je ne vous donnerai ici que très peu d’info sur comment les résoudre. Il vous faudra chercher par vous même. Vous pouvez tout de même me poser des questions via les commentaires, je tâcherai d’y répondre si nécessaire. /!\

Les logiciels standards:

Si vous en êtes à lire ces lignes c’est que vous avez fini par réussir à installer et configurer votre distribution et que vous avez déjà fait une rencontre avec la console. Bravo, le plus dur est derrière vous.

Nous allons maintenant installer les logiciels essentiels à l’utilisation de notre serveur.

A chaque commande j’essayerai de vous indiquer la documentation associée afin que vous puissiez comprendre ce que l’on fait et que vous puissiez éventuellement corriger certains problèmes qui pourraient survenir au cours des manipulation. Dans un soucis de polyvalence, je vous mettrai la documentation Ubuntu qui est très bien faite et claire.

Les logiciels exposés ici sont ceux les plus couramment utilisés pour ce genre d’installation, encore une fois libre à vous de chercher des alternatives.

C’est partie, ouvrons la console.

I) Mettre a jour son système:

[La commande « aptitude« ]

Nous allons commencer par mettre à jour la liste des paquets:

sudo aptitude update

Puis nous allons mettre a jour les paquets déjà  installés sur notre machine:

sudo aptitude safe-upgrade

/!\ Je pars du principe que vous avez utilisez la dernière version disponible de votre distribution. Dans le cas contraire une mise à jour plus complète peut-être nécessaire:

sudo aptitude full-upgrade

II) Apache:

Apache est un serveur web mais côté logiciel cette fois-ci.

[Doc: Apache]

Afin de l’installer il nous suffit de rentrer cette commande:

sudo aptitude install apache2

Une fois cela fait, nous allons vérifier que apache fonctionne bien en tapant  cette adresse « http://127.0.0.1 » dans notre barre de votre navigateur web (il vous faudra donc une interface graphique).

Si vous voyez s’afficher une page avec plein de blabla dont « It works! » c’est que c’est tout bon.

III) PHP:

Si votre objectif est de monter un site en HTML / CSS / JavaScript, vous pouvez vous arrêter là. En effet, il vous suffira d’ajouter le répertoire de votre site dans /var/www/html/. Cependant, si vous souhaitez pousser un peu plus loin l’expérience en rajoutant du PHP sur votre site, il vous faudra l’installer. Ça tombe bien je suis d’humeur à vous montrer comment 😉

[Doc: PHP]

Pour installer PHP:

sudo aptitude install php5

On vérifie ensuite si ça à bien fonctionné. Pour cela il vous faudra supprimer le fichier « index.html » qui se trouve en /var/www/html/, puis créer une nouveau fichier du nom « index.php » qui contiendra cette ligne « <?php phpinfo(); ?> ».

Nous avons donc ces deux commandes:

sudo rm /var/www/html/index.html

echo « <?php phpinfo(); ?> » > /var/www/html/index.php

Enfin, on retourne sur notre page « http://127.0.0.1 » sur laquelle devrait s’afficher encore du blabla
mais cette fois avec « PHP » écrit en gros. Ça fonctionne? Parfait !

IV) MySQL:

Passons maintenant à l’installation d’un gestionnaire de base de données. Cela va nous servir à stocker des informations et nous sera crucial pour installer de futur structures comme un WordPress ou un forum par exemple.

Nous allons utiliser MySQL.

[Doc: MySQL]

Installation et lien avec PHP:

sudo aptitude install mysql-server php5-mysql

Il va vous être demandé de renseigner un mot de passe. N’oublier pas de le noter en lieu sûr.

Comme une fois n’est pas coutume, nous allons vérifier (encore) que tout fonctionne.

Tapez ceci:

mysql –user=root –password=votre_mot_de_passe

Si tout est ok vous devriez voir se modifier votre console dans ce genre:

mysql>

Il ne vous reste qu’à taper « exit » pour revenir à la normale.

Votre serveur web est maintenant opérationnel.

V) PHPMyAdmin:

Petite parenthèse ici.

Beaucoup de tutos concernant les serveur web conseillent l’installation de PHPMyAdmin qui aide tout simplement à gérer ses base de données.

Personnellement j’ai eu beaucoup d’emmerdes avec son installation et sa configuration pour peu de bénéfices en terme de clarté. Je préfère donc m’en passer et vous encourage à optimiser votre utilisation de MySQL pour ne être dépendant de PHPMyAdmin.

Si malgré tout vous préférez l’installer voici la donc associée: [Doc: PHPMyAdmin]

Les dernières manip’ qui vont bien:

C’est bien d’avoir un serveur web qui fonctionne, mais pour l’instant il n’est qu’en local. Rageant n’est-ce pas? :p

Identifier ses adresses ip:

I) IP public:

Ip Public est l’identifiant de votre ordinateur que voit les autres ordinateurs sur internet. Toutes les machines de votre réseau on l’a même par défaut.

On va commencer par se renseigner sur notre adresse ip public. Afin de savoir quelle est votre ip public et si elle est ou non fixe c’est par ICI.

/!\ A l’heure où je vous parle je n’ai jamais eu le problème d’une adresse public dynamique, de ce fait si c’est votre cas, je vous laisse à vos recherches une fois de plus (je suis pas sympa, je sais…).

Si par contre votre ip publique est fixe c’est nickel. Notée là dans un coin on s’en servira plus tard.

II) IP machine:

Ip machine est l’identifiant propre à votre machine. Elle permet d’identifier distinctement une machine sur votre réseau.

Afin de connaitre notre adresse machine on va faire retourner à la console et taper ceci:

ifconfig

Plusieurs infos sont renvoyées.

Celle qui nous intéresse ici est « inet adr » Qui devrait se présenter sous la forme 192.168.x.x . C’est l’adresse ip de votre machine. Notez là.

/!\ Dans certain cas, comme pour la Raspberry pi, certaines machines changent d’ip de manière automatique. Si des problèmes d’accessibilité à votre site surviennent une fois les toutes les manipulations de ce tutoriel effectuées, pensez à regarder une nouvelle fois votre ip machine. Si celle-ci se trouve être différente de celle noter la première fois, alors il va falloir la fixer.

  • Pour la Raspberry Pi la marche à suivre est ICI
  • Pour les autres machines va falloir chercher en fonction de votre matériel. /!\

Redirection du port 80:

Maintenant que nous connaissons nos différentes adresse ip, il va falloir orienter les requêtes vers notre machine. Il va falloir vous connecter à votre box.

Pour SFR et Orange il suffit de se rendre à cette adresse: http://192.168.1.1

Pour les autre box je vous laisse le soin de vous renseigner sur internet ou auprès de votre FAI.

Une fois dans l’interface de votre box cliquez sur « NAT » Vous devriez tomber sur quelque chose se rapprochant de ceci:

  1. Permet de nommer la redirection, mettez ce que vous voulez.
  2. Sélectionnez « TCP ».
  3. Sélectionnez « Port ».
  4. Indiquez « 80 ».
  5. Indiquez l’adresse ip de votre machine.
  6. Indiquez « 80 ».
  7. Cochez la case.
  8. Validez.

Une fois tout cela fait votre serveur devrait être accessible depuis internet grâce à votre ip public. Même si cela est suffisant pour certaines installations, il se peu que vous vouliez un nom de domaine pour créer votre site internet par exemple.

Associer un nom de domaine:

Beaucoup de tutos sont disponibles sur le sujet sur internet. Encore une fois je vous laisse farfouiller pour comparer les offres et acheter votre nom de domaine comme des grands.

/!\ Puisque vous vous auto-hébergé il faut juste acheter un nom de domaine et nom pas une offre d’hébergement /!\

Une fois cela fait il vous faudra cependant associer votre nouveau nom de domaine à votre ip public.

Pour ce faire rendez-vous sur l’interface du site où vous avez achetez votre domaine puis cliquez sur votre domaine et chercher « Zone DNS ».

Cela devrait faire apparaitre un tableau dans lequel vous trouverai une colonne « Type ».

Dans cette colonne cherchez la ligne de type « A » et éditez la en y indiquant votre ip public dans la zone « cible ».

Il ne vous reste plus qu’à attendre pour voir si cela à fonctionné en vous rendant sur votre nom de domaine qui ne devrait pas tarder à être accessible (48h max).

 **** ====> Bravo vous avez enfin fini  <==== ****

 

Voila qui clos mon premier gros tutoriel. J’espère qu’il sera assez clair, pas trop compliqué, et qu’il vous aura aidé. Si vous avez des questions n’hésitez pas à les poser via les commentaires, je tâcherai d’y répondre du mieux que je peux. Les suggestions sont aussi les bienvenue pour m’aider à étoffer ou éditer ce tutoriel si besoin.

Sou_Néant.

Laisser un commentaire

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