Serveur d'impression

Un serveur de fichiers et d'impression Raspberry Pi – leib.be – Bien choisir son serveur d impression

Le 30 juin 2019 - 15 minutes de lecture

Récemment, je cherchais des options pour acheter un «serveur domestique» de salon permettant de centraliser certains services tels que le serveur de fichiers et d'impression, le serveur multimédia, etc.

Je n’ai pas tardé à réaliser que, avec moins d’argent, je pouvais obtenir toute une légion de petits micro-ordinateurs effectuant le même travail mieux et de manière plus sécurisée; et utilisez moins d'énergie en le faisant.

C'était bien sûr le prétexte pour acheter mon premier Raspberry Pi. Quelques autres devraient suivre… Cet article commence une petite série expliquant ce que j'ai fait et comment je l'ai fait. Aujourd’hui, je vais examiner le premier type de serveur, le plus simple:

# 1: serveur d'impression et de fichiers

Jusqu'à présent, j'avais une imprimante USB (un Brother HL-2030) connectée au PC familial dans le salon. L’imprimante a été partagée afin que nous puissions imprimer à partir de n’importe quel ordinateur, mais bien sûr, cela ne fonctionnait que lorsque le PC était allumé et que l’impression était réalisée à partir d’un iPad ou d’un iPhone? Qui essaierait même de faire ça?

Le même PC avait également un grand disque dur USB connecté (2 Go). Cela a servi de disque de sauvegarde, principalement pour les fichiers multimédias, la collection de musique, les installateurs de logiciels, etc.

Cela semblait être une bonne étude de cas sur l’utilisation d’un «Raspi» en tant que serveur domestique. En fait, cela s’est même avéré plus facile que prévu. Voici ce dont vous avez besoin:

  • Raspberry Pi, modèle B
  • Une carte mémoire (4 Go ou plus, classe 6 ou supérieure)
  • Une alimentation appropriée
  • un cas pour le Raspberry Pi
  • Câble Ethernet (et un port libre dans votre routeur)

Bien sûr, les ressources que vous souhaitez servir:

  • Un disque dur USB
  • Une imprimante USB

Pendant le processus d'installation, vous aurez également besoin de:

  • Un clavier USB
  • Un ordinateur avec un lecteur de carte
  • Un câble HDMI et un téléviseur avec entrée HDMI (ou un adaptateur pour ce que vous avez), ou
  • alternativement: un câble RCA et des adaptateurs possibles pour le connecter à votre moniteur ou à votre téléviseur

Quelques notes sur ces articles:

  • Bien que ce projet devrait Si vous travaillez avec une carte SD de 2 Go, il est recommandé d’en utiliser une d’au moins 4 Go. En fait, je n'achète actuellement rien de moins de 16 Go, car ils offrent aujourd'hui le meilleur rapport qualité-prix.
  • L’interface de la carte Raspberry ne peut pas lire ou écrire plus vite que ca. 20 Mo / s. Ne gaspillez pas d’argent pour des cartes beaucoup plus rapides que cela. Mais n'utilisez pas non plus une carte beaucoup plus lente.
  • Avant d'acheter une carte SD, vérifiez la liste de compatibilité. Toutes les cartes ne fonctionnent pas.
  • De nombreux chargeurs de téléphones portables peuvent être utilisés comme sources d'alimentation. Vérifiez vos tiroirs avant d’en acheter un nouveau, mais sachez que certains adaptateurs secteur sont connus pour causer des problèmes. Il existe bien sûr une autre liste de compatibilité pour ceux-ci.
  • Le clavier n’est nécessaire que pendant une courte période au cours de la phase d’installation. Si vous n’en avez pas, vous pouvez probablement l’emprunter de votre PC…
  • La même chose s'applique au câble HDMI. Vous pouvez probablement en emprunter un dans un terminal pour les quelques minutes où vous en aurez besoin.
  • Il est possible d’utiliser un dongle WiFi USB au lieu d’un câble réseau. Dans ce cas, vous aurez probablement aussi besoin d'un concentrateur USB et si vous en avez un, alors un «modèle A» Raspberry pourrait vous suffire. Ceci n'est toutefois pas couvert par ce guide.

1. Configuration

Configurez la carte SD conformément aux instructions fournies ici. Pour cette construction, vous devez télécharger et installer le dernier paquet Raspbian ou l’image NOOBS, puis sélectionner Raspbian dans le menu. Ce dernier est plus facile à installer sur la carte SD mais nécessite plus d’espace (4 Go minimum).

Insérez ensuite la carte dans votre Raspberry, connectez le téléviseur, le réseau, le clavier et l’alimentation (dans cet ordre) et regardez-la démarrer.

La première fois que Raspbian est démarré, il vous demande si vous souhaitez configurer le système. Bien sûr que tu fais:

  • changer le mot de passe pour quelque chose dont vous vous souviendrez (mais personne d'autre ne peut le deviner)
  • Si vous avez plus d'un Raspberry, vous devez changer son nom en un nom unique pour votre réseau (besoin d'inspiration?)
  • assurez-vous d'activer SSH pour pouvoir vous connecter à la ligne de commande depuis votre ordinateur
  • définir la disposition et l'emplacement du clavier dans les options d'internationalisation
  • Fractionnement de la mémoire indique la quantité de mémoire réservée aux graphiques. Réglez-le au minimum («16»).

À la fin, votre Raspberry sera redémarré et vous obtiendrez une toute nouvelle fenêtre de console où vous pourrez vous connecter ou simplement vous connecter avec un client SSH au Raspberry.

Sous Windows, PuTTY semble être un bon client. Un de ses avantages est que vous pouvez simplement coller du texte en cliquant dessus avec le bouton droit de la souris. Cela accélère un peu les choses.

Mettre à jour le système

Vous devriez prendre l’habitude de vérifier régulièrement les paquets mis à jour en entrant

sudo apt-get update

et bien sûr, installez tous les paquets mis à jour:

sudo apt-get upgrade

À tout le moins, vous devriez le faire maintenant.

Changer la résolution de l'écran (facultatif)

Si vous souhaitez utiliser votre téléviseur comme moniteur, il est fort probable que la résolution de l'écran soit trop élevée pour le confort (autrement dit, à moins d'être assis très près de l'écran, auquel cas l'écran est probablement trop grand pour fonctionner confortablement ..)

Commencez par identifier les résolutions que le moniteur comprend en entrant la commande suivante:

tvservice -d edid

Cela générera un nouveau fichier (binaire) nommé "edid" contenant les informations de résolution. Pour analyser cela dans un format lisible par l'homme, utilisez la commande suivante:

edidparser edid

Ceci produit une longue liste (dans la plupart des cas) de résolutions que votre téléviseur peut gérer. Notez que certains sont “CEA” et les autres modes “DMT”. Pour tout ce dont nous avons besoin dans cette version, il n'y a pas de différence entre eux, mais il est bon de savoir que DMT ne prend pas en charge la transmission du son via le lien HDMI. Par conséquent, si vous souhaitez reproduire des sons sur votre téléviseur, choisissez plutôt un Mode CEA.

Pour moi, 720 × 480 à 60Hz ou 720 × 576 à 50Hz me paraissaient être des résolutions d’écran raisonnables dans les cas où je souhaiterais peut-être regarder la sortie de Raspberry. Rappelez-vous simplement les codes de votre résolution préférée. Nous allons forcer le Raspberry à utiliser cette résolution à partir de maintenant:

sudo nano /boot/config.txt

Cela ouvre le fichier de configuration de démarrage. De nombreux paramètres modifient certains aspects du fonctionnement de Raspery Pi cachés ici, mais nous ne sommes intéressés que par deux lignes (déplacez-vous vers le bas d'un écran ou plus pour les trouver:

# hdmi_group = 1
# hdmi_mode = 1

Pour les activer, commencez par supprimer le signe dièse devant les deux lignes, puis modifiez-les: si vous choisissez un paramètre CEA, hdmi_group doit être «1», dans le cas du mode DMT, il doit être «2». Deuxièmement, hdmi_mode devrait bien sûr être le code que nous avons établi précédemment. Dans mon cas, cette section ressemble maintenant à ceci:

hdmi_group = 1
hdmi_mode = 18

À moins que vous ne sachiez ce que vous faites, je vous recommande fortement de ne toucher à rien d'autre dans ce fichier (si vous êtes curieux, une documentation est disponible pour ce fichier, bien sûr).

Appuyez sur Ctrl-O pour enregistrer le fichier (appuyez sur Entrée pour confirmer), puis sur Ctrl-X pour quitter l'éditeur. Après avoir redémarré le Raspery Pi avec
sudo shutdown -r now
vous devriez voir la nouvelle résolution de l'écran.

Installer le réseau ZeroConfig (facultatif)

ZeroConfig est un protocole réseau qui, tout simplement, vous permet de découvrir des services sur votre réseau sans vous occuper d'adresses IP, etc.

L'installation est assez simple. Commencez par installer le démon Avahi:

sudo apt-get install avahi-daemon
Ensuite, assurez-vous qu'il est lancé en tant que serveur:
sudo insserv avahi-daemon
Maintenant, assurez-vous que le serveur sait également quoi annoncer. Ceci est défini dans un fichier XML. Un exemple simple serait:



% h

_device-info._tcp0modèle = RaspberryPi


_ssh._tcp22


Le moyen le plus simple d’obtenir ce fichier sur le serveur est de se connecter via SSH (voir ci-dessus) et de lancer un éditeur de texte:
sudo nano /etc/avahi/services/multiple.service
Ensuite, copiez et collez simplement le texte ci-dessus dans la fenêtre, appuyez sur Ctrl-O pour enregistrer, puis sur Ctrl-X pour quitter.

Vous devriez maintenant pouvoir faire référence à votre Raspberry Pi par son nom de réseau ZeroConfig. C'est toujours le nom de la machine (par défaut: “raspberrypi”) plus l'extension “.local”. Par conséquent, le nom complet, si vous ne modifiez pas le nom d’hôte, doit être «raspberrypi.local».

Pendant que vous y êtes, vous devriez également envisager d’installer des outils supplémentaires pour gérer les services Avahi.
sudo apt-get install avahi-utils
À tout le moins, cela vous permet de voir si d'autres annonces de service ZeroConfig peuvent être vues à partir de cette machine en entrant:
avahi-browse -at

2. Installation du serveur de fichiers NAS

Cela vous permettra d'accéder au contenu d'un disque dur à partir de n'importe quel ordinateur du réseau.

Installer le support de fichier NTFS (facultatif)

Si vous envisagez d'ajouter ultérieurement un lecteur USB installé dans le système de fichiers NTFS, vous devez d'abord installer le support NTFS en exécutant:
sudo apt-get install ntfs-3g
Si, par contre, vous utilisez uniquement FAT ou ext comme système de fichiers, vous pouvez ignorer cette étape en toute sécurité.

Montez la clé USB

En principe, vous pouvez utiliser cette technique pour partager tout type de volume USB: clés, disques durs, etc. Cependant, il est probablement plus utile de connecter un disque dur USB car le rapport entre l’espace disque et $ moneyunit est optimal. N'oubliez toutefois pas que le Raspberry ne peut pas alimenter des disques durs énergivores via son port USB. Vous devez donc utiliser un boîtier doté de sa propre alimentation.

Vous pouvez également connecter plusieurs lecteurs USB: soit via le deuxième port USB (si vous ne souhaitez pas l'utiliser également comme serveur d'impression), soit via un concentrateur USB.

Il suffit de brancher la clé USB sur votre Raspberry. Il devrait être reconnu automatiquement (bien que non monté automatiquement) et apparaître sous la forme / dev / sda ou / dev / sdb

Pour trouver son nom d'appareil, lancez simplement
sudo fdisk -l
Vous devriez obtenir un résultat similaire à ceci:

Disque / dev / mmcblk0: 15,9 Go, 15931539456 octets
4 têtes, 16 secteurs / piste, 486192 cylindres, total 31116288 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille du secteur (logique / physique): 512 octets / 512 octets
Taille d'E / S (minimum / optimal): 512 octets / 512 octets
Identificateur de disque: 0x00047c7a

Périphérique d'amorçage Début Fin Bloque l'id du système
/ dev / mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA)
/ dev / mmcblk0p2 122880 31116287 15496704 83 Linux

Disque / dev / sda: 2000,4 Go, 2000398934016 octets
255 têtes, 63 secteurs / piste, 243201 cylindres, total 3907029168 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille du secteur (logique / physique): 512 octets / 512 octets
Taille d'E / S (minimum / optimal): 512 octets / 512 octets
Identificateur de disque: 0x918fd713

Périphérique d'amorçage Début Fin Bloque l'id du système
/ dev / sda1 63 3907024064 1953512001 c W95 FAT32 (LBA)

Il est facile de voir: la première entrée (ici / dev / mmcblk0) est évidemment la carte SD, la deuxième est celle que nous recherchons: le lecteur USD est à “/ dev / sda“, Le premier (et unique) système de fichiers qu’il contient est une partition FAT32 située à / dev / sda1.

Montons maintenant ce système de fichiers quelque part utile
sudo mkdir / media / usbhd1
sudo mount -t auto / dev / sda1 / media / usbhd1
Et pour vous assurer que votre Raspberry s'en souvient lors de votre prochain démarrage, ajoutez-le au fameux fichier fstab:
sudo nano / etc / fstab
en ajoutant simplement la ligne suivante à la fin du fichier:
/ dev / sda1 / media / usbhd1 auto noatime 0 0
Ensuite, la même procédure que la dernière fois: Ctrl-O, Entrée, Ctrl-X. Prêt.

Installer Samba

Samba est le composant qui gère réellement le partage de fichiers Windows. Commençons par installer tous les composants requis:
sudo apt-get installez samba samba-common-bin
Et avant de commencer à éditer le fichier de configuration Samba, c’est toujours une bonne idée de faire une sauvegarde:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Il est temps de démarrer l'éditeur:
sudo nano /etc/samba/smb.conf
Dans l'éditeur, recherchez d'abord la ligne suivante:
groupe de travail = groupe de travail
Ceci est évidemment votre nom de groupe de travail Windows. Pour la plupart d'entre nous, «WORKGROUP» est parfait, car c'est également ce que Windows utilise par défaut. Si vous utilisez un nom de groupe de travail différent, veuillez le modifier ici.

Ensuite, descendez jusqu'à trouver la section «Authentification». Il devrait y avoir une ligne comme ceci:
# sécurité = utilisateur
Supprimez simplement le symbole de hachage au début de la ligne pour activer la sécurité de l'utilisateur.

Enfin, nous ajoutons une toute nouvelle section à la fin du fichier (faites défiler jusqu'au bas)

[Shared]
comment = disque partagé
chemin = / media / usbhd1
utilisateurs valides = @ utilisateurs
groupe de force = utilisateurs
créer un masque = 0660
masque de répertoire = 0771
lecture seule = non

Le nom de la section (le texte entre crochets – ici «Partagé») sera le nom du dossier tel qu'il apparaîtra sur le partage réseau. Vous pouvez bien sûr changer ce que vous voulez; De même la valeur du commentaire.

Encore une fois: Ctrl-O pour enregistrer, appuyez sur Entrée, Ctrl-X pour quitter l'éditeur.

Ajouter des utilisateurs

Ensuite, nous devons ajouter des comptes d'utilisateurs pouvant se connecter au serveur:

La ligne suivante ajoute un nouvel utilisateur «user01» (il ne s'agit que d'un exemple, vous pouvez utiliser un autre nom) et l'ajoute au groupe «utilisateurs»:
sudo useradd user01 -m -G utilisateurs
Définissez immédiatement le mot de passe de ce nouvel utilisateur:
sudo passwd user01
Et entrez le nouveau mot de passe deux fois.

Ajoutez enfin ce nouvel utilisateur également au système Samba:
sudo smbpasswd -a sascha
C'est tout. Veuillez répéter ces étapes pour tous les utilisateurs que vous souhaitez ajouter.

Lorsque vous avez terminé, redémarrez le Raspberry:
sudo shutdown -r now
puis essayez de vous connecter à partir d’une machine Windows. Il devrait trouver le serveur par son nom d'ordinateur sur le réseau et vous devriez pouvoir vous connecter au dossier partagé.

3. Installez le serveur d'impression

Pour pouvoir utiliser votre Raspberry comme serveur d'impression, vous devez d'abord installer le logiciel CUPS:

Configuration de CUPS

Charger et installer le paquet CUPS:
sudo apt-get install cups
CUPS est configuré par défaut pour fonctionner en tant que serveur d'impression local. Pour l'utiliser sur un réseau, nous devons modifier certains paramètres du fichier de configuration:
sudo nano /etc/cups/cupsd.conf
Premièrement, trouvez la ligne qui dit:
Écouter localhost: 631
Cette ligne indique d'où et sous quel port l'interface utilisateur est accessible. Pour pouvoir administrer les imprimantes à partir de n’importe quel ordinateur du réseau, modifiez cette ligne pour:
Écoutez *: 631
Recherchez ensuite les différentes sections qui commencent par
<Lieu
et ajoutez simplement la ligne suivante à la fin de chaque section (c'est-à-dire juste avant la clôture" ligne):
Autoriser @Local
il devrait y avoir trois endroits où vous devez ajouter ceci.

Ensuite, vous devez redémarrer le service CUPS. Vous pouvez simplement redémarrer l’ensemble de l’ordinateur (voir ci-dessus), mais il suffit de redémarrer CUPS en:
sudo /etc/init.d/cups restart

Avant que quiconque puisse imprimer, vous devez ajouter tous les utilisateurs pouvant imprimer dans le groupe «lpadmin»:

sudo usermod -a -G lpadmin user01

Bien sûr, vous devez remplacer "user01" par le nom d'utilisateur actuel. Faites cela pour chaque utilisateur que vous souhaitez ajouter.

Ajouter une imprimante

Connectez maintenant votre imprimante au port USB, puis utilisez votre navigateur Web pour vous connecter à l'interface Web CUPS. Si vous avez installé le démon Avahi comme décrit ci-dessus, vous pouvez probablement utiliser un lien tel que:

Sinon, vous pouvez utiliser l'adresse IP. Dans tous les cas, vous devez ajouter le numéro de port spécifié à l'étape précédente.

Suivez simplement les instructions sur les pages Web pour ajouter l’imprimante. C’est tout, vous avez terminé.

Autres idées

Pas encore essayé, mais peut-être intéressant: il devrait être possible de partager votre bibliothèque musicale via ZeroConf. Voici plus d'informations.

Puisqu'aucun autre service Web n'est exécuté sur le Raspberry, l'interface Web de CUPS pourrait tout aussi bien écouter sur le port 80.[testeditworks!)[testeditworks!)[testeditworks!)[testeditworks!)

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.