L'auto-hébergement sur Raspberry Pi

 
CONTINUER À LIRE
L'auto-hébergement sur Raspberry Pi
L’auto-hébergement sur Raspberry Pi
                                              Vincent

    Vous en avez marre de vous sentir sous l’emprise des multiples services et du monopole du
géant d’Internet qu’est Google ? Vous souhaitez maîtriser de très près les contenus que vous mettez
en ligne ? Alors devenez votre propre hébergeur en vous auto-hébergeant avec un Raspberry Pi !
    Grâce à ce tutoriel, vous découvrirez qu’est-ce que l’auto-hébergement, vous apprendrez à
maîtriser votre Raspberry Pi, à installer la distribution GNU/Linux Raspbian, un serveur http et
tous les autres outils nécessaires pour vous libérer de vos doutes quant à la maîtrise de vos données
mises en ligne.

1 Qu’est-ce donc, l’auto-hébergement ?
    Très bonne question. L’auto-hébergement est une pratique consistant à se fournir à soi-même
des services Internet que l’on utilise. L’auto-hébergement s’oppose en fait à l’utilisation de services
chez un prestataire, consistant à héberger ces services sur son propre serveur. Concrètement, ces
différents services fournis en auto-hébergement peuvent être un serveur web, un serveur de mes-
sagerie électronique ou instantanée, etc. Cette pratique est aujourd’hui assez répandue dans les
entreprises mais séduit également de plus en plus de particuliers comme vous et moi.
    Si l’auto-hébergement séduit aujourd’hui, c’est parce qu’il présente plusieurs intérêts à ses pra-
tiquants :
    – il permet la maîtrise et la responsabilité totales de ses contenus et de ses données.
    – il représente également une participation à la construction d’Internet dans le cas d’une mise
       en ligne.
    – il contribue à la décentralisation des services sur Internet, décentralisation qui à grande
       échelle permettrait d’éviter la formation de monopoles comme on en voit sur Internet au-
       jourd’hui, tel Google pour ne citer que lui.
    – il est aussi une belle source d’amusement, de bricole et d’apprentissage pour les techno-
       philes et autres passionnés d’informatique.
    Cependant, pratiquer l’auto-hébergement impose quelques contraintes :
    – bien entendu, cela demande d’avoir un accès à Internet.
    – il nécessite de disposer d’un ordinateur allumé 24h/24 pour fournir les services hébergés.
    – il nécessite l’achat d’un nom de domaine pour pouvoir ouvrir ses services à Internet (on peut
       néanmoins en trouver des gratuits).
    – il demande de consacrer un peu de son temps pour maintenir le bon fonctionnement du
       ou des serveurs et de leurs services, ce qui pour un passionné n’est pas la plus grosse des
       contraintes.
    On peut voir que comme tout chose en ce bas monde, l’auto-hébergement se partage entre ses
avantages et ses inconvénients, mais nous pouvons voir aussi que certaines contraintes peuvent
être adoucies. En effet prenons tout d’abord la première contrainte : la plupart des foyers aujour-
d’hui sont équipés d’une connexion Internet, cela ne devrait pas vous poser de problèmes. Ensuite,
pour ce qui est de l’allumage permanent d’un ordinateur, sachez qu’il existe plusieurs matériels
principalement utilisés pour l’auto-hébergement :
    – les vieux ordinateurs mis à contribution en tant que recyclage de la machine.

                                                  1
L'auto-hébergement sur Raspberry Pi
– les mini-pc réputés pour avoir une basse consommation d’énergie et pour être peu bruyants.
    – les nano-ordinateurs, tel le Raspberry Pi, également très peu consommateurs et silencieux.
    Après avoir découvert son concept dans cette première partie, j’espère vous avoir familiarisé
un tant soit peu avec l’auto-hébergement. Dans la partie suivante, nous allons nous concentrer
sur le matériel que nous utiliserons pour nous lancer dans l’auto-hébergement : le Raspberry Pi.

2 Présentation du Raspberry Pi
   Attaquons-nous maintenant à la partie matérielle de ce tutoriel, et découvrons ensemble sur
quel support nous allons commencer notre aventure dans l’auto-hébergement : le Raspberry Pi.

2.1 Description et historique du Raspberry Pi
    Le Raspberry Pi appartient à la famille des nano-ordinateurs, dont la taille est comparable à
celle d’une carte de crédit. C’est David Braben, un créateur de jeux vidéos britannique, qui en
2006 créa le Raspberry Pi. Celui-ci était à l’origine destiné à encourager l’apprentissage de la pro-
grammation chez les jeunes à moindre coût. En effet, les deux premiers modèles de la carte ont
été commercialisés pour la première fois à des prix de lancement de 25 et 35 $ US, c’est-à-dire à ce
jour environ 20 et 28 .

                           F IGURE 1 – Logo de la fondation Raspberry Pi

    Les premiers prototypes du Raspberry Pi sont construits en 2006. Les premiers exemplaires
sont mis en vente à partir de février 2012, avec le Raspberry Pi modèle B. En février 2013 viendra le
modèle A, moins cher et moins performant. Depuis les premiers modèles A et B, d’autres ont fait
leur apparition : le A+, le B+ et dernièrement le Raspberry Pi 2, appelé également 2 B.

2.2 Spécifications matérielles
   Comme nous l’avons vu précédemment, le Raspberry Pi se décline en plusieurs modèles aux
spécifications différentes. Leur point commun est leur architecture ARM, relativement plus simple
que d’autres familles de processeurs et moins consommatrice en énergie. Pour aller plus vite, je
vous ai concocté un petit tableau comparatif des différents modèles :

                                                 2
L'auto-hébergement sur Raspberry Pi
F IGURE 2 – Tableau comparatif des différents modèles

2.3 Revenons en à nos moutons. . .
    Dans notre cas de figure et dans le cadre du tutoriel, nous allons utiliser un Raspberry Pi mo-
dèle B (le B+ et le 2 B peuvent également convenir), car nous aurons besoin d’un port Ethernet, ce
que les modèles A et A+ ne proposent pas.
    Mais, me direz-vous, pourquoi utiliser un Raspberry Pi pour ce tutoriel, et pas un vieil ordina-
teur ou un mini-pc ? Laissez-moi vous lister les avantages de ce petit bijou de technologie.
    Tout d’abord, comme il a été dit plus haut, le Raspberry Pi est un nano-ordinateur, ce qui lui
permet de prendre peu de place, d’être totalement silencieux, de peu chauffer et de peu consom-
mer. Ces quatre avantages sont de gros arguments dans le cas d’un auto-hébergement chez un
particulier. Qui voudrait laisser constamment allumé une grosse tour d’ordinateur équipée de ven-
tilateurs bruyants, ou encore un mini-pc tellement concentré qu’il ne tiendra pas sous le moindre
petit excès de chaleur ? Bien sûr, toutes les tours ne sont pas bruyantes, et tous les mini-pc ne
chauffent pas comme des fours, mais cette exagération me permet de vous illustrer mon propos.
    On peut également parler d’un autre avantage sur l’aspect idéologique de la chose : le Rasp-
berry Pi est open-source, ainsi les schémas et les plans du circuit imprimé ont été rendu publics
par son créateur. Cela fait un petit plus pour nos amis libristes.
    Cependant, ce type de matériel a un désavantage : il n’est pas très puissant. Avec son proces-
seur cadencé à 700 Mhz (on peut néanmoins l’overclocker jusqu’à 1Ghz) et ses 512 Mo de mé-
moire vive, le Raspberry Pi nous permettra d’auto-héberger quelques services peu gourmands en
ressources. Cela convient pour un auto-hébergement particulier, plus axé sur l’amusement et la
bricole, mais ne conviendra pas pour une entreprise souhaitant un auto-hébergement de haute
qualité et de haute stabilité pour garder ses données les plus secrètes.
    On peut noter cependant que depuis février 2015, le Raspberry Pi 2 B vous met à disposition
1 Go de mémoire vive ainsi qu’un processeur cadencé à 900 Mhz, ce qui commence à faire une

                                                 3
L'auto-hébergement sur Raspberry Pi
F IGURE 3 – Le Raspberry Pi modèle B et ses composants

                          4
bonne configuration pour ce type de matériel.

3 Liste du matériel requis
   Voici pour finir la liste exhaustive du matériel minimum requis pour nous lancer dans l’auto-
hébergement :
   – Bien évidemment, un Raspberry Pi modèle B, B+ ou 2 B.
   – Une alimentation pour brancher notre Raspberry Pi.
   – Une carte Micro SD et son adaptateur SD.
   – Un câble Ethernet.

F IGURE 4 – (Très mauvaise) Photo des différents éléments à rassembler pour commencer notre
aventure !

    Certains éléments n’étant pas indispensables peuvent être un plus pour votre Raspberry Pi,
comme une coque de protection, un dongle Wi-fi en cas de nécessité, etc.
    Vous pourrez trouver tout ceci sur les sites des fournisseurs de Raspberry Pi, et aussi sur cer-
taines plate-formes de vente spécialisées en informatique et multimédia.
    Bien, je pense avoir fait le tour de la question concernant le Raspberry Pi et le matériel néces-
saire pour continuer ce tutoriel. Passons alors à la partie suivante : la préparation de la carte Micro
SD.

                                                  5
4 Raspbian, la distribution GNU/Linux à la sauce framboise
    Tout ordinateur qui se respecte (et tout ordinateur conçu pour fonctionner) a besoin d’un lo-
giciel très très important : le système d’exploitation. Ce système d’exploitation est en fait un en-
semble de programmes ayant la lourde tâche de réguler et diriger l’utilisation des capacités de
l’ordinateur, comme le stockage de mémoire, la communication vers des réseaux ou des périphé-
riques, etc.

4.1 GNU/Linux
    Le Raspberry Pi a été conçu pour fonctionner avec le système d’exploitation GNU/Linux. GNU/Linux
est un système d’exploitation libre, qui a une structure particulière mais importante à saisir. Pour
faire simple, nous retrouvons à l’origine les programmes du projet GNU, créés par Richard M.
Stallman et son équipe en 1983 qui souhaitaient écrire un système d’exploitation totalement libre
inspiré de UNIX. Près du but, Stallman et son équipe prennent du temps pour réaliser le noyau, qui
constitue le cœur du système. C’est là qu’entre en jeu le noyau Linux, créé par Linus Torvalds en
1991. Depuis, c’est sur ce savoureux mélange que sont créées les distributions GNU/Linux, telles
Debian, Slackware, Ubuntu, etc.

4.2 Raspbian, un souci de FPU
     Pour ce tutoriel, nous nous intéresserons plus particulièrement à une distribution créée spé-
cialement pour le Raspberry Pi, basée sur la distribution Debian : Raspbian. Le mot « Raspbian »
est en fait un mot-valise, provenant de la fusion des mots « Raspberry Pi » et « Debian ». Il s’agit
d’une Debian optimisée pour les architectures ARMv6, tel le processeur du Raspberry Pi (ARM11).
Pour comprendre pourquoi cette distribution a été conçue, plongeons-nous dans le contexte des
architectures ARM.
     ARM est une architecture matérielle : son rôle est de décrire l’agencement des composants
électroniques et leur interaction. On peut citer parmi les architectures les plus répandues l’Intel
x86, l’ARM, l’ancien PowerPC de Macintosh, etc. Les architectures ARM sont beaucoup utilisées
sur des SoC, intégrant sur une seule puce des éléments tels le micro-processeur et le processeur
graphique.
     Aujourd’hui, on retrouve principalement trois versions de l’architecture ARM : l’ARMv5, l’ARMv6
et l’ARMv7. Ces trois versions différentes sont utilisées respectivement sur des vielles puces d’en-
trée de gamme comme l’ARM9, sur des puces de moyenne gamme comme l’ARM11 (dont est doté
le Raspberry Pi) et sur des puces plus actuelles, comme les Snapdragon. Les architectures ARM
peuvent proposer en option la possibilité d’intégrer une FPU, élément permettant d’effectuer des
calculs sur les nombres flottants. On retrouvera ses FPU parfois sur des ARMv6 et sur la majorité
des ARMv7.
     Le Raspberry Pi embarque un système sur puce Broadcom, intégrant un ARM11 (ARMv6) com-
prenant une FPU. Or, avant l’arrivée de Raspbian, les versions ARM de Debian ne supportaient pas
les puces ARMv6. Ainsi, les puces ARMv6 devaient se contenter d’une Debian ARMv5, ne suppor-
tant pas la FPU, exécutant de façon logicielle se que la puce aurait pu faire de façon matérielle.
Cette pratique entraînait une importante perte de performances.
     Puis vint la libération : en 2012, la distribution Raspbian voit le jour. Elle est optimisée pour les
ARMv6 avec FPU, la rendant beaucoup plus rapide que la version Debian ARM de base.

4.3 Autres distributions pour le Raspberry Pi
    Il existe cependant d’autres distributions pouvant être installées sur le Raspberry Pi. On peut
citer parmi elles Pidora, une version optimisée de Fedora pour Raspberry Pi, OpenElec et RaspBMC,

                                                   6
F IGURE 5 – Le logo désignant un appareil disposant de l’architecture ARM.

             F IGURE 6 – FPU Intel 80287 (Konstantin Lanzet)

                                    7
conçues pour fonctionner avec le media center XBMC, ou encore Arch Linux avec sa version ARM.
   Nous utiliserons tout de même Raspbian dans ce tutoriel. Étant basée sur Debian, réputée très
stable et très utilisée pour des serveurs, elle est idéale pour les débutants et m’a ainsi semblé la
plus indiquée pour nous.

5 Préparer le système, installer et configurer Raspbian
    Cette partie va nous amener à construire la base de notre projet. Nous allons installer Raspbian,
la distribution GNU/Linux sur laquelle nous installerons nos différents services tels que le serveur
http, le serveur ftp, etc. Cette partie du tutoriel se composera donc principalement d’une série
d’opérations et de commandes à effectuer, dont je vous expliquerai le sens au fur et à mesure.

5.1 Installation de Raspbian
    Nous commençons donc par installer Raspbian sur notre carte Micro SD. L’installation d’une
distribution sur un Raspberry Pi ne s’effectue pas de la même façon que sur un ordinateur. Nous
n’aurons pas besoin de faire un live-cd de la distribution et n’aurons pas d’installateur graphique.
En effet, l’installation consiste à écrire l’image de la distribution sur la carte Micro SD, et simple-
ment de booter dessus avec le Raspberry Pi. Une fois cela fait, notre Raspbian n’a plus qu’à être
configurée !
    Tout d’abord, nous aurons besoin de récupérer l’image .img de la distribution. Pour cela, rendez-
vous sur http://www.raspberrypi.org/downloads/ et téléchargez la dernière version de Rasp-
bian.
    Nous allons maintenant écrire cette image sur notre carte Micro SD. Il existe deux méthodes
selon le système d’exploitation sur lequel vous allez effectuer l’écriture.
    Votre carte Micro SD doit être formatée avec le système de fichiers FAT32 pour effectuer l’écri-
ture de l’image.

5.1.1 Sous Windows

   L’outil d’écriture d’image que nous allons utiliser sur un système Windows s’appelle Win32
Disk Imager.
   – Insérez votre carte SD dans le port approprié sur votre ordinateur.
   – Téléchargez le logiciel sur http://sourceforge.net/projects/win32diskimager/ et
      décompressez l’archive .zip.
   – Lancez l’exécutable Win32DiskImager. Sélectionnez l’image de Raspbian dans le premier
      champ, et la lettre de la carte SD dans le second. Veillez à sélectionner la bonne lettre (type
      G :, F :) représentant la carte SD. Si vous vous trompez, l’opération effacera tout le contenu
      de votre disque. Pour vérifier quelle lettre a été assignée à votre carte SD, allez dans le Poste
      de travail.
   – Lancer l’écriture avec le bouton « Write » et laissez l’opération se terminer.
   – Une fois l’écriture terminée, vous pouvez éjecter votre carte SD et passer à la suite de l’ins-
      tallation.

5.1.2 Sous GNU/Linux et Mac OS X

    L’outil d’écriture d’image est le même concernant les systèmes d’exploitation Mac OS X et ba-
sés sur GNU/Linux. Cet outil s’appelle dd et s’effectue en ligne de commande.
    – Commençons par lister les différentes partitions et différents périphériques actuellement
       montés sur notre système avec la commande df -h.

                                                  8
– Insérez votre carte SD dans le port approprié sur votre ordinateur et relancez la commande
     df -h pour afficher votre périphérique. Dans mon cas, la carte SD s’appelle /dev/mmcblk0p1.
     Ce nom représente la partition montée de la carte SD. Or, nous souhaitons installer Rasp-
     bian sur la totalité de la carte, aussi faut-il enlever l’identifiant de la partition, qui ici est p1.
     Nous devons donc seulement garder /dev/mmcblk0. Il se peut que le nom de la carte soit
     /dev/sdc1 ou /dev/sdd1, etc. Dans ce cas, vous aurez besoin d’enlever le 1 et de conserver
     /dev/sdc ou /dev/sdd. Pour la cohérence du tutoriel, je me baserai sur /dev/mmcblk0.
   – Nous allons maintenant démonter la carte SD, pour éviter que des fichiers ne soient lus ou
     écrits sur la carte pendant l’écriture de l’image. Pour cela, effectuez la commande umount
     /dev/mmcblk0.
   – Placez-vous dans le dossier où se situe l’image de Raspbian que vous avez téléchargé précé-
     demment et ouvrez-y un terminal. Pour écrire l’image sur la carte, effectuez la commande
     dd bs=4M if=2014-12-24-wheezy-raspbian.img of=/dev/mmcblk0. Ici, vous donnez
     trois paramètres à la commande : bs=4M indique à l’outil de laisser 4 Mo de libre au début de
     la carte, if=2014-12-24-wheezy-raspbian.img of=/dev/mmcblk0 indique le chemin
     où se trouve l’image de Raspbian, et of=/dev/mmcblk0 indique l’emplacement où écrire
     l’image. Veillez à bien renseigner les chemins correspondants pour ces deux derniers para-
     mètres. N’essayez pas d’interrompre le processus d’écriture même si vous ne voyez rien dans
     votre console témoignant de son activité. L’outil ne rend seulement qu’un compte-rendu de
     l’opération à la fin de l’écriture. Celle-ci peut durer plusieurs minutes, soyez patient !
   – Une fois que l’outil a terminé l’écriture, vous pouvez éjecter la carte SD et passer à la suite
     de l’installation.

5.1.3 Suite de l’installation

    Maintenant que l’image a été écrite sur la carte Micro SD, vous n’avez plus qu’à insérer votre
carte SD dans le port approprié sur le Raspberry Pi, et allumer la bête pour terminer l’installation.
Pour cela, branchez-le Raspberry Pi à votre modem avec le câble Ethernet, et branchez le câble
d’alimentation. L’installation est terminée !

5.2 Configuration de Raspbian
   Nous passons à un gros morceau de notre tutoriel : la configuration de Raspbian. Par celle-ci,
nous allons faire en sorte d’optimiser au mieux la distribution pour accueillir un serveur web.

5.2.1 Connexion au Raspberry Pi via SSH

     La première étape de la configuration consiste à rentrer dans le système d’exploitation à dis-
tance grâce à SSH. SSH est un protocole réseau qui a pour particularité d’être sécurisé grâce au
chiffrement : en effet, une connexion SSH impose un échange de clés de chiffrement, ce qui garan-
tit la sécurité de la communication. C’est par ce protocole que nous allons pouvoir nous connec-
ter au Raspberry Pi à distance. Comme nous l’avons vu à la fin de l’installation de Raspbian, votre
Raspberry Pi devrait être à ce stade allumé et raccordé à votre modem par un câble Ethernet.
     Pour nous connecter au Raspberry Pi via SSH, nous allons avoir besoin de connaître l’adresse
IP qui a été donnée à celui-ci. Pour cela, entrez dans la page d’administration de votre modem, en
tapant l’adresse IP de votre modem dans la barre d’url de votre navigateur favori. Généralement,
cette adresse est 192.168.0.1.
     Selon votre modem, vous devriez pouvoir accéder à un menu listant tous les matériels raccor-
dés au réseau émis par le modem. Dans la liste devrait apparaître notre chère framboise ! Retenez
bien son adresse IP pour la suite du tutoriel.

                                                   9
Pour utiliser le protocole SSH, deux choix s’offrent à nous : utiliser un client graphique ou la
ligne de commande. Je vous recommande d’utiliser la ligne de commande si vous êtes sur un sys-
tème GNU/Linux ou Mac OSX, et le logiciel PuTTY si vous utilisez Windows.

Connexion SSH en ligne de commande Si vous souhaitez utiliser PuTTY pour vous connecter
via SSH, passez directement au point suivant.
    Si vous souhaitez passer par votre terminal favori, ouvrez-le et effectuez simplement la com-
mande suivante :

ssh pi@ipdevotrerasp

    Dans cette commande, pi correspond au nom d’utilisateur avec lequel on souhaite se connec-
ter au Raspberry Pi. En effet, Raspbian créé deux utilisateurs par défaut : pi et root. Il vous suffit
de remplacer la chaîne ipdevotrerasp par l’adresse IP que vous deviez retenir quelques lignes
plus haut, et la connexion SSH est en route ! Mais ce n’est pas fini : en arrivant devant la porte de
votre Raspberry Pi, un mot de passe vous est demandé. Par défaut, celui-ci est raspberry. Nous
verrons plus loin comment le modifier.

Connexion SSH avec PuTTY Pour les amoureux de Windows et les réticents face à la ligne de
commande, voici un moyen de se connecter en SSH grâce à un logiciel doté d’une interface gra-
phique : PuTTY. Pour l’utiliser, il va falloir le télécharger ! Vous pouvez le faire sur http://www.
chiark.greenend.org.uk/~sgtatham/putty/download.html. Une fois que vous avez installé
le logiciel, lancez-le : vous arrivez sur l’interface de PuTTY.
     Cette interface se compose :
     – d’une entrée « Host Name » : c’est ici que l’on rentre l’adresse du serveur ou l’adresse IP à
       laquelle on souhaite se connecter.
     – d’une entrée « Port » : ici on indique quel port on souhaite utiliser pour la connexion.
     – d’un choix de différents protocoles réseau : on coche le protocole voulu.
     Dans notre cas, il vous faut compléter ces champs avec les valeurs suivantes :
     – l’entrée Host Name recueille l’adresse IP de votre Raspberry Pi que vous avez retenue quelques
       lignes plus haut.
     – l’entrée Port aura la valeur 22 : c’est le port généralement utilisé pour SSH.
     – Enfin, le protocole à choisir est bien évidemment SSH.
     Lancez la session. Vous voilà à la porte de votre Raspberry Pi ! Celui-ci vous demande de mon-
trer patte blanche en renseignant le nom d’utilisateur et le mot de passe de connexion : ceux-ci
sont pi et raspberry. Nous verrons ultérieurement comment modifier le mot de passe.

5.2.2 Configuration préliminaire et raspi-config

    Nous arrivons maintenant à la configuration pure et dure de Raspbian. Commençons par dé-
finir un mot de passe à l’utilisateur root :

sudo passwd root

     Entrons dans une session super-utilisateur avec la commande su :

su

    Pour des raisons de sécurité, nous prendrons l’habitude de nous connecter via SSH avec un
utilisateur lambda comme peut l’être l’utilisateur pi, puis nous nous identifierons comme admi-
nistrateur. Pour effectuer la configuration préliminaire de Raspbian, celle-ci embarque un petit

                                                 10
F IGURE 7 – Interface de PuTTY

             11
outil très pratique, qui par le biais d’une interface semi-graphique nous permettra de configurer
deux-trois petites choses au niveau de taille de mémoire allouée à la puce graphique, au niveau
des locales, etc. Lançons donc cet outil :

raspi-config
   Voici le menu sur lequel vous devriez tomber :

img interface raspi-config

Expand Filesystem Ce menu propose d’étendre la partition racine / sur toute la capacité de la
carte SD. Le choix d’effectuer cette opération ne dépend que de vous, sachez juste qu’à ce stade,
Raspbian utilise seulement environ 3 Go pour la partition système. Sur une carte SD de 8 Go, il
peut être intéressant d’étendre cette partition pour bénéficier du maximum de capacité.

Change User password Le second menu permet de changer le mot de passe de l’utilisateur pi.
Pour le moment nous n’avons pas besoin de faire cela, car pour des raisons de sécurité que je vous
détaillerai plus tard, nous allons supprimer l’utilisateur pi et le remplacer par un autre au nom de
votre choix.

Enable Boot to Desktop/Scratch Permet de changer les préférences de boot du Raspberry Pi. Pas
d’utilité pour nous.

Internationalisation Options Permet de régler l’heure, la date, le clavier et les fichiers de locales
de Raspbian. Sélectionnez les informations vous correspondant.

Enable Camera Utile pour activer le module caméra que peut accueillir un Raspberry Pi. Il va
sans dire qu’il ne nous sera d’aucune utilité ici.

Add to Rastrack Rastrack est une carte interactive recensant les localisations des différents Ras-
perry Pi enregistrés à travers le monde. Vous pouvez toujours le faire si cela vous amuse !

Overclock Ce menu vous propose d’overclocker le processeur du Raspberry Pi. Plusieurs niveaux
sont proposés. Personnellement, je n’ai pas eu besoin de cette fonctionnalité pour faire tourner
mon serveur auto-hébergé. Là aussi, c’est à vous de voir.

Advanced Options Ici, encore une liste de menu dont je ne ferai pas le tour. Un seul nous in-
téresse particulièrement : Memory Split. Ce menu vous permet de renseigner la quantité de mé-
moire que vous souhaitez rendre disponible pour le processeur graphique du Raspberry Pi. Dans
le cas d’un serveur web dénué d’interface graphique, nous allons renseigner la valeur minimale
possible : 4 Mo.
    Pour terminer la configuration préliminaire, sortez de l’outil raspi-config. Passons à la suite de
la configuration !

5.2.3 Configuration du réseau

    Nous allons désormais nous atteler à la configuration du réseau pour permettre au Raspberry
Pi d’avoir accès à Internet. Deux cas de figure sont envisageables : dans le premier cas, votre Rasp-
berry Pi restera à l’avenir connecté à votre modem de façon filaire, c’est à dire par le biais d’un
câble Ethernet. Deuxième possibilité : vous envisagez de connecter votre Rasp en utilisant un
dongle Wi-fi. Nous allons aborder les deux façons de procéder dans cette partie.

                                                 12
Connexion filaire Prenons ici le cas d’une connexion filaire au modem.
   Éditez le fichier /etc/network/interfaces :

nano /etc/network/interfaces

   Voici les quelques lignes qui vont venir former ce fichier :

auto lo
iface lo inet loopback
iface eth0 inet static
    address 192.168.xx.xx
    netmask 255.255.255.0
    network 192.168.xx.xx
    broadcast 192.168.1.255
    gateway 192.168.xx.xx

    Ces lignes définissent les paramètres réseaux de votre accès Internet. On voit tout d’abord l’in-
terface réseau renseignée, ici eth0. Cette interface réseau correspond à l’interface ethernet, ce qui
est notre cas. Ensuite viennent plusieurs adresses IP :
    – address : cette ligne renseigne l’adresse IP que nous allons donner au Raspberry Pi. Cette
      précision nous permet de lui assigner une IP fixe de façon à ce que nous la connaissions
      toujours. Il faut que cette adresse IP soit comprise dans la plage d’IP que votre modem vous
      met à disposition. Par exemple, on peut mettre 192.168.0.42.
    – netmask : cette ligne correspond au masque de sous-réseau. Cette valeur ne sera pas modi-
      fiée.
    – network : cette ligne contient l’adresse IP de votre modem. Généralement, celle-ci est 192.168.0.1.
    – broadcast : c’est l’adresse de diffusion. Elle ne sera pas modifiée.
    – gateway : cette adresse désigne la passerelle qui relie notre réseau local à Internet. Dans
      notre cas, c’est le modem qui fait office de passerelle. L’adresse à renseigner ici sera donc
      celle du modem.
    Remplacez donc le contenu du fichier par ces quelques lignes que vous aurez bien évidem-
ment complété avec vos informations. Le réseau est maintenant configuré. Vous n’avez plus qu’à
redémarrer le Raspberry Pi pour prendre en compte le changement d’adresse IP de ce dernier :

reboot

Connexion Wi-Fi Prenons le cas d’une connexion Wi-Fi au modem par le biais d’un dongle Wi-fi.
Vous verrez que je ne traite ici que le cas d’une connexion Wi-Fi protégée par une clé WPA, et que
je ne prendrai pas en compte le cas d’une connexion protégée par une clé WEP. En effet, il n’est
pas recommandé d’utiliser une clé WEP pour des raisons de sécurité : WEP n’est aujourd’hui pas
sécurisé et est déprécié.
    Pour configurer notre accès à Internet, nous allons utiliser le programme wpa_supplicant.
Commençons donc par l’installer :

apt-get update
apt-get install wpasupplicant

   Une fois cela fait, nous allons restreindre les permissions du fichier /etc/network/interfaces
pour empêcher que n’importe qui aille toucher à son contenu. En effet, il contiendra la clé WPA-
PSK du réseau que nous aurons au préalable « hashé », c’est-à-dire crypté.

chmod 0600 /etc/network/interfaces

                                                 13
Passons au hashage de la clé WPA-PSK, appelée également « clé pré-partagée ». Pour cela, vous
aurez besoin de connaître le SSID de votre réseau (le nom de votre réseau comme vous pouvez le
lire dans votre gestionnaire de connexions) et votre clé WPA-PSK.

wpa_passphrase  

    Cette commande devrait vous renvoyer trois lignes, avec dans la dernière une chaîne de ca-
ractères incompréhensible. C’est celle-ci qui nous intéresse pour la suite de la configuration du
réseau. Mémorisez-la ! Éditez le fichier /etc/network/interfaces :

nano /etc/network/interfaces

   Remplacez le contenu du fichier par ces quelques lignes que nous allons tout de suite analyser :

auto wlan0
iface wlan0 inet dhcp
        wpa-ssid 
        wpa-psk 

    Comme vous pouvez le voir, rien de bien compliqué ici : on appelle l’interface réseau wlan0
correspondant au Wi-Fi, puis il vous suffit de compléter les deux dernières lignes avec le SSID et
la clé hashée que vous deviez mémoriser précedemment. Une fois que vous avez sauvegardé ce
fichier, finissez la configuration du réseau avec cette commande :

ifup wlan0

   La configuration est terminée ! Vous n’avez plus qu’à redémarrer votre Raspberry Pi pour prendre
en compte les modifications :

reboot

5.2.4 Optimisation de Raspbian pour un serveur

   Nous voici arrivés à la dernière partie de notre longue configuration : l’optimisation de Rasp-
bian pour qu’elle puisse commencer son rôle de serveur sans tous les paquets et services superflus,
par exemple tout ce qui est lié à l’affichage graphique, le son, etc.

Suppression de modules, services et autres éléments inutiles Notre première étape dans ce
grand ménage de printemps consiste à ne laisser que deux terminaux. En effet, la distribution
Raspbian, comme beaucoup de distributions GNU/Linux, nous propose par défaut six terminaux,
nommés de tty1 à tty6. Nous allons donc supprimer les quatre derniers, de façon à en laisser un
pour la session actuelle, et un terminal de secours. Pour cela, éditez le fichier /etc/inittab :

nano /etc/inittab

   Cherchez les lignes correspondant aux six consoles disponibles et commentez les quatre der-
nières en les « diésant » comme ceci :

1:2345:respawn:/sbin/getty --noclear 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6

                                                14
Continuons notre oeuvre en désactivant le module de son, qui ne servira pas non plus. Éditez
le fichier suivant et commentez la seule ligne présente snd-bcm2835 :

nano /etc/modules

   En ce qui concerne les services inutiles, ils sont au nombre de trois : triggerhappy, plymouth et
plymouth-log. Quels sont leurs rôles pour que nous voulions les désactiver ?
   – triggerhappy est un service qui gère les évènements déclenchés par raccourcis clavier (par
     exemple la touche pour augmenter le son), ou depuis d’autres supports externes comme des
     joysticks, etc.
   – plymouth et plymouth-log sont le service qui affichent un joli écran de démarrage quand
     celui-ci est activé.
   Comme vous pouvez le voir, ces trois services sont inutiles pour notre futur serveur. Pour les
désactiver, il nous faut effectuer deux commandes par nom de service. La première consiste à
stopper le service pour l’empêcher de s’activer automatiquement à chaque démarrage :

/etc/init.d/ stop

    Il vous suffit donc de répéter trois fois cette commande en remplaçant chaque fois la chaîne
 par triggerhappy, plymouth et plymouth-log. La seconde commande consiste
à enregistrer les modifications effectuées avec la commande précédente :

update-rc.d -f  remove

   Là aussi, effectuez cette commande pour chaque service.

Gestion des utilisateurs Comme nous l’avons plus haut dans la première partie de la configu-
ration de Raspbian, nous allons effectuer quelques modifications sur les utilisateurs, et cela pour
une question de sécurité. En effet, l’utilisateur par défaut est pi. Cela est vrai pour toute Raspbian
nouvellement installée, cela constitue donc une vulnérabilité car si quelqu’un de mal intentionné
tente de rentrer dans un système Raspbian, il essayera en premier lieu de se connecter avec cet uti-
lisateur. Le supprimer et le remplacer par un utilisateur dont le nom a été choisi par vous rendra
la tâche plus difficile au pirate, qui devra deviner le nom d’utilisateur à utiliser pour se connecter.
Pour créer un nouvel utilisateur, voici la commande que nous allons utiliser :

useradd -m -d /home/ -s /bin/bash 

    Que signifie-t-elle ? Tout d’abord, on créé un utilisateur avec la commande useradd. Ensuite,
le premier paramètre de cette commande, -m, indique que nous allons créer un dossier personnel
pour l’utilisateur. Le paramètre -d suivi d’un chemin de répertoire indique où se trouve le dos-
sier personnel que nous décidons d’assigner à cet utilisateur. Le paramètre -s, lui aussi suivi d’un
chemin, indique quelle interface shell utiliser. L’interface shell est une couche logicielle permet-
tant la liaison homme-machine en fournissant une interface utilisateur. Ici, nous allons utiliser le
bon vieux bash, mais vous pouvez très bien utiliser d’autres shells, comme sh, zsh, etc. Enfin, on
termine notre commande en indiquant le nom de l’utilisateur que nous allons créer. Lancez donc
cette commande en remplaçant la chaîne  par le nom d’utilisateur que vous aurez choisi.
    Vous pouvez vérifier que votre utilisateur a bien été créé :

id 

   Définissez ensuite un mot de passe pour cet utilisateur :

                                                  15
passwd 

    Pour supprimer l’utilisateur pi, nous allons devoir nous déconnecter de notre session avec
l’utilisateur pi, nous indentifier avec le nouvel utilisateur créé, ouvrir une session super-utilisateur
et lancer la commande correspondante. Pour vous déconnecter d’une session, faites la combinai-
son de touche ||Ctrl+d||, nous allons donc lancer cette combinaison deux fois : une pour sortir de
la session super-utilisateur, et une deuxième pour sortir de la session pi. Reconnectez vous :

ssh @
su

   À ce stade, supprimons l’utilisateur pi et le groupe pi :

userdel pi
groupdel pi

Suppression des paquets inutiles Nous voici arrivés à la dernière étape de la configuration de
Raspbian, qui consiste à supprimer les paquets inutiles pour notre futur serveur. Rien de plus
simple, il vous suffit de désinstaller tous les paquets de la liste ci-dessous, comprenant des pa-
quets liés à l’environnement graphique :

apt-get update

aptitude purge xserver-xorg xserver-xorg-core xserver-xorg-input-all
xserver-xorg-input-evdev xserver-xorg-input-synaptics
xserver-xorg-video-fbdev xserver-common xpdf xinit x11-common x11-utils
x11-xkb-utils xarchiver screen pcmanfm penguinspuzzle lxde-common
lxappearance lxde-icon-theme lxinput lxmenu-data lxpanel lxpolkit
lxrandr lxsession lxsession-edit lxshortcut lxtask lxterminal
leafpad dillo galculator gnome-icon-theme gnome-themes-standard
gnome-themes-standard-data gpicview hicolor-icon-theme

   Vous pouvez également vérifier s’il reste des paquets inutiles à supprimer en installant le pro-
gramme deborphan :

apt-get install deborphan
deborphan

    Après avoir lancé le logiciel avec la commande deborphan, recupérez la liste sortie et procéder
comme pour la première liste de paquets avec aptitude purge.
    Vous voilà avec une Raspbian entièrement configurée pour accueillir votre serveur, nettoyée de
tous les éléments superflus. Dans la suite du tutoriel, nous allons nous intéresser individuellement
aux différents logiciels qui pourront agrémenter notre Raspberry Pi : le serveur web, le serveur FTP
et les logiciels de sécurité. Commençons dès le point suivant avec l’installation de Lighttpd, un
serveur web léger, rapide et simple à configurer !

6 Lighttpd, un serveur web léger, rapide et simple d’utilisation
    Nous passons à une partie plus simple, mais pas moins importante. À vrai dire, c’est une par-
tie cruciale pour nous car elle nous amènera à l’installation d’un serveur web, qui pourra nous
permettre de publier nos différents sites web sur Internet.

                                                  16
6.1 Qu’est-ce qu’un serveur web ?
    C’est la première question que vous vous êtes peut-être posé si vous êtes un parfait débutant.
J’en doute fort si vous lisez ce tutoriel, mais une petite piqûre de rappel théorique ne peut que
nous faire du bien.
    En fait, je vous induis en erreur depuis le début de ce tutoriel. En fait le terme « serveur web »
est très souvent employé à tort pour désigner ce qui en réalité s’appelle le serveur HTTP. Le serveur
web désigne la machine qui va accueillir le serveur HTTP et qui va stocker les sites web. Le serveur
HTTP quant à lui, est le logiciel qui va permettre de servir ces sites web grâce au protocole HTTP,
protocole dont le rôle est de créer une communication entre l’ordinateur client et l’ordinateur
serveur.
    Pourquoi la confusion est-elle faite entre ces deux termes ? Tout simplement parce que le pro-
tocole HTTP a été spécialement conçu pour le Web. Pour résumer notre cas, si on devait s’exprimer
correctement, notre serveur web est le Raspberry Pi, et notre serveur HTTP sera. . . Vous le décou-
vrirez dans la partie ci-dessous !

6.2 Le choix de Lighttpd
    Pour ce tutoriel, compte tenu du fait que nous hébergerons notre serveur HTTP sur un Rasp-
berry Pi, qui n’est pas une machine ultra-puissante, je vous conseille d’utiliser un serveur léger et
rapide. Le célèbre Apache sera donc un peu trop imposant pour notre configuration. C’est pour
cela que nous allons nous pencher sur Lighttpd (prononcé « Lighty »).
    Les avantages de Lighttpd sont les suivants : il est léger, rapide, et très simple à configurer.
Nous allons découvrir tout cela dans les parties suivantes qui nous conduiront à l’installation et la
configuration de notre serveur HTTP.

6.3 Installation et configuration de Lighttpd
  Lançons nous dans l’installation et la configuration du serveur HTTP. Celles-ci sont relative-
ment simples en suivant le tutoriel à la lettre.

6.3.1 Installation

   Connectez-vous à votre Raspberry Pi via SSH, ouvrez une session super-utilisateur avec la
commande su, et installez le paquet relatif à Lighttpd :

apt-get install lighttpd

   Nous allons en profiter pour installer de quoi permettre au serveur HTTP d’interpréter des
pages utilisant le langage PHP :

apt-get install php5-cgi

   Pour activer PHP sur le serveur HTTP, lancez les deux commandes suivantes :

lighty-enable-mod fastcgi
lighty-enable-mod fastcgi-php

   Puis redémarrez le serveur pour que les modifications soient prises en compte :

service lighttpd restart

   L’installation est déjà terminée.

                                                 17
6.3.2 Configuration et optimisation

    Les fichiers de configuration de Lighttpd sont au nombre de trois, et se situent dans le réper-
toire /etc/lighttpd :
    – lighttpd.conf : c’est le fichier de configuration principal, où on renseignera les modules
       à activer, les domaines et les sous-domaines utilisés, les contenus à mettre en cache, etc.
       Toutes les instructions principales à charger pour le fonctionnement de Lighttpd.
    – conf-available : ce répertoire contient les fichiers de configuration des modules installés
       sur notre Raspbian et que nous aurons la possibilité d’activer sur le serveur HTTP.
    – conf-enabled : ce répertoire contient les fichiers de configuration des modules activés dans
       le fichier de configuration principal de Lighttpd.

Renseigner les informations principales du site Penchons-nous sur le fichier de configuration
principal /etc/lighttpd/lighttpd.conf. Ouvrez-le avec votre éditeur de texte favori et analy-
sons son contenu :

server.modules = (
    "mod_access",
    "mod_alias",
    "mod_compress",
    "mod_redirect",
#       "mod_rewrite",
)

server.document-root                 =   "/var/www"
server.upload-dirs                   =   ( "/var/cache/lighttpd/uploads" )
server.errorlog                      =   "/var/log/lighttpd/error.log"
server.pid-file                      =   "/var/run/lighttpd.pid"
server.username                      =   "www-data"
server.groupname                     =   "www-data"
server.port                          =   80

index-file.names            = ( "index.php", "index.html", "index.lighttpd.html" )
url.access-deny             = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ( "application/javascript", "text/css",
"text/html", "text/plain" )

# default listening port for IPv6 falls back to the IPv4 port
## Use ipv6 if available
#include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

    Les sept premières lignes de ce fichier de configuration listent les modules activés sur le serveur
HTTP. Le # qu’on remarque devant la ligne concernant le module mod_rewrite indique que la
ligne est commentée, et donc que le module n’est pas activé.

                                                  18
Les sept lignes suivantes concernent la configuration de base du serveur HTTP, que vous pou-
vez modifier à votre convenance. Voyons celles qui nous intéressent particulièrement dans notre
cas :
    – server.document-root : la valeur de cette ligne renseigne le répertoire où se trouve les
       pages de votre ou vos sites web. Ici, le répertoire par défaut et qui est souvent utilisé pour cela
       est /var/www. Personnellement, organiser mes répertoires comme ceci : je place mes pages
       dans un dossier dans mon répertoire personnel (par exemple /home//monsite, et
       je créé un lien symbolique de ce dossier que je place dans le répertoire /var/www. À vous de
       choisir pour la valeur de cette ligne, donc.
    – server.port : la valeur de cette ligne correspond au port d’écoute du serveur. Ici, c’est le
       port 80, généralement associé au protocole HTTP.
    Ensuite vient la ligne index-file.names qui définit les fichiers d’index que le serveur affi-
chera en priorité dans un dossier. Là, comme pour les lignes restantes, on ne modifie rien.
    À chaque fois que vous modifiez le fichier de configuration principale, il vous faudra redémar-
rer le serveur HTTP pour prendre en compte les changements effectués :

service lighttpd restart

Ajouter des hôtes virtuels Si vous souhaitez ajouter un nom de domaine à votre site web, il va
vous falloir ajouter des hôtes virtuels. Les hôtes virtuels permettent d’associer un répertoire à un
nom de domaine ou un sous-domaine facilement. Voici le modèle de déclaration de nom de do-
maine à ajouter dans le fichier de configuration /etc/lighttpd/lighttpd.conf :

$HTTP["host"] == " {
        server.document-root = ""
        accesslog.filename = ""
        }

  Il vous suffit de renseigner les informations placées entre chevrons pour ajouter un nom de
domaine. Voici un exemple :

$HTTP["host"] == "monsite.fr {
        server.document-root = "/var/www/monsite"
        accesslog.filename = "/var/log/lighttpd/monsite.log"
        }

   N’oubliez pas de redémarrer le serveur.

Mise en cache des fichiers statiques Pour optimiser l’expérience utilisateur, nous allons confi-
gurer la mise en cache de certains fichiers statiques. Quand vous chargez une page web, certains
contenus ne changent pas pendant plusieurs jours, voire plusieurs semaines. Par exemple, les
images et les fichiers de feuilles de styles .css. Pour éviter de les charger pour rien à chaque vi-
site du site, nous allons placer ces types de fichiers dits « statiques » dans le cache du navigateur
du visiteur. Cela diminuera le temps de chargement de la page visitée.
    Tout d’abord, ajoutez le module mod_expire dans la liste de début de fichier pour l’activer :

server.modules = (
    "mod_access",
    "mod_alias",
    "mod_compress",
    "mod_redirect",

                                                   19
"mod_expire",
#        "mod_rewrite",
)

    Puis ajoutez les quelques lignes suivantes dans votre fichier de configuration :

$HTTP["url"] =~ "\.(jpg|gif|png|css|js)$" {
    expire.url = ( "" => "access 15 days" )
}

    Comme vous pouvez le voir, ces lignes prévoient la mise en cache des fichiers .jpg, .gif, .png,
.css et .js pour une durée de 15 jours. Ainsi, si vous visitez plusieurs fois le site, les fichiers corres-
pondant à ces extensions ne seront pas rechargés pendant 15 jours.
    N’oubliez pas de redémarrer le serveur.

Configurer un accès HTTPS pour votre site –
   Vous voilà possesseur d’un serveur HTTP complètement fonctionnel est entièrement confi-
guré !

7 PureFTPd, envoyez du contenu sur votre serveur grâce à FTP
    Après avoir installé notre serveur web, passons à notre serveur FTP.

7.1 Le protocole FTP
    Avant de commencer l’installation de notre serveur FTP, laissez-moi vous expliquer ce qu’est
le protocole FTP et à quoi sert-il. Comme vous avez pu le voir grâce à notre chère balise html
, le sigle FTP signifie File Transfer Protocol, littéralement Protocole de transfert de fi-
chiers. Ce sigle nous a déjà tout dit ! Le protocole FTP sert donc à l’échange de fichiers sur Inter-
net. Il peut être utilisé aussi bien pour télécharger des fichiers depuis un serveur vers un ordina-
teur client (download) que pour envoyer des fichiers depuis un ordinateur client vers un serveur
(upload). Plus concrètement, dans le cas d’un serveur web le protocole FTP est utilisé pour envoyer
les contenus constituant les sites web (pages .html, fichiers .css, etc.).
    Pour utiliser le protocole FTP, nous avons besoin de deux programmes :
    – Le client FTP : c’est le programme qui permet d’envoyer ou de télécharger des fichiers sur
       le serveur. Il existe des clients FTP dotés d’une interface graphique, comme FileZilla, ou en
       ligne de commande (ftp, lftp, ncftp, etc.). Personnellement, cela fait quelques années que
       j’utilise une extension pour le navigateur web Mozilla Firefox, appelée FireFTP qui est très
       sympa à utiliser.
    – Le serveur FTP : ce programme contient les fichiers envoyés et téléchargés, et gère les utili-
       sateurs. C’est ce programme que nous allons héberger.

7.2 Quel serveur FTP choisir ?
   Quand j’ai commencé l’auto-hébergement, il m’a fallu choisir entre une multitude de serveurs
FTP différents, et j’étais un peu perdu. PureAdmin, ProFTPd, VsFTPd, PureFTPd. . . Mon choix s’est
tourné vers un serveur sans interface graphique, conçu pour être le plus épuré et le plus simple
possible, en cohérence avec le principe KISS m’étant si cher : j’ai nommé PureFTPd. Découvrons
tout de suite comment procéder à son installation !

                                                    20
7.3 Installation de PureFTPd
   Nous allons commencer par installer le paquet relatif à PureFTPd :

sudo apt-get install pure-ftpd

   Maintenant que le paquet est correctement installé, nous allons devoir configurer tout ça.
Nous allons commencer par créer le groupe d’utilisateur ftpgroup ainsi que l’utilisateur ftpuser
auquel seront mappés les utilisateurs virtuels du serveur FTP. Création du groupe d’utilisateur
ftpgroup :

sudo groupadd ftpgroup

   Création de l’utilisateur ftpuser, avec pour répertoire racine /dev/null et comme invite de
commande /usr/sbin/nologin, ce qui lui interdit l’accès à un terminal :

sudo useradd -g ftpgroup -d /dev/null -s /usr/sbin/nologin ftpuser

  Ajoutons maintenant un utilisateur virtuel à notre serveur. Voilà comment se présente la com-
mande :

sudo pure-pw useradd  -u  -g  -d 

    Décortiquons cette commande. On déclare en premier le nom de l’utilisateur virtuel que nous
allons créer, par exemple azerty. L’UID et le GID correspondent respectivement à l’identifiant de
l’utilisateur réel ftpuser et l’identifiant du groupe ftpgroup. Enfin, le répertoire racine est le
dossier dans lequel l’utilisateur sera chrooté durant la session FTP, c’est-à-dire qu’il ne pourra pas
remonter plus haut que ce dossier dans l’arborescence du serveur. Créons par exemple le dossier
/var/www/azerty pour cela :

sudo mkdir /var/www/azerty

   Et enfin, notre commande complétée :

sudo pure-pw useradd azerty -u ftpuser -g ftpgroup -d /var/www/azerty

    Je vous laisse adapter le nom d’utilisateur et le chemin du dossier racine en fonction de votre
cas.
    Désormais, il nous faut générer le fichier des utilisateurs virtuels avec cette commande :

sudo pure-pw mkdb

    La re-génération du fichier des utilisateurs virtuels sera nécessaire chaque fois que vous ajou-
terez un utilisateur virtuel ou que vous changerez le mot de passe de l’un d’eux. Au passage, voici
la commande pour changer le mot de passe d’un utilisateur virtuel :

sudo pure-pw passwd 

   Redémarrons le serveur FTP pour qu’il prenne en compte les modifications et les ajouts :

sudo /etc/init.d/pure-ftpd restart

   Puis vérifions que notre utilisateur virtuel a bien été créé :

                                                  21
Vous pouvez aussi lire