GNU/Linux >> Tutoriels Linux >  >> Cent OS

Configurer le serveur d'impression CUPS sur CentOS 8/RHEL 8 (Bonjour, IPP, Samba, AirPrint)

Ce didacticiel vous montrera comment partager une imprimante connectée à un ordinateur CentOS 8/RHEL 8 avec des clients Windows, macOS et iOS sur le même réseau. CUPS (Common Unix Printing System) est le système d'impression par défaut sous Linux, FreeBSD et macOS. Votre environnement de bureau Linux peut avoir un utilitaire de configuration d'imprimante dédié, mais ils utilisent tous CUPS sous le capot. L'imprimante CUPS peut être partagée sur le réseau à l'aide de plusieurs protocoles, notamment :

  • Bonjour + IPP :Bonjour, également connu sous le nom de mDNS/DNS-SD (découverte de service DNS/DNS multidiffusion), permet à un ordinateur de trouver des services sur le réseau local. IPP (Internet Printing Protocol) est le protocole de transport.
  • PME :alias Samba, principalement utilisé pour partager des fichiers et des imprimantes avec des clients Windows.
  • AirPrint  :permet aux clients iPhone, iPad et macOS d'imprimer via Wi-Fi.

Chaque protocole a ses avantages et ses inconvénients. Tout d'abord, je vais vous montrer comment installer et configurer CUPS. Ensuite, nous apprendrons à partager l'imprimante CUPS via les 3 protocoles ci-dessus. Je recommande d'utiliser les 3 méthodes pour partager votre imprimante, afin que les utilisateurs puissent trouver une imprimante disponible sur le réseau local avec un minimum d'effort.

Étape 1 :Installer et configurer CUPS sur CentOS 8/RHEL 8

L'édition de bureau CentOS 8/RHEL 8 a CUPS pré-installé. Si vous utilisez l'édition serveur CentOS 8/RHEL 8, vous devez exécuter la commande suivante pour installer CUPS à partir du référentiel CentOS 8/RHEL 8 par défaut.

sudo dnf install cups

Ensuite, lancez CUPS.

sudo systemctl start cups

Activer le démarrage automatique au démarrage.

sudo systemctl enable cups

Vérifiez son état :

systemctl status cups

Exemple de sortie :

Ensuite, modifiez le fichier de configuration principal de CUPS avec un éditeur de texte en ligne de commande comme Nano.

sudo nano /etc/cups/cupsd.conf

Par défaut, l'interface Web CUPS n'est disponible que sur localhost:631 . Si vous exécutez l'édition serveur CentOS 8/RHEL 8, vous souhaiterez peut-être que CUPS écoute sur toutes les interfaces réseau disponibles, afin de pouvoir accéder à l'interface Web CUPS à partir d'autres ordinateurs. Trouvez la ligne suivante.

Listen localhost:631

Remplacez-le par ce qui suit, afin que CUPS écoute sur toutes les interfaces réseau.

Port 631

La ligne suivante fera en sorte que CUPS affiche les imprimantes partagées sur le réseau local, afin que les autres ordinateurs du même réseau puissent voir les imprimantes connectées à votre ordinateur CentOS 8/RHEL 8.

Browsing On

Trouvez ensuite les lignes suivantes.

<Location />
  Order allow,deny
</Location>

La configuration ci-dessus permet uniquement l'accès à l'interface Web CUPS à partir de localhost. Pour autoriser l'accès à partir d'autres ordinateurs du même réseau, ajoutez Allow @LOCAL à la configuration comme ci-dessous.

<Location />
  Order allow,deny
  Allow @LOCAL
</Location>

Si vous souhaitez autoriser l'administration à distance depuis le réseau local, ajoutez-le également pour le /admin répertoire.

<Location /admin>
  Order allow,deny
  Allow @LOCAL
</Location>

Enregistrez et fermez le fichier. Redémarrez ensuite CUPS pour que les modifications prennent effet.

sudo systemctl restart cups

Nous devons autoriser les clients du même réseau à accéder au port 631 sur votre ordinateur CentOS 8/RHEL 8.

sudo firewall-cmd --permanent --add-port=631/tcp

Rechargez le pare-feu pour que la modification prenne effet.

sudo systemctl reload firewalld

En plus du principal cups.service , il y a aussi cups-browsed.service , qui est utilisé pour numériser et ajouter une imprimante à partir du réseau local. Si vous souhaitez que votre ordinateur CentOS 8/RHEL 8 puisse utiliser d'autres imprimantes sur le réseau local, démarrez ce service.

sudo systemctl start cups-browsed

Et activez le démarrage automatique au démarrage.

sudo systemctl enable cups-browsed

Étape 2 :Installez le pilote de votre imprimante sur CentOS 8/RHEL 8

Vous devez installer le pilote sur CentOS 8/RHEL 8, afin qu'il puisse reconnaître et utiliser l'imprimante. Si vous avez une imprimante HP, vous pouvez facilement installer le pilote avec la commande suivante.

sudo dnf install hplip

Je recommande également d'installer les gutenprint-cups package, qui fournit les pilotes CUPS pour les imprimantes Canon, Epson, HP et compatibles.

sudo dnf install gutenprint-cups

Si vous avez d'autres imprimantes, vous pouvez trouver des pilotes sur openprinting.org.

Après avoir installé le pilote, vous devrez peut-être reconnecter l'imprimante au port USB de votre ordinateur CentOS 8/RHEL 8. Pour tester si le pilote fonctionne correctement, vous pouvez créer un fichier texte sur CentOS 8/RHEL 8 :

echo "LinuxBabe is awesome!" > file.txt

Exécutez ensuite la commande suivante pour imprimer ce fichier texte à partir de la ligne de commande.

lp file.txt

Il s'agit d'une méthode très rudimentaire, alors ne vous souciez plus de la qualité d'impression maintenant.

Étape 3 :Partager l'imprimante CUPS via le protocole Bonjour/IPP

Installation du démon Avahi

CUPS peut annoncer sa présence sur le réseau via le protocole mDNS (DNS multicast) et DNS-SD (DNS Service Discovery), également connu sous le nom de Bonjour. Pour ce faire, vous devez installer et exécuter avahi-daemon , qui est un service similaire au service Apple Bonjour qui permet aux ordinateurs de découvrir automatiquement les appareils et services partagés sur le réseau local.

sudo dnf install avahi

Nous devons également installer le nss-mdns package du référentiel EPEL, nécessaire aux clients pour résoudre .local domaine sur le réseau.

sudo dnf install epel-release

sudo dnf install nss-mdns

Démarrez avahi-daemon.

sudo systemctl start avahi-daemon

Activer le démarrage automatique au démarrage.

sudo systemctl enable avahi-daemon

Avahi-daemon écoute sur le port UDP 5353. Ouvrez-le dans le pare-feu.

sudo firewall-cmd --permanent --add-port=5353/udp

Rechargez le pare-feu pour que la modification prenne effet.

sudo systemctl reload firewalld

Impression sans pilote IPP

Bonjour est utilisé pour annoncer l'imprimante sur le réseau local. Pour que les clients et le serveur CUPS communiquent entre eux, IPP (Internet Printing Protocol) est nécessaire. L'avantage d'IPP est que les clients peuvent utiliser l'imprimante partagée sans installer de pilote sur leurs propres appareils. CUPS prend en charge IPP prêt à l'emploi, vous n'avez donc rien d'autre à faire pour partager l'imprimante CUPS via IPP.

Étape 4 :Ajouter une imprimante sur les ordinateurs clients

Clients macOS et Linux

Étant donné que macOS et la plupart des distributions de bureau Linux ont CUPS installé comme système d'impression par défaut, une fois que vous avez activé le partage d'imprimante via Bonjour/IPP sur la boîte CentOS 8/RHEL 8, les utilisateurs macOS et Linux du même réseau peuvent automatiquement utiliser l'imprimante. Lorsqu'ils cliquent sur l'option d'impression dans les applications (traitements de texte, lecteurs de messagerie, éditeurs de photos et navigateurs Web), l'imprimante est automatiquement disponible. Ils n'ont pas besoin d'ajouter explicitement l'imprimante. C'est magique.

Si votre ordinateur Linux ne trouve pas l'imprimante, il est possible que votre système n'ait pas le ippfind commande. Exécutez la commande suivante pour l'installer sur la distribution Linux basée sur Debian.

sudo apt install cups-ipp-utils

Sur CentOS 8, exécutez la commande suivante.

sudo dnf install cups-ipptool

Redémarrez ensuite CUPS sur l'ordinateur client.

sudo systemctl restart cups

Windows

Windows 10 est livré avec un client IPP. Tapez imprimante dans la barre de recherche en bas à gauche et ouvrez Imprimantes et scanners . Cliquez ensuite sur Ajouter une imprimante ou un scanner bouton. Il analysera les imprimantes disponibles sur le réseau local.

Comme vous pouvez le voir, il a trouvé mon imprimante HP Deskjet. Sélectionnez l'imprimante trouvée et cliquez sur Ajouter un appareil . Elle sera ajoutée à la liste des imprimantes dans quelques instants.

Si vous utilisez une version différente de Windows qui ne peut pas ajouter d'imprimante de cette façon, vous pouvez installer les services d'impression Bonjour. Une fois installé, lancez l'assistant d'imprimante Bonjour. Il analysera automatiquement les imprimantes disponibles sur le réseau local. Comme vous pouvez le voir sur la capture d'écran, mon imprimante HP a été détectée.

Cliquez sur suivant, puis vous devez choisir un pilote pour cette imprimante. Vous pouvez choisir le pilote de classe Microsoft IPP, qui est installé sur le système par défaut.

Cliquez sur Suivant et l'imprimante sera ajoutée à votre système Windows.

Ajout manuel d'une imprimante sous Linux

Si, pour une raison quelconque, vous ne voyez pas l'imprimante, vous pouvez en ajouter une manuellement. Pour ajouter une imprimante partagée Bonjour sur Linux de bureau, recherchez vos paramètres système ou le menu de l'application pour l'utilitaire de configuration de l'imprimante. Cliquez sur Ajouter bouton pour ajouter une nouvelle imprimante.

Cliquez ensuite sur Imprimante réseau et il analysera automatiquement les imprimantes disponibles sur le réseau local. Comme vous pouvez le voir, il a trouvé mon imprimante HP Deskjet. Cliquez sur Suivant bouton.

Ensuite, vous pouvez donner un nom et une description à l'imprimante. J'accepte simplement les valeurs par défaut. Cliquez sur Appliquer et vous avez terminé.

Ajout manuel d'une imprimante sur macOS

Pour ajouter une imprimante partagée Bonjour sur macOS, accédez aux préférences système -> Imprimantes et scanners . Cliquez sur le bouton plus (+) pour ajouter une imprimante.

Il analyserait automatiquement les imprimantes disponibles sur le réseau local. Comme vous pouvez le voir, il a trouvé mon imprimante HP Deskjet.

Cliquez sur Ajouter bouton et il apparaîtra dans la liste des imprimantes.

Étape 5 :Partager l'imprimante CUPS via Samba

Samba est une implémentation de protocole SMB/CIFS gratuite et open-source pour Unix et Linux qui permet le partage de fichiers et d'impressions entre des machines Unix/Linux et Windows dans un réseau local. Il est principalement utilisé pour partager des fichiers et une imprimante avec des clients Windows.

Pour installer Samba sur CentOS 8/RHEL 8, exécutez la commande suivante.

sudo dnf install samba

Lancez ensuite la commande suivante pour démarrer le smbd et nmbd services.

sudo systemctl start smb nmb

Activer le démarrage automatique au démarrage.

sudo systemctl enable smb nmb

Pour vérifier si le service Samba est en cours d'exécution, exécutez les commandes suivantes.

systemctl status smb nmb

Une fois lancé, le smb le démon écoutera sur les ports TCP 139 et 445. Le nmbd écoutera sur les ports UDP 137 et 138. Exécutez la commande suivante pour ouvrir ces ports dans le pare-feu.

sudo firewall-cmd --permanent --add-service=samba

Rechargez le démon du pare-feu pour que le changement prenne effet.

sudo systemctl reload firewalld

Modifiez ensuite le fichier de configuration principal.

sudo nano /etc/samba/smb.conf

Trouvez les [printers] section. Par défaut, il ressemble à ceci :

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

Nous devons changer la valeur de browseable à yes , afin que les clients du même réseau puissent trouver l'imprimante et ajouter guest ok = yes pour permettre à n'importe qui sur le réseau d'utiliser l'imprimante.

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = yes
        guest ok = yes

Il est recommandé d'activer le spoolssd service lors du partage de l'imprimante. Cela rendra Samba plus efficace lorsqu'il y a beaucoup de travaux d'impression. Ajoutez simplement les deux lignes suivantes dans le [global] section pour activer le spoolssd services.

 rpc_server:spoolss = external
 rpc_daemon:spoolssd = fork

Enregistrez et fermez le fichier. Redémarrez ensuite Samba.

sudo systemctl restart smb nmb

Ajout d'une imprimante partagée Samba sous Windows.

Ouvrez l'explorateur de fichiers, entrez l'adresse IP de l'ordinateur CentOS 8/RHEL 8 dans la barre d'adresse comme \\192.168.0.110 . L'imprimante devrait maintenant être répertoriée.

Double-cliquez sur l'imprimante pour l'ajouter à votre système Windows. Cliquez ensuite sur le bouton OK pour sélectionner un pilote à installer. Après avoir installé le pilote, l'imprimante sera ajoutée à votre système Windows.

Étape 6 :Partager l'imprimante CUPS avec des clients iOS via AirPrint

AirPrint permet aux clients iPhone, iPad et macOS d'imprimer via Wi-Fi sans installer de pilote sur les appareils clients. CUPS prend en charge Airprint, mais avahi-daemon par défaut n'annonce pas le service AirPrint sur le réseau local. Nous devons créer un .service fichier dans le /etc/avahi/services/ répertoire de l'imprimante avec un script Python. Exécutez la commande suivante pour télécharger le script sur CentOS 8/RHEL 8.

wget https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py

Ajouter une autorisation d'exécution.

chmod +x airprint-generate.py

Ce script python est fait pour Python2. CentOS 8/RHEL 8 utilise Python3 par défaut. Nous devons installer Python2.

sudo dnf install python2

Modifiez ce fichier.

nano airprint-generate.py

Modifier

#!/usr/bin/env python

à

#!/usr/bin/env python2

Enregistrez et fermez le fichier. Installez ensuite les dépendances.

sudo dnf install gcc python2-devel cups-devel redhat-rpm-config

Installez le module tasses.

sudo pip2 install cups pycups

Exécutez ensuite ce script.

sudo ./airprint-generate.py -d /etc/avahi/services/

Maintenant, il devrait y avoir un .service fichier sous /etc/avahi/services/ répertoire de votre imprimante.

ls /etc/avahi/services/

Exemple de sortie :

AirPrint-DeskJet-2130-series.service

Redémarrez Avahi-daemon.

sudo systemctl restart avahi-daemon

Désormais, les clients iOS et macOS du même réseau devraient pouvoir utiliser votre imprimante. La capture d'écran suivante montre que mon iPhone a réussi à trouver une imprimante AirPrint.


Cent OS
  1. Comment configurer un serveur OpenVPN sur CentOS 7

  2. Comment installer le serveur Web OpenLiteSpeed ​​sur CentOS 8/RHEL 8

  3. Configurer le serveur SysLog sur CentOS 6 / RHEL 6

  4. Comment installer Puppet sur RHEL 8/CentOS 8

  5. Configurer le serveur DHCP sur CentOS 8 - Comment faire ?

Configurer le serveur Samba sur CentOS 8/RHEL 8 pour le partage de fichiers

Installer et configurer OpenDKIM sur le serveur de messagerie CentOS 8/RHEL 8

Partie 4 :Configurer SPF et DKIM avec Postfix sur le serveur de messagerie CentOS 8/RHEL 8

Configurer le serveur d'impression CUPS sur Ubuntu (Bonjour, IPP, Samba, AirPrint)

Comment configurer le serveur DHCP sur CentOS 8

Comment configurer SSH sur CentOS et RHEL