rivimey.ansible_cups
Ansible-Rolle: cups
Installiert CUPS, notwendige PPDs und Drucker sowie Klassen in CUPS
CUPS installieren und konfigurieren
- Installiert
cups
undcups-pdf
- Benutzer, die in
cups_lpadmin_users
definiert sind, werden zur Gruppelpadmin
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.
- Entpackt auch die PPDs, die es installiert, da das Paket sie als gzip-Dateien in
- 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 Variablencups_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
undcups_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.
- Siehe cups_printer_list und cups_class_list, um zu sehen, wie jeder Drucker und Klassenobjekt in den Variablen
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.
- Wenn Sie debops.ferm verwenden möchten, können Sie
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=rootcups_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.confcups_cups_browsed_conf_template
: Für /etc/cups/cups-browsed.confcups_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=Nonecups_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=24CBF5474CFD1E2Fcups_openprinting_key_server
: Der Schlüsselserver, von dem der Schlüssel für das unten stehende Repository bezogen wird - Standard=keyserver.ubuntu.comcups_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 keinreport_ipp_supply_levels
Attribut hat, wird dieser Wert verwendet - Standard=True
cups_printer_report_snmp_supplies
: Wenn das Druckerobjekt keinreport_snmp_supply_levels
Attribut hat, wird dieser Wert verwendet - Standard=True
cups_printer_is_shared
: Wenn das Druckerobjekt keinshared
Attribut hat, wird dieser Wert verwendet - Standard=True
cups_class_is_shared
: Wenn das Klassenobjekt keinshared
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 untercups_etc_location
platzierten Dateien - Standard=root
cups_etc_files_perms_group
: Mitgliedschaft der Gruppe der von dieser Rolle untercups_etc_location
platzierten Dateien - Standard=lp
cups_etc_files_mode
: Dateimodus der von dieser Rolle untercups_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
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.