rivimey.ansible_cups

Ansible-Rolle: cups

Build-Status

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 Gruppe lpadmin hinzugefügt, um CUPS zu verwalten.
  • Installiert cups-lpd, wenn die Variablen dies erlauben (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.
  • Konfiguration von CUPS:
    • 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 PPDs sucht, die manuell kopiert wurden.
  • Fügt das OpenPrinting-Repository hinzu.
  • Installiert das Ricoh OpenPrinting-Paket - openprinting-ppds-postscript-ricoh
    • Entpackt auch die PPDs, die es installiert, da das Paket sie als gzip-Dateien in /opt/OpenPrinting-Ricoh/ppds/Ricoh installiert.
  • Installiert HPLIP:
    • Installiert auch das proprietäre HP-Plugin mit einem Skript.
  • Kopiert PPDs aus dem angegebenen Ordner in cups_ppd_files_to_be_copied nach /opt/share/ppd.

Drucker installieren

  • Alle Drucker, die entfernt werden sollen, werden zuerst gelöscht.
  • Installiert die in der Variablen cups_printer_list aufgeführten Drucker und danach die in der Variablen cups_class_list aufgeführten Klassen.
    • Siehe cups_printer_list und cups_class_list, um zu sehen, wie jeder Drucker und Klassenobjekt in den Variablen cups_printer_list und cups_class_list definiert wird.
    • Dies verwendet das cups_lpadmin Modul. Dort gibt es Dokumentationen/Kommentare, wie es verwendet werden kann.
    • cups_lpadmin ist eine direkte Kopie von HP41.ansible-modules-extra/system/cups_lpadmin. Sobald es upstream zusammengeführt wird, wird es hier entfernt.

Anforderungen

  • Ansible >= 2.1
  • Gastmaschine: Debian
    • stretch
    • jessie
    • wheezy
  • Gastmaschine: Ubuntu
    • xenial
    • trusty
    • precise
  • Gastmaschine: CentOS
    • 7.4

Mögliche zusätzliche Aufgaben, die nicht Teil der Verantwortlichkeiten dieser Rolle sind.

  • Ö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 weiterzuleiten.

Standardvariablen, die überschrieben oder unverändert verwendet werden können, wenn Sie diese Rolle verwenden:

CUPS-Installation und -Konfiguration:

  • cups_lpadmin_users: Liste der Benutzer, die zur Gruppe der CUPS-Administratoren (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-Adresse, die zum Erstellen der cupsd.conf-Vorlage verwendet wird - Standard=sysadmins@ansible_fqdn
  • cups__debops_ferm_dependent_rules: Standardregeln, um die Ports (515, 631, 9100) durch die Firewall zu öffnen, die bei Verwendung der debops.ferm-Rolle referenziert werden können.
  • /etc/xinetd.d/cups-lpd
    • cups_lpd_user: Der Benutzername, mit dem der cups-lpd-Prozess (über xinetd) ausgeführt wird - Standard=cupslpd
  • Optional Vorlagen:
    • Sie hätten als einfache Datei kopiert werden können, aber der Zugriff und das Hinzufügen von Ansible-Variablen darin wären nicht möglich gewesen. Mit diesem ansible_managed, ansible_fqdn usw. sind sie zugänglich. Die Vorlagen könnten auch einfache Textdateien ohne Variablendeklaration sein und werden ebenfalls 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 das OpenPrinting-Ricoh-Treiber/PPDs installiert werden - Standard=True
  • cups_openprinting_apt_required: Dies ist als ternärer Wert 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 leicht auf Ihren Wert überschrieben werden.
  • cups_openprinting_apt_key_id: Die APT-Schlüssel-ID, die aus dem unten angegebenen Schlüsselserver abgerufen werden soll. Standard=24CBF5474CFD1E2F
  • cups_openprinting_key_server: Der Schlüsselserver, von dem der Schlüssel für das unten stehende Repository bezogen wird - Standard=keyserver.ubuntu.com
  • cups_openprinting_apt_repo: Das OpenPrinting-Repo, das für Debian/Ubuntu hinzugefügt werden soll - Standard="deb http://www.openprinting.org/download/printdriver/debian/ lsb3.2 main"
  • cups_openprinting_yum_repo: Das OpenPrinting-Repo, das für RedHat/CentOS hinzugefügt werden soll - Standard="http://www.openprinting.org/download/printdriver/components/lsb3.2/main/RPMS"

Installation von Druckern und Klassen:

  • cups_printer_uri_prefix: Ein URI-Präfix für alle Filter über der URI - Standard=""
  • cups_printer_report_ipp_supplies: Wenn das Druckerobjekt kein report_ipp_supply_levels Attribut hat, wird dieser Wert verwendet - Standard=True
  • cups_printer_report_snmp_supplies: Wenn das Druckerobjekt kein report_snmp_supply_levels Attribut hat, wird dieser Wert verwendet - Standard=True
  • cups_printer_is_shared: Wenn das Druckerobjekt kein shared Attribut hat, wird dieser Wert verwendet - Standard=True
  • cups_class_is_shared: Wenn das Klassenobjekt kein shared Attribut hat, wird dieser Wert verwendet - Standard=True
  • cups_printer_list: Eine Liste von Hashes, die Informationen über die Drucker enthalten, die zur Installation benötigt werden. Bitte überprüfen Sie das cups_lpadmin Modul und wie die cups_printer_list-Variable verwendet wird.
  • cups_class_list: Eine Liste von Hashes, die Informationen über die Klassen enthalten, die zur Installation benötigt werden. Bitte überprüfen Sie das cups_lpadmin Modul und wie die cups_class_list-Variable verwendet wird.
  • cups_purge_all_printers_and_classes: Soll das cups_lpadmin-Modul alle Drucker löschen, bevor es fortfährt.
  • 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 zu tun haben:

  • cups_packages_to_install: Die CUPS-Pakete, die installiert werden sollen. Dies kann für eine bestimmte Paketversion überschrieben werden, falls erforderlich - Standard=cups, cups-pdf
  • cups_xinetd_location: Der Standort der 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_group: Die Gruppe, die administrativen Zugriff auf CUPS hat. Dies wird referenziert, wenn Benutzer (sofern definiert) zu CUPS-Admin-Rollen hinzugefügt werden - Standard=lpadmin
  • cups_services: Die CUPS-Dienste, die beim Starten und Stoppen der CUPS-Dienste für Konfigurationszwecke referenziert werden - Standard=cups
  • cups_etc_location: der etc-Standort der 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_group: Mitgliedschaft der Gruppe 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_packages: Die auf Einforderung basierenden Pakete, die für die unbeaufsichtigte Installation verschiedener Einforderungsskripte innerhalb dieser Rolle installiert werden - Debian-Standard=expect, python-pexpect, RedHat-Standard=expect, pexpect
  • cups_ppd_shared_location: Der standardmäßige freigegebene Speicherort, an dem PPDs abgelegt werden können und den CUPS abholt - Standard=/opt/share/ppd
  • cups_ricoh_ppd_location: Der Standort, an dem Ricoh-PPDs von OpenPrinting installiert sind - Standard=/opt/OpenPrinting-Ricoh/ppds/Ricoh
Über das Projekt

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

Installieren
ansible-galaxy install rivimey.ansible_cups
GitHub Repository
Lizenz
mit
Downloads
163
Besitzer
Software engineer from Cambridge, UK. Background in C/C++ mostly working with Python, PHP code these days. Hobbies: maps, Drupal, transport history & more.