Services pour les utilisateurs
Diffuser sur le Web
Diffuser du contenu sur Internet, avoir son propre site Internet ou avoir seulement une page de référence est devenu courant pour les particuliers et incontournable pour les entreprises. Le monde d’aujourd’hui est un monde connecté, et chacun se réfère au contenu Internet pour n’importe quel service. D’où l’importance de maîtriser sa communication et ses outils.
Nous allons donc voir comment héberger son propre site web grâce à Debian et aux trois serveurs web open source les plus populaires.
En effet, 80 % des sites web ou applications Internet sont hébergés avec les trois serveurs open source suivants : Apache HTTP Server, NGNIX et Apache Tomcat.
1. Le protocole HTTP
Le protocole HTTP permet de naviguer sur Internet en constituant des requêtes client/serveur.
L’acronyme HTTP signifie HyperText Transfer Protocol. Ce protocole s’appuie sur TCP/IP et utilise le port 80 par défaut.
Initialement limitées au transfert de texte (version 0.9), les versions actuelles du protocole HTTP (1.0, 1.1 et 2) permettent le transfert d’informations multimédia grâce à l’apport des types MIME (Multipurpose Internet Mail Extension). L’acronyme MIME désigne, à l’origine, une extension du protocole de messagerie SMTP (Simple Mail Transfer Protocol). Cette extension s’applique aujourd’hui à bien d’autres protocoles réseau, dont HTTP.
Lors de sa réponse au client navigateur, le serveur web utilise les spécifications MIME pour préciser le format des données. Celles-ci peuvent alors être interprétées correctement par le navigateur.
C’est un protocole de la couche application, qui est utilisé surtout par les navigateurs web. Il est cependant possible de l’utiliser en ligne de commande pour vérifier les connexions ou la gestion du protocole HTTP, par exemple.
a. HTTP/1.0
Dans cette version, chaque requête est indépendante des autres. Les requêtes peuvent être de plusieurs types, tels que GET, HEAD et POST… Une requête GET correspond à une demande de transfert d’un document. Une requête HEAD permet d’obtenir des informations sur une ressource. Une requête POST propage...
Partager ses fichiers
Il est devenu essentiel de partager ses fichiers, soit entre plusieurs utilisateurs ou simplement entre plusieurs périphériques.
Nous allons voir différentes méthodes en configurant la partie serveur, tout en supposant un côté client fonctionnel.
1. Nativement grâce à NFS
Le logiciel NFS Server (Network File System Server) est basé sur le protocole NFS (Network File System) basé sur la couche TCP/IP, conçu chez Sun, qui s’est imposé comme standard de fait pour le partage de fichiers entre systèmes Unix.
Le service NFS s’appuie sur la bibliothèque dite RPC (Remote Procedure Call). Cette bibliothèque est d’ailleurs utilisée par beaucoup d’autres applications réseau.
Concrètement, le serveur NFS donne l’autorisation d’accès à certaines arborescences. On parle de partage ou d’exportation de ressources.
Le client NFS accède à la ressource partagée via un montage dans son arborescence locale. Ainsi, l’accès aux fichiers du serveur est totalement transparent pour les utilisateurs.
Le client NFS est supporté nativement par la distribution Debian avec la librairie libnfs8.
La version du protocole NFSv4 permet d’ajouter de la sécurité grâce à des jetons Kerberos, permet de regrouper des requêtes, permet une reprise sur incident, et en fait donc un protocole plus performant que la précédente version NFSv3.
Cependant, le protocole NFSv4 est incompatible avec le protocole NFSv3.
Le protocole est aussi très sensible à la latence, c’est pourquoi il est utilisé seulement dans un réseau local.
a. Installation du serveur
Le serveur NFS du noyau est actuellement le serveur NFS recommandé sous Linux, avec des fonctionnalités comme NFSv3 et NFSv4, la gestion de Kerberos par GSS et bien d’autres.
Comme le serveur NFS est précompilé avec le noyau Linux, il est très facile de l’installer :
# apt install nfs-kernel-server
Les NOUVEAUX paquets suivants seront installés :
keyutils libnfsidmap2 libtirpc1 nfs-common nfs-kernel-server rpcbind
L’installation va créer un nouvel utilisateur et groupe statd pour gérer les processus NFS ce qui nous permettra d’avoir...
Envoyer des courriels
Aujourd’hui, il est indispensable de pouvoir communiquer par courriel, pour sa rapidité, sa facilité d’utilisation, l’avantage de garder une trace écrite des conversations, qui peut éventuellement servir de preuve juridique.
Il existe de nombreux fournisseurs de messagerie, comme Hotmail ou Gmail, dans cet ouvrage, nous allons constituer notre propre serveur de messagerie.
1. Principe de fonctionnement
Nous allons voir comment fonctionne la messagerie à travers ces concepts et suivre l’acheminement d’un courriel, par exemple d’une adresse de courriel user1@ici.fr à user2@labas.fr.
a. Les concepts de messagerie
Un système de messagerie est composé de trois éléments :
-
MUA (Mail User Agent)
Cet outil permet à l’utilisateur d’écrire ses mails, de les envoyer et de les recevoir. Ce sont les outils de messagerie comme Mozilla Thunderbird, Outlook, ou les webmail.
-
MTA (Mail Transfert Agent)
Le MTA s’occupe de l’acheminement des courriers de l’expéditeur vers le serveur du destinataire. Le MTA sera donc un serveur, comme postfix ou sendmail.
-
MDA (Mail Delivery Agent)
Le MDA s’occupe de la distribution du courrier dans les boîtes aux lettres des utilisateurs. C’est ici que l’utilisateur pourra appliquer ses filtres (antivirus, antispam...). On utilise généralement Procmail, Maildrop ou Dovecot.
Dans cet ouvrage, nous avons configuré des logiciels pour correspondre aux éléments de messagerie :
MUA = Thunderbird
MTA = Postfix
MDA = Dovecot
b. L’acheminement
Le cheminement d’un courriel est plutôt simple. L’expéditeur (user1@ici.fr) écrit un courriel grâce à son MUA (Thunderbird) et l’envoie à son serveur de courrier sortant MTA (Postfix).
Ce MTA (Postfix) transfère le courrier au serveur du destinataire, en faisant éventuellement transiter ce courrier par d’autres MTA.
Une fois le courrier arrivé sur le MTA (Postfix2) du destinataire, le MDA (Dovecot2) s’occupe de distribuer le courrier dans la boîte aux lettres de la bonne personne. Le destinataire (user2@labas.fr) n’a plus qu’à se connecter grâce à son MUA (Thunderbird2) à son serveur pour regarder ses nouveaux courriels.
Voici...
Imprimer en réseau
Dans un réseau local, il peut être intéressant de partager les imprimantes afin que tous les périphériques puissent imprimer. L’avantage est de centraliser les impressions et de ne pas déployer les pilotes d’impressions sur tous les périphériques.
Sous Linux, le serveur d’impression se nomme CUPS.
1. Le serveur d’impression CUPS
Sous Debian, le serveur d’impression est livré par le paquet cups, qui permet d’avoir une interface web pour gérer les imprimantes et permet de créer la file d’attente pour les impressions.
Voyons comment l’installer.
a. Installation du serveur
Pour l’installation, il nous suffit du seul paquet cups :
# apt install cups
Les NOUVEAUX paquets suivants seront installés :
cups cups-browsed cups-client cups-common cups-core-drivers
cups-daemon cups-filters cups-filters-core-drivers cups-ppdc cups-
server-common libcupscgi1 libcupsmime1 libcupsppdc1 libfontembed1
libgutenprint2 liblouisutdml-bin liblouisutdml-data
liblouisutdml7 libqpdf17 printer-driver-gutenprint qpdf
L’installation va cependant ajouter beaucoup d’autres paquets pour fonctionner.
Ce serveur d’impression remplace l’utilitaire lpd.
Pendant l’installation, beaucoup de pilotes d’impression sont mis en place, ce qui permet de reconnaître la plupart des imprimantes.
Si votre imprimante n’est pas reconnue, il est possible d’installer...
Quiz : Maîtrisez-vous les services fournis aux utilisateurs ?
-
Quel est le code retour du protocole HTTP pour un document déplacé de façon permanente ?
-
Code 404
-
Code 403
-
Code 301
-
Avec quelle commande activer un module sur le logiciel Apache HTTP server ?
-
a2disconf
-
a2enmod
-
a2dismod
-
Quel fichier permet de limiter l’accès à un répertoire dans une arborescence donnée d’un site web ?
-
.bashrc
-
.htaccess
-
.htpasswd
-
À quoi sert le logiciel MariaDB ?
-
C’est un logiciel de base de données
-
C’est un logiciel pour héberger des sites web
-
C’est un logiciel de programmation
-
Dans quel fichier faut-il déclarer un point de montage NFS pour qu’il soit actif au démarrage ?
-
.bashrc
-
/etc/rc.local
-
/etc/fstab
-
Avec quelle commande tester sur son serveur SAMBA les exports configurés ?
-
samba -test
-
smb -L localhost
-
smbclient -L localhost
-
Quel est l’élément de la messagerie qui délivre les messages ?
-
MUA
-
MTA
-
MDA
-
Quel logiciel permet de réaliser un serveur d’impression ?
-
lpd
-
printer
-
cups