Comment mettre en place un VPS

Dans cet article, il va être question de la mise en place d’un Serveur Privé Virtuel, encore appelé VPS  pour « Virtual Private Server ».

Qu’est-ce qu’un VPS ?

Il s’agit tout simplement d’un serveur mis à disposition pour faire tourner un système d’exploitation de son choix 24h/24 7j/7. On retrouve souvent des distributions Linux comme Debian, Ubuntu, ou encore CentOS.

Il est nommé virtuel car dans les faits le serveur est émulé (ou virtualisé) au sein d’une machine physique, cette machine contenant alors plusieurs serveurs « virtualisés ».

Pour quoi faire ?

Etant donné que le VPS qui est mis à disposition est 100% configurable par son propriétaire, on peut imaginer différentes applications comme :

  • La mise en place d’un site web sous WordPress
  • La création d’un serveur pour capter ou restituer les données venant d’objets connectés
  • La proposition d’un service de conversion de format d’images
  • La mise à disposition d’un serveur de jeu
  • La proposition d’un service web venant d’un programme compilé par vos soins sur une autre machine
  • Etc, etc

On voit bien ici que les possibilités sont infinies et que les limitations viendront plutôt des caractéristiques du VPS comme l’espace disque disponible ou encore la capacité mémoire.

Je vais ici présenter la mise en place d’un VPS OVH d’entrée de gamme, le « VPS SSD ».

Installation du VPS

Les caractéristiques du VPS utilisé ici sont les suivantes:

  • 2 Go de RAM
  • 20 Go SSD
  • Trafic illimité

Au moment de la mise en place depuis l’interface cliente d’OVH, vous aurez le choix entre un système d’exploitation seul, ou bien livré avec une application.

vps-1

En ce qui me concerne j’ai choisi le système seul : mon choix s’est porté sur la distribution Debian 9.0 (Stretch) :

vps-2

Si jamais vous choisissez d’ajouter une application, différentes options (gratuites ou payantes) sont disponibles :

vps-3

Il est ainsi possible d’installer un WordPress dédié ou encore un VPN (OpenVPN).

Une fois l’installation confirmée, la mise en place devrait prendre quelques minutes et un message confirmant la finalisation du processus apparaitra :

vps-6

Nous allons pouvoir passer à l’étape suivante : la configuration du serveur VPS Debian.

securisation

Configuration et sécurisation du VPS

Si l’étape précédente s’est bien passée, vous avez dû recevoir un email avec l’identifiant « root », son mot de passe et le nom de votre serveur VPS à utiliser (vpsxxxxxx.ovh.net).

Tout d’abord connectez-vous en SSH au serveur (remplacez xxxxxx par l’identifiant de votre VPS OVH) :

ssh root@vpsxxxxxx.ovh.net

Mettez à jour le système Debian :

apt-get update
apt-get upgrade

Modifiez le mot de passe attribué à l’utilisateur « root » par un mot de passe fort :

passwd root

Ajoutez un utilisateur supplémentaire pour administrer votre serveur à distance (remplacez « newadmin » par un nom de votre choix) :

adduser newadmin
usermod -aG sudo newadmin

Vous aurez à définir un mot de passe fort pour cet administrateur. Conservez le bien 🙂

Modifiez le port par défaut de SSH (22 étant le port par défaut), par 44 par exemple :

vi /etc/ssh/sshd_config

Si l’éditeur « vi » ne vous convient pas, vous pouvez utilisez « nano » 🙂

Remplacez la ligne indiquant le port par :

Port 44

Interdisez maintenant l’accès à distance à l’utilisateur « root » en remplaçant la ligne ci-dessous avec « no » dans le fichier de configuration :

PermitRootLogin no

Quittez l’éditeur et redémarrez le service SSH :

/etc/init.d/ssh restart

Enfin, quittez votre VPS :

exit

Si vous essayez cette fois-ci de vous connecter à votre VPS via l’utilisateur « root », vous constaterez que cela n’est plus possible. L’accès « root » à votre serveur est donc mieux sécurisé.

Utilisez plutôt votre second administrateur créé précédemment (newadmin) :

ssh newadmin@vpsxxxxxx.ovh.net -p 44

L’option « -p » permet d’indiquer le port d’accès au service SSH.

Installez maintenant le firewall « fail2ban » :

sudo apt-get install fail2ban

Vous remarquerez l’utilisation de la commande « sudo » pour avoir suffisamment de droits pour installer le paquet « fail2ban ».

Je ne rentrerai pas ici dans les détails de « fail2ban » mais sachez que le fichier de configuration se trouve à l’emplacement suivant :

/etc/fail2ban/jail.conf

Enfin il est conseillé d’installer le « Firewall Network » depuis l’interface d’administration d’OHV en suivant ce guide : configurer le Firewall Network.

Une dernière étape si jamais votre NAS n’était pas configuré avec les paramètres régionaux du pays :

sudo dpkg-reconfigure locales

Vérifiez que fr_FR.UTF-8 UTF-8 est bien disponible et cochez le si ce n’est pas le cas :

vps-locale-1

Validez.

Dans l’écran suivant définissez ce jeu de paramètres comme celui par défaut :

vps-locale-2

Voilà votre serveur VPS est maintenant opérationnel.

Cas pratique

apache

Avant de terminer cette introduction au VPS, passons au cas pratique de la mise en place d’un serveur web.

En effet, à part un service d’accès à distance (SSH), le VPS ne propose pas grand chose pour l’instant.

Installez les paquets PHP et Apache :

sudo apt install php7.0
sudo apt install apache2 libapache2-mod-php

Vérifiez que le service tourne bien :

sudo systemctl status apache2

Un affichage tel que ci-dessous devrait apparaitre :

 apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-02-08 17:33:29 CET; 1 day 4h ago
  Process: 18048 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS)
  Process: 18061 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 18067 (apache2)
    Tasks: 11 (limit: 4915)
   CGroup: /system.slice/apache2.service
           ├─18067 /usr/sbin/apache2 -k start
           ├─18104 /usr/sbin/apache2 -k start
           ├─18107 /usr/sbin/apache2 -k start
           ├─18211 /usr/sbin/apache2 -k start
           ├─18457 /usr/sbin/apache2 -k start
           ├─18531 /usr/sbin/apache2 -k start
           ├─18532 /usr/sbin/apache2 -k start
           ├─18537 /usr/sbin/apache2 -k start
           ├─18538 /usr/sbin/apache2 -k start
           ├─20826 /usr/sbin/apache2 -k start
           └─21361 /usr/sbin/apache2 -k start

Les pages web de votre site Apache sont situées dans le répertoire « /var/www/html/ » et les fichiers de configuration dans « /etc/apache2 ». Je passerai ici le détail de la configuration d’Apache car ce n’est pas le but de cet article.

Si vous entrez l’adresse de votre VPS dans un navigateur web (http://vpsxxxxxx.ovh.net), la page d’accueil ci-dessous devrait s’afficher  :

vps-7

Voila le VPS est dorénavant sécurisé et opérationnel en proposant un service web personnalisé et disponible 7j/7 24h/24.

Si vous souhaitez continuer cette série dédiée aux VPS, vous pouvez consulter l’article « Utiliser Docker sur Synology pour compléter son VPS« .

Bonne lecture 🙂

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s