Installiert CUPS, notwendige PPDs und Drucker sowie Klassen in CUPS
CUPS installieren und konfigurieren
Installiert cups und cups-pdf
Benutzer, die in cups_lpadmin_users definiert sind, werden zur lpadmin-Gruppe hinzugefügt, um CUPS zu verwalten.
Installiert cups-lpd, wenn die Variablen es zulassen (siehe unten):
Erstellt ein Benutzerkonto, das den cups-lpd-Prozess ausführt.
Installiert xinetd, um cups-lpd als Dienst auszuführen. Verwendet die cups-lpd-Vorlagendatei, um die endgültige xinetd-Konfiguration zu erstellen.
CUPS konfigurieren:
Wenn Vorlagen für cupsd.conf, cups-browsed.conf und snmp.conf bereitgestellt werden, werden diese erstellt und kopiert.
Wenn SSL-Zertifikate bereitgestellt werden, werden diese an den richtigen Ort kopiert.
PPDs installieren
Erstellt /opt/share/ppd, wo CUPS nach manuell kopierten PPDs sucht.
Fügt das OpenPrinting-Repository hinzu.
Installiert das Ricoh OpenPrinting-Paket - openprinting-ppds-postscript-ricoh
Entpackt auch die PPDs, da das Paket sie als gzip-Dateien in /opt/OpenPrinting-Ricoh/ppds/Ricoh installiert.
Installiert HPLIP:
Installiert auch das HP-eigene Plugin mit einem Skript.
Kopiert PPDs aus dem angegebenen Ordner in cups_ppd_files_to_be_copied nach /opt/share/ppd.
Drucker installieren
Alle definierten zu entfernenden Drucker werden zuerst entfernt.
Installiert die Drucker, die in der Variablen cups_printer_list aufgelistet sind, und dann die in cups_class_list.
Siehe cups_printer_list und cups_class_list, um zu erfahren, wie man jeden Drucker und Klassenobjekt in den Variablen cups_printer_list und cups_class_list definiert.
Dies verwendet das cups_lpadmin Modul. Es gibt Dokumentation/Kommentare darin, wie es genutzt werden kann.
cups_lpadmin ist eine direkte Kopie von HP41.ansible-modules-extra/system/cups_lpadmin. Sobald es in die Hauptversion integriert ist, wird es hier entfernt.
Voraussetzungen
Ansible >= 2.1
Gastmaschine: Debian
stretch
jessie
wheezy
Gastmaschine: Ubuntu
xenial
trusty
precise
Mögliche zusätzliche Aufgaben, die nicht zu den Verantwortlichkeiten dieser Rolle gehören.
Öffnen der erforderlichen CUPS-Ports - 515(LPR), 631(IPP/IPPS), 9100(direkte IP) durch die Firewall.
Wenn Sie debops.ferm verwenden möchten, können Sie cups__debops_ferm_dependent_rules (definiert in den Voreinstellungen) verwenden/modifizieren, um sie an debops.ferm weiterzugeben.
Standardvariablen, die überschrieben oder "as-is" verwendet werden können, wenn Sie diese Rolle verwenden:
CUPS-Installation und -Konfiguration:
cups_lpadmin_users: Liste der Benutzer, die zur cups-Admin-Gruppe (lpadmin) hinzugefügt werden müssen. Standard=root
cups_lpd: Ob cups-lpd installiert und eingerichtet werden soll - Standard=True
cups_sysadmins_email: Die E-Mail, die verwendet wird, um die cupsd.conf-Vorlage zu erstellen - Standard=sysadmins@ansible_fqdn
cups__debops_ferm_dependent_rules: Standard einfache Regeln zum Öffnen von Ports (515, 631, 9100) durch die Firewall, die bei Verwendung der Rolle debops.ferm referenziert werden können.
/etc/xinetd.d/cups-lpd
cups_lpd_usn: Der Benutzername, mit dem der cups-lpd-Prozess (über xinetd) läuft - Standard=cupslpd
Optionale Vorlagen:
Sie könnten als einfache Dateikopie eingerichtet worden sein, aber der Zugriff und die Hinzufügung von Ansible-Variablen darin wird nicht möglich sein. Mit dieser ansible_managed, ansible_fqdn, usw. sind zugänglich. Die Vorlagen könnten auch einfache Textdateien ohne Variablendefinitionen sein und werden kopiert.
cups_cupsd_conf_template: Für /etc/cups/cupsd.conf
cups_cups_browsed_conf_template: Für /etc/cups/cups-browsed.conf
cups_snmp_conf_template: Für /etc/cups/snmp.conf
Installation und Kopieren von PPDs:
cups_ppd_files_to_be_copied: Der Ordner, aus dem alle .ppd-Dateien kopiert werden sollen - Standard=None
cups_hplip: Soll HPLIP installiert werden - Standard=True
cups_ricoh_openprinting: Soll OpenPrinting-Ricoh-Treiber/PPDs installiert werden - Standard=True
cups_openprinting_apt_required: Dies wird als ternär definiert. Es steuert, ob der OpenPrinting APT-Schlüssel und das Repository hinzugefügt werden, basierend darauf, ob Ricoh-Treiber installiert werden oder nicht. Es kann einfach auf Ihren Wert überschrieben werden.
cups_openprinting_apt_key_id: Die APT-Schlüssel-ID, die vom untenstehenden Keyserver abgerufen werden soll. Standard=24CBF5474CFD1E2F
cups_openprinting_key_server: Der Keyserver, von dem der Schlüssel für das untenstehende Repository abgerufen wird - Standard=keyserver.ubuntu.com
cups_printer_uri_prefix: Ein URI-Präfix für Filter über dem URI - Standard=""
cups_printer_report_ipp_supplies: Wenn das Druckerobjekt kein Attribut report_ipp_supply_levels hat, wird dieser Wert verwendet - Standard=True
cups_printer_report_snmp_supplies: Wenn das Druckerobjekt kein Attribut report_snmp_supply_levels hat, wird dieser Wert verwendet - Standard=True
cups_printer_is_shared: Wenn das Druckerobjekt kein Attribut shared hat, wird dieser Wert verwendet - Standard=True
cups_class_is_shared: Wenn das Klassenobjekt kein Attribut shared hat, wird dieser Wert verwendet - Standard=True
cups_printer_list: Eine Liste von Hashes, die die benötigten Druckerinformationen zur Installation enthalten. Bitte überprüfen Sie das cups_lpadmin Modul und wie die Variable cups_printer_list verwendet wird.
cups_class_list: Eine Liste von Hashes, die die benötigten Klasseninformationen zur Installation enthalten. Bitte überprüfen Sie das cups_lpadmin Modul und wie die Variable cups_class_list verwendet wird.
cups_purge_all_printers_and_classes: Soll das cups_lpadmin-Modul alle Drucker vor der Fortsetzung löschen?
cups_printers_and_classes_to_be_removed: Drucker und Klassen, die Sie speziell entfernen möchten.
Variablen, die mit dem Betrieb der Rolle und der allgemeinen CUPS-Einrichtung zusammenhängen:
cups_packages_to_install: Die zu installierenden CUPS-Pakete. Dies kann für eine spezifische Paketversion bei Bedarf überschrieben werden - Standard=cups, cups-pdf
cups_xinetd_location: Der Speicherort von xinet.d-Dateien - Standard=/etc/xinetd.d
cups_tmp_location: Temporärer Speicherort, den diese Rolle zum Kopieren von Dateien und Ausführen von Skripten verwendet. Der Speicherort wird erstellt, wenn er nicht existiert - Standard=/tmp/cups-ansible
cups_admin_grp: Die Gruppe, die Admin-Zugriff auf CUPS hat. Dies wird beim Hinzufügen von Benutzern (sofern definiert) zu den CUPS-Admin-Rollen referenziert - Standard=lpadmin
cups_services: Die CUPS-Dienste, die beim Starten und Stoppen von CUPS-Diensten für Konfigurationszwecke referenziert werden - Standard=cups
cups_etc_location: etc-Ordner von CUPS-Konfiguration - Standard=/etc/cups
cups_etc_files_perms_owner: Eigentümer der von dieser Rolle unter cups_etc_location platzierten Dateien - Standard=root
cups_etc_files_perms_grp: Gruppenmitgliedschaft der von dieser Rolle unter cups_etc_location platzierten Dateien - Standard=lp
cups_etc_files_mode: Dateimodus der von dieser Rolle unter cups_etc_location platzierten Dateien - Standard=0644
cups_expect_pkgs: Die erwarteten Pakete, die für unbeaufsichtigte Installationen verschiedener Erwarungsskripte innerhalb dieser Rolle installiert werden - Standard=expect, python-pexpect
cups_ppd_shared_location: Der standardmäßige gemeinsame Ort, an dem PPDs platziert werden können und CUPS sie einsammelt - Standard=/opt/share/ppd
cups_ricoh_ppd_location: Der Speicherort, an dem Ricoh-PPDs von OpenPrinting installiert werden - Standard=/opt/OpenPrinting-Ricoh/ppds/Ricoh
Über das Projekt
Installs CUPS, installs necessary PPDs and installs printers and classes on CUPS