rivimey.ansible_cups

Rôle Ansible : cups

État de la construction

Installe CUPS, les PPD nécessaires et les imprimantes et classes sur CUPS

Installer et configurer CUPS

  • Installe cups et cups-pdf
  • Les comptes définis dans cups_lpadmin_users seront ajoutés au groupe lpadmin pour administrer CUPS.
  • Installe cups-lpd si les variables le permettent (voir ci-dessous) :
    • Crée un compte utilisateur qui exécutera le processus cups-lpd.
    • Installe xinetd pour exécuter cups-lpd en tant que service. Utilise le fichier modèle cups-lpd pour créer la configuration finale de xinetd.
  • Configuration de CUPS :
    • Si des modèles pour cupsd.conf, cups-browsed.conf et snmp.conf sont fournis, ils seront construits et copiés.
    • Si des certificats SSL sont fournis, ils seront copiés à l'emplacement approprié.

Installer les PPD

  • Crée /opt/share/ppd où CUPS recherche les PPD qui sont copiés manuellement.
  • Ajoute le dépôt OpenPrinting.
  • Installe le paquet OpenPrinting Ricoh - openprinting-ppds-postscript-ricoh
    • Dézippe également les PPD qu'il installe, car ils sont installés sous forme de fichiers gzip dans /opt/OpenPrinting-Ricoh/ppds/Ricoh
  • Installe HPLIP :
    • Installe également le plugin propriétaire HP en utilisant un script d'exception.
  • Copie les PPD du dossier si spécifié dans cups_ppd_files_to_be_copied vers /opt/share/ppd

Installer les imprimantes

  • Toutes les imprimantes définies pour être supprimées seront d'abord supprimées.
  • Installe les imprimantes listées dans la variable cups_printer_list, puis installe les classes listées dans cups_class_list.
    • Voir cups_printer_list et cups_class_list pour voir comment définir chaque imprimante et classe dans la variable cups_printer_list et cups_class_list, respectivement.
    • Cela utilise le module cups_lpadmin. Il y a de la documentation/commentaires sur son utilisation.
    • cups_lpadmin est une copie directe de HP41.ansible-modules-extra/system/cups_lpadmin. Une fois qu'il sera fusionné en amont, il sera supprimé d'ici.

Exigences

  • Ansible >= 2.1
  • Machine invitée : Debian
    • stretch
    • jessie
    • wheezy
  • Machine invitée : Ubuntu
    • xenial
    • trusty
    • precise
  • Machine invitée : CentOS
    • 7.4

Tâches supplémentaires possibles qui ne font pas partie des responsabilités de ce rôle.

  • Ouvrir les ports CUPS nécessaires - 515 (LPR), 631 (IPP/IPPS), 9100 (IP directe) à travers le pare-feu.
    • Si vous souhaitez utiliser debops.ferm, vous pouvez utiliser/modifier cups__debops_ferm_dependent_rules (défini dans les défauts) pour les transmettre à debops.ferm.

Variables par défaut qui peuvent être remplacées ou utilisées telles quelles lors de l'utilisation de ce rôle :

Installation et configuration de CUPS :

  • cups_lpadmin_users : Liste des utilisateurs à ajouter au groupe admin de CUPS (lpadmin). Par défaut = root
  • cups_lpd : Indique s'il faut installer et configurer cups-lpd - Par défaut = True
  • cups_sysadmins_email : L'email utilisé pour construire le modèle cupsd.conf - Par défaut = sysadmins@ansible_fqdn
  • cups__debops_ferm_dependent_rules : Règles simples par défaut pour ouvrir les ports (515, 631, 9100) à travers le pare-feu qui peuvent être référencées lors de l'utilisation du rôle debops.ferm.
  • /etc/xinetd.d/cups-lpd
    • cups_lpd_user : Le nom d'utilisateur sous lequel le processus cups-lpd sera exécuté (via xinetd) - Par défaut = cupslpd
  • Modèles optionnels :
    • Ils auraient pu être configurés comme une simple copie de fichier, mais accéder et ajouter des variables ansible à cela ne sera pas possible. Avec ce ansible_managed, ansible_fqdn, etc. sont accessibles. Les modèles peuvent aussi être de simples fichiers texte sans déclaration de variable et seront copiés.
    • cups_cupsd_conf_template : Pour /etc/cups/cupsd.conf
    • cups_cups_browsed_conf_template : Pour /etc/cups/cups-browsed.conf
    • cups_snmp_conf_template : Pour /etc/cups/snmp.conf

Installation et copie des PPD :

  • cups_ppd_files_to_be_copied : Le dossier d'où copier tous les fichiers .ppd - Par défaut = None
  • cups_hplip : Indique s'il faut installer HPLIP - Par défaut = True
  • cups_ricoh_openprinting : Indique s'il faut installer les pilotes/PPD OpenPrinting-Ricoh - Par défaut = True
  • cups_openprinting_apt_required : Ceci est défini comme un ternaire. Cela contrôle si la clé APT et le dépôt OpenPrinting sont ajoutés en fonction des pilotes Ricoh étant installés ou non. Cela peut être facilement remplacé par votre valeur.
  • cups_openprinting_apt_key_id : L'ID de clé APT à obtenir à partir du serveur de clés ci-dessous. Par défaut = 24CBF5474CFD1E2F
  • cups_openprinting_key_server : Le serveur de clés pour acquérir la clé du dépôt ci-dessous - Par défaut = keyserver.ubuntu.com
  • cups_openprinting_apt_repo : Le dépôt OpenPrinting à ajouter pour Debian / Ubuntu - Par défaut = "deb http://www.openprinting.org/download/printdriver/debian/ lsb3.2 main"
  • cups_openprinting_yum_repo : Le dépôt OpenPrinting à ajouter pour RedHat / CentOS - Par défaut = "http://www.openprinting.org/download/printdriver/components/lsb3.2/main/RPMS"

Installation des imprimantes et classes :

  • cups_printer_uri_prefix : Un préfixe URI pour tout filtre sur le dessus de l'URI - Par défaut = ""
  • cups_printer_report_ipp_supplies : Lorsque l'objet imprimante n'a pas l'attribut report_ipp_supply_levels, cette valeur est utilisée - Par défaut = True
  • cups_printer_report_snmp_supplies : Lorsque l'objet imprimante n'a pas l'attribut report_snmp_supply_levels, cette valeur est utilisée - Par défaut = True
  • cups_printer_is_shared : Lorsque l'objet imprimante n'a pas l'attribut shared, cette valeur est utilisée - Par défaut = True
  • cups_class_is_shared : Lorsque l'objet classe n'a pas l'attribut shared, cette valeur est utilisée - Par défaut = True
  • cups_printer_list : Une liste de hachages contenant les informations de l'imprimante nécessaires pour les installer. Veuillez consulter le module cups_lpadmin et comment la variable cups_printer_list est utilisée.
  • cups_class_list : Une liste de hachages contenant les informations de la classe nécessaires pour les installer. Veuillez consulter le module cups_lpadmin et comment la variable cups_class_list est utilisée.
  • cups_purge_all_printers_and_classes : Le module cups_lpadmin doit-il purger/supprimer toutes les imprimantes avant de continuer.
  • cups_printers_and_classes_to_be_removed : Imprimantes et classes que vous souhaitez supprimer spécifiquement.

Variables liées au fonctionnement du rôle et à la configuration générale de CUPS :

  • cups_packages_to_install : Les paquets CUPS à installer. Cela peut être remplacé pour une version de paquet spécifique si nécessaire - Par défaut = cups, cups-pdf
  • cups_xinetd_location : L'emplacement des fichiers xinet.d - Par défaut = /etc/xinetd.d
  • cups_tmp_location : Emplacement temporaire utilisé par ce rôle pour copier des fichiers et exécuter des scripts. L'emplacement est créé s'il n'existe pas - Par défaut = /tmp/cups-ansible
  • cups_admin_group : Le groupe qui a accès en admin à CUPS. Ceci est référencé lors de l'ajout d'utilisateurs (si défini) aux rôles admins de CUPS - Par défaut = lpadmin
  • cups_services : Le(s) service(s) CUPS référencés lors du démarrage et de l'arrêt des services CUPS à des fins de configuration - Par défaut = cups
  • cups_etc_location : Emplacement de la configuration CUPS - Par défaut = /etc/cups
  • cups_etc_files_perms_owner : Propriétaire des fichiers placés par ce rôle sous cups_etc_location - Par défaut = root
  • cups_etc_files_perms_group : Appartenance au groupe des fichiers placés par ce rôle sous cups_etc_location - Par défaut = lp
  • cups_etc_files_mode : Mode de fichier des fichiers placés par ce rôle sous cups_etc_location - Par défaut = 0644
  • cups_expect_packages : Les paquets liés à expect qui sont installés pour des installations non supervisées de différents scripts expect dans ce rôle - Debian - Par défaut = expect, python-pexpect, RedHat - Par défaut = expect, pexpect
  • cups_ppd_shared_location : L'emplacement standard partagé où les PPD peuvent être placés et que CUPS récupérera - Par défaut = /opt/share/ppd
  • cups_ricoh_ppd_location : L'emplacement où les PPD Ricoh d'OpenPrinting sont installés - Par défaut = /opt/OpenPrinting-Ricoh/ppds/Ricoh
À propos du projet

Installs CUPS, installs necessary PPDs and installs printers and classes on CUPS

Installer
ansible-galaxy install rivimey.ansible_cups
Licence
mit
Téléchargements
163
Propriétaire
Software engineer from Cambridge, UK. Background in C/C++ mostly working with Python, PHP code these days. Hobbies: maps, Drupal, transport history & more.