Initiation au VPS : Découverte de Linux & Debian + Installation de TeamSpeak et d'un serveur web

DiscowZombie

Développeur
Staff
Modérateur
Support
2 Mars 2017
2 659
1
931
298
Alsace
www.discowzombie.fr
Bonjour à tous !

On se retrouve encore pour un autre tutoriel. Aujourd'hui nous allons apprivoiser Linux et plus précisément Debian 8 car ce tutoriel va s’intéresser à avoir un site web ainsi qu'un serveur Teamspeak sur un VPS ; tout ça rapidement et pour quelques euros par mois ! Je précise que ce tutoriel va être un peu plus difficile que ceux auxquels je vous aie habitués, mais si vous suivez bien, vous ne devriez pas avoir de soucis. Je précise également que je décide d'installer un site web et un serveur TeamSpeak mais vous pourriez très bien installer un serveur Minecraft ou d'autres choses, vous êtes libres !

Je vais découper ce tutoriel en 4 grandes parties :
  • la découverte de Linux & Debian 8,
  • une petite initiation au VPS (avec les commandes de bases),
  • l’installation de TeamSpeak,
  • l’installation du serveur web (apache2).

Prérequis :
  • connaître un minimum le fonctionnement des sites internet et des machines me semble indispensable,
  • des connaissances en anglais, indispensables, il vous faut comprendre un minimum l'anglais au risque d’être perdu avec les commandes,
  • Des connaissances en Unix et/ou dans les protocoles sont souhaitables mais pas indispensables,
  • De la logique et du bon sens.

Partie 1 : Linux et Debian :

Je précise que si vous êtes bien au point sur les machines Linux et sur les différentes commandes ainsi que leurs utilisations, vous pouvez passer à la troisième partie directement.

Mais que ce que Linux ?

Vous en avez peut-être déjà entendu parler (voire même utiliser), Linux est simplement un système d'exploitation, comme Windows (ou MacOS, par exemple). Il dispose de fonctionnalités assez similaires au premier abord.

Debian quant à lui est une distribution de Linux. Nous allons utiliser Debian car la gestion des commandes est relativement facile et notamment l'installation de paquets. Sachez qu'il existe plein d'autres distributions (et même des sous-distributions de Debian comme Ubuntu qui est devenue assez populaire).

Je passe très rapidement sur l'explication de Linux et Debian pour ne pas faire un tutoriel illisible car trop long, cependant, voici un liens pour approfondir tout ceci : https://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux/mais-c-est-quoi-linux.

Maintenant que nous avons posé les bases, il va falloir se procurer une machine. Évidemment vous pouvez l'acheter physiquement, mais ce n'est pas le cas que nous allons privilégier : nous allons acheter un VPS. Mais que ce qu'un VPS aller vous me demander ? C'est justement le sujet de la seconde partie !

Partie 2 : Initiation au VPS :

Concrètement un VPS est une machine virtuelle installée sur une machine physique. Un VPS pourrait s'apparenter à une partie d'un ordinateur, ou plutôt à un utilisateur de cet ordinateur. Lorsque vous êtes locataire d'un VPS (vous le payé pour une certaine durée → donc vous en être « locataire »), c'est comme si vous aviez un second ordinateur et que vous étiez un utilisateur de ce dernier. Vous pouvez donc l'allumé, l'éteindre, installé des programmes,... tout ce que vous voulez tant que vous restez dans les limitations de votre machine. Les limitations sont définies à l'achat, à savoir : la mémoire vive (= RAM), le stockage, etc...

Cependant, lorsque l'on parle de VPS sous Debian, il ne faut pas penser à avoir une belle interface graphique, les VPS sous Debian (et sous les autres distributions d'ailleurs), se contrôlent grâce à une console et des commandes, comme ça :
debian_arm_qemu_console.png



Ne prenez pas peur, les commandes sont relativement simples du moment où vous comprenez un minimum l'anglais et je vais un maximum vous accompagner pour rendre tout ceci très simple !

À présent, nous allons devoir nous procurer notre machine. Pour ce faire, vous pouvez vous rendre chez un hébergeur comme Ovh et chercher la machine qui vous convient le plus en fonction de votre budget et de vos besoins. Pour les installations que je vais faire, une machine avec 2 Go de RAM est largement suffisant (à 4€/mois, c'est raisonnable). Lors de votre achat, on va normalement vous demander de choisir une distribution et peut-être le lieu d’hébergement. Pour ma part, je vais choisir Debian 8 (Jessie) 64 bits et Strasbourg comme lieu d’hébergement (#ViveL'alsace). Nous allons donc commander notre machine.


Une fois que notre commande est complétée et valider votre machine va être livrée. Vous allez recevoir un mail comprenant, au moins :
  • L'IP de votre machine,
  • Le nom d'utilisateur, généralement « root »,
  • Le mot de passe.
(Ces identifiants vous serviront à vous connecter en SFTP et en SSH à votre machine donc conservez-les précieusement).

Maintenant que nous avons nos accès, nous allons nous assurer que notre machine est démarrée ; c'est plus pratique si on veut s'y connecter. Pour ce faire, cava encore dépendre de votre hébergeur, mais vous avez normalement un panel sur lequel vous pouvez au minimum : démarrer, arrêter et redémarrer votre machine. Rendez-vous sur ce panel et démarrer votre machine si ce n'est pas déjà fait.

Nous allons maintenant devoir nous connecter à notre machine pour lui envoyer des commandes. Pour ce faire, il nous faut télécharger un client SSH. Pour ma part, je vais prendre Putty (http://www.putty.org/). Une fois Putty télécharger, il ne vous reste plus qu'à le lancer. Vous arrivez donc sur une sorte d'interface assez simple :
1506788248-photo1.png



Nous allons rentrer les identifiants de notre machine pour pouvoir s'y connecter. Dans la case « Host Name or IP », vous devez entrer votre identifiant suivit par un « @ » et l'IP de votre machine ; par exemple :

Vous laissez le port en 22 et le protocole en SSH.

1506788248-photo2.png



Cliquer ensuite sur connexion. Si tout se passe bien, vous arrivez sur cette fenêtre vous demandez votre mot de passe.
1506788248-photo3.png


Vous devez donc entrer votre mot de passe. Vous n'allez pas voir le mot de passe s'afficher et auraient l'impression de ne pas avoir écrit, c'est NORMALE ; mais le mot de passe s'est quand même bien écrit ! Une fois que vous avez entrer le mot de passe, cliquer sur entrer.

Vous êtes maintenant connecté à votre machine, et prêt à lui envoyer des commandes ! Yeahh !
1506788248-photo4.png


Comme vous le remarquer, il n'y a pas d'interface graphique, tout se fait avec des commandes que vous allez peu à peu apprendre ! Je vais vous en donner quatres qui vous seront indispensables :

Permets de voir les fichiers et dossier se trouvant à votre destination. Par défaut, vous arrivez dans le dossier du nom de votre utilisateur (root dans mon cas). La racine de la machine est « / » et le « bureau », le dossier « /home ».

Permets de naviguer dans votre machine. Par exemple : « cd / » vous emmène à la racine de votre machine, « cd /home » dans le dossier home, etc...
1506788248-photo5.png

1506788248-photo6.png

1506788278-photo7.png


Note sans importante : On peut voir que j'ai déjà deux dossiers : « Bots » et « Serveurs ».

apt-get update
et
apt-get upgrade
Permettent respectivement de chercher la liste des nouveaux paquets (correspondant à des applications) disponibles ainsi que leurs versions et de les installer. La première fois que vous vous connectez à votre machine, il est recommandé de faire ces commandes.
Note : La commande apt-get dist-upgrade permet de chercher les mises à jour du noyau de l'OS (Kernel), ça peut aussi être intéressant dans la faire !

Partie 3 : Installation de TeamSpeak :

Maintenant que nous avons pris en main notre machine, nous allons installer un serveur TeamSpeak de 32 slots. Pourquoi 32 aller vous me demander, car c'est la limite maximum que l'on peut obtenir sans licenses (les licenses sont payantes ou requièrent un certain nombre de choses).

Je souhaite installer mon serveur TeamSpeak dans un nouveau dossier dans home. Je vais donc m'y rendre et créer un nouveau dossier. Pour ce faire :
Permet l'accès au répertoire home
mkdir teamspeak
Permets la création d'un nouveau dossier du nom de TeamSpeak et ensuite,
cd teamspeak/
Pour accéder au nouveau fichier

1506788265-photo8.png



Nous allons maintenant télécharger la version serveur de TeamSpeak. Pour ce faire, on utilise la commande wget :

Une fois télécharger, il faut décompiler l'archive (car elle est en .tar.gz, c'est l'équivalent du .zip sous Windows). On va donc utiliser la commande tar :
tar -xvzf teamspeak3-server_linux-amd64-3.0.10.3.tar.gz

Astuce ! Pour ne pas écrire les noms des fichiers en utiliser, vous pouvez utiliser la touche « Tab » !

À présent, nous avons un dossier s'appelant teamspeak3-server_linux-amd64 et contenant le serveur. Vu que c'est un peu barbare comme nom, nous allons le renommer simplement serveur. Pour ce faire, on utilise la commande mv qui permet de déplacer des fichiers ou de les renommer :
mv teamspeak3-server_linux-amd64 serveur

Une fois fait, on peut s'apercevoir grâce à un ls que notre archive en .tar.gz existe toujours ! Effectivement, nous avons oublié de la supprimer ! Nous allons remédier à ceci grâce à la commande rm.
rm teamspeak3-server_linux-amd64-3.0.10.3.tar.gz

Note : Je suis conscient que ça fait beaucoup de commandes en peu de temps, mais, rassure-vous, vous trouverait un petit tableau récapitulatif à la toute fin du tutoriel.

Très bien, nous avons presque fini ! Il ne nous reste plus qu'à démarrer notre serveur ! Cependant, avant ceci, il faut se rendre dans le dossier serveur :

Si vous faites un ls, vous vous rendez compte que tous nos fichiers serveur sont présents ! Il ne reste plus qu 'à lancer le lancer !
1506788248-photo9.png


La commande est très facile. Nous allons « cibler » le fichier ts3server_startscript.sh qui est le script de démarrage de Teamspeak et le démarrer grâce à l'argument start. Ce qui donne :
./ts3server_startscript.sh start

Si votre serveur démarre pour la première fois, vous allez voir apparaître dans la console les identifiants, il est CAPITAL DE LES CONSERVER ! Pensez notamment à copier la clé de privilège !
1506788248-photo10.png


Votre serveur est maintenant démarré, nous allons nous y connecter. Lancer TeamSpeak et rentrez l'IP de votre machine.
1506788248-photo11.png


Une fenêtre va vous demander la clé de privilège que vous avez précédemment copié, vous n'avez qu'à la coller pour obtenir le grade 'Server Admin'.

Pour éteindre votre serveur TeamSpeak, c'est très simple, il suffit de vous rendre dans le bon dossier :
cd /home/teamspeak/serveur/
et de remplacer start par stop :
./ts3server_startscript.sh stop
1506788278-photo12.png


C'est la fin de cette partie sur TeamSpeak, vous pouvez maintenant vous amuser avec vos amis sur votre super serveur TeamSpeak !

Partie 4 : Installé un serveur web :

Nous allons maintenant installer un serveur web de manière à tomber sur un site internet une fois que l'on entre l'IP de notre machine dans internet. Il faut savoir qu'il existe deux grands serveurs web :
  • apache2 et
  • nginx.
Personnellement, j'ai toujours utilisé apache2, donc c'est parti pour l'installer ! (Si vous préférer nginx, voici un tutoriel en anglais pour l'installé → https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-debian-8).

Je vais passer assez rapidement sur l’installation de apache2 car c'est vraiment très facile si vous ne souhaitez pas rentrer dans des choses trop avancées !

Pour installer apache2, rien de plus simple, il suffit d'installer le paquet « apache2 » :
apt-get install apache2
(Je vous conseille d'abord de faire un « apt-get update && apt-get upgrade », c'est toujours bien).

Lors de l'installation, on va sûrement vous demander si vous voulez installer des sous paquets, vous avez simplement à écrire 'y' pour dire à votre machine que vous accepter.

L'installation est déjà terminée ! Et oui, ce n'était pas une blague, c'est vraiment rapide ! Vous pouvez dès à présent accéder à votre site via l'IP de la machine (vous allez tomber sur une page de ce genre).
1506788728-photo13.png



Voici la commande qui vous permet de gérer votre serveur apache2 :
service apache2 (start/stop/reload)

La racine de votre site internet, se trouve dans : /var/www/html. Vous pouvez vous en assurer en supprimant la page index.html puis en actualisant la page dans le navigateur (F5). Le message « It's works ! » va donc disparaître (vu que vous aurez supprimé la page).

Il ne nous reste plus qu'a installé php (et plus précisément php 7.1) sur notre hébergement. En faisant mes recherches, je suis tombé sur ce tutoriel pour installer php 7.1, que je trouve bien fait et très rapide. Vu que je trouve ça bête de copier/coller les instructions qui y sont présentes, je vous y redirige (vous avez juste à faire les commandes une par une et ça fonctionnera). https://www.noobunbox.net/serveur/auto-hebergement/installer-php-7-1-sous-debian-et-ubuntu/. Si, par hasard, vous avez des problèmes avec l'installation de php 7.1, n’hésitez pas à me le faire savoir.

Une fois que vous avez installé php 7.1, vous pouvez faire la commande :
pour vous assurer que php 7.1 est bien fonctionnel.
1506788278-photo14.png


Super ! Notre serveur web est maintenant totalement fonctionnel ! C'est donc la fin de cette partie sur apache2.

Bonus : Récapitulatifs des commandes utiles :

(Vous pouvez également utiliser ce site pour trouver quelques-unes des commandes suivantes).

1506788248-commandes-debian.png


Voilà, c'est la fin de ce long tutoriel, j'espère qu'il vous a aidé ! Je me permets de vous demander un petit j'aime si vous l'avez apprécié, vu la dizaine d'heures passées dessus ! Merci beaucoup et à bientôt dans un autre tutoriel.


Liens utiles et cités dans le tutoriel :

Dans le même genre :

 
Dernière édition:

ZeroDay

Modérateur multifonction
Staff
Modérateur
21 Mai 2014
7 263
1 688
296
Derrière toi ( ͡° ͜ʖ ͡°)
www.youtube.com
Linux est simplement un système d'exploitation
I'd just like to interject for a moment. What you're referring to as Linux,
is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux.
Linux is not an operating system unto itself, but rather another free component
of a fully functioning GNU system made useful by the GNU corelibs, shell
utilities and vital system components comprising a full OS as defined by POSIX.

Many computer users run a modified version of the GNU system every day,
without realizing it. Through a peculiar turn of events, the version of GNU
which is widely used today is often called "Linux", and many of its users are
not aware that it is basically the GNU system, developed by the GNU Project.

There really is a Linux, and these people are using it, but it is just a
part of the system they use. Linux is the kernel: the program in the system
that allocates the machine's resources to the other programs that you run.
The kernel is an essential part of an operating system, but useless by itself;
it can only function in the context of a complete operating system. Linux is
normally used in combination with the GNU operating system: the whole system
is basically GNU with Linux added, or GNU/Linux. All the so-called "Linux"
distributions are really distributions of GNU/Linux.

tout ça rapidement et pour quelques euros par mois ! Je précise que ce tutoriel va être un peu plus difficile que ceux auxquels je vous aie habitués, mais si vous suivez bien, vous ne devriez pas avoir de soucis. Je précise également que je décide d'installer un site web et un serveur TeamSpeak mais vous pourriez très bien installer un serveur Minecraft ou d'autres choses, vous êtes libres !
Un serveur Minecraft en plus, oui, mais là on passe à un peu plus que quelques euros par mois.
Un VPS pourrait s'apparenter à une partie d'un ordinateur, ou plutôt à un utilisateur de cet ordinateur.
Non ? 8)
Un ordinateur dans un ordinateur, à la limite why not, mais là c'pas vraiment réaliste.
apt-get upgrade
Pour une première utilisation, je recommande plutôt l'utilisation de apt-get dist-upgrade, si jamais y a des mises à jour du kernel (de Linux donc si tu as bien suivi :^) ), ça passera pas avec un simple upgrade.

J'ai pas lu la partie Teamspeak, j'pense pas qu'y ait des trucs choquants, j'te fais confiance :^)
Un serveur Mumble aurait pu être plus approprié sachant que c'est un logiciel libre qui ne possède pas de limite de slots.

Pour terminer, j'aurais bien rajouté une partie sur l'utilisation d'un éditeur de texte pour pouvoir éditer les configs et les pages web, ou alors comment se connecter en SFTP. Parce que là, on a un serveur web, mais on sait pas comment le modifier.
 
  • J'aime
Reactions: DiscowZombie

DiscowZombie

Développeur
Staff
Modérateur
Support
2 Mars 2017
2 659
1
931
298
Alsace
www.discowzombie.fr
I'd just like to interject for a moment. What you're referring to as Linux,
is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux.
Linux is not an operating system unto itself, but rather another free component
of a fully functioning GNU system made useful by the GNU corelibs, shell
utilities and vital system components comprising a full OS as defined by POSIX.

Many computer users run a modified version of the GNU system every day,
without realizing it. Through a peculiar turn of events, the version of GNU
which is widely used today is often called "Linux", and many of its users are
not aware that it is basically the GNU system, developed by the GNU Project.

There really is a Linux, and these people are using it, but it is just a
part of the system they use. Linux is the kernel: the program in the system
that allocates the machine's resources to the other programs that you run.
The kernel is an essential part of an operating system, but useless by itself;
it can only function in the context of a complete operating system. Linux is
normally used in combination with the GNU operating system: the whole system
is basically GNU with Linux added, or GNU/Linux. All the so-called "Linux"
distributions are really distributions of GNU/Linux.
Oui, certes, mais, par abus de langage : Linux = GNU/Linux.

Un serveur Minecraft en plus, oui, mais là on passe à un peu plus que quelques euros par mois.
Effectivement, mais c'est envisageable :D

Non ? 8)
Un ordinateur dans un ordinateur, à la limite why not, mais là c'pas vraiment réaliste.
C'est une image "simple" pour expliquer au moins a guéri ce que c'est ; pas facile d'expliquer clairement avec des mots simple sans rentrer dans des choses advanced :)

Un serveur Mumble aurait pu être plus approprié sachant que c'est un logiciel libre qui ne possède pas de limite de slots.
Effectivement, j'aurais pu faire une partie dessus mais je ne l'ai installé qu'une fois sur un VPS et surtout je ne pense pas que la majorité des gens l'utilise.

Pour terminer, j'aurais bien rajouté une partie sur l'utilisation d'un éditeur de texte pour pouvoir éditer les configs et les pages web,
C'est pas une mauvaise idée, pourquoi pas ajouter une partie sur nano, ça pourrait être intéressant. Après je pourrait rajouter plein de choses (j'ai encore des idées) mais je vais atteindre la limite de mot de Xenforo (Je suis à 80% de la limite là), et j'ai pas envie de faire un pavé illisible non plus. Il faudrait voir pour séparer tout ça :)

comment se connecter en SFTP
J'ai précisé, peut-être un peu trop rapidement, que les accès étaient les même en sftp. Après, je devrait peut-etre le mettre un peu plus en évidence :)
(Ces identifiants vous serviront à vous connecter en SFTP et en SSH à votre machine donc conservez-les précieusement).

Merci pour les retours en tout cas, je vais apporter quelques modifications :D