rivimey.ansible_cups
Rola Ansible: cups
Instalacja CUPS i konfiguracja drukarek
Instalacja i konfiguracja CUPS
- Instaluje
cups
icups-pdf
. - Użytkownicy zdefiniowani w
cups_lpadmin_users
zostaną dodani do grupylpadmin
, aby zarządzać CUPS. - Instaluje
cups-lpd
, jeśli zmienne na to pozwalają (patrz poniżej):- Tworzy konto użytkownika, które uruchomi proces cups-lpd.
- Instaluje
xinetd
, aby uruchomić cups-lpd jako usługę. Używa pliku szablonu cups-lpd do stworzenia ostatecznej konfiguracji xinetd.
- Konfiguracja CUPS:
- Jeśli dostarczono szablony dla cupsd.conf, cups-browsed.conf i snmp.conf, zostaną one zbudowane i skopiowane.
- Jeśli dostarczono certyfikaty SSL, zostaną skopiowane w odpowiednie miejsce.
Instalacja PPD
- Tworzy katalog
/opt/share/ppd
, w którym CUPS szuka PPD, które są ręcznie kopiowane. - Dodaje repozytorium OpenPrinting.
- Instalacja pakietu OpenPrinting Ricoh -
openprinting-ppds-postscript-ricoh
:- Rozpakowuje również PPD, które instaluje, ponieważ pakiet instaluje je jako pliki gzip w
/opt/OpenPrinting-Ricoh/ppds/Ricoh
.
- Rozpakowuje również PPD, które instaluje, ponieważ pakiet instaluje je jako pliki gzip w
- Instaluje HPLIP:
- Instalacja własnościowej wtyczki HP przy użyciu skryptu wyrzucającego.
- Kopiuje PPD z folderu, jeśli określono w
cups_ppd_files_to_be_copied
, do/opt/share/ppd
.
Instalacja drukarek
- Najpierw zostaną usunięte wszelkie drukarki, które mają być usunięte.
- Instalacja drukarek wymienionych w zmiennej
cups_printer_list
, a następnie instalacja klas wymienionych wcups_class_list
:- Zobacz cups_printer_list i cups_class_list, aby dowiedzieć się, jak zdefiniować każdą drukarkę i obiekt klasy w zmiennych
cups_printer_list
icups_class_list
. - Używa modułu cups_lpadmin. Wewnątrz znajdują się dokumentacja/komentarze, jak można go używać.
- cups_lpadmin to bezpośrednia kopia z HP41.ansible-modules-extra/system/cups_lpadmin. Po scaleniu do głównego repo, zostanie usunięta stąd.
- Zobacz cups_printer_list i cups_class_list, aby dowiedzieć się, jak zdefiniować każdą drukarkę i obiekt klasy w zmiennych
Wymagania
- Ansible >= 2.1
- Maszyna gościnna: Debian
- stretch
- jessie
- wheezy
- Maszyna gościnna: Ubuntu
- xenial
- trusty
- precise
- Maszyna gościnna: CentOS
- 7.4
Możliwe dodatkowe zadania, które nie są częścią tej roli.
- Otwarcie niezbędnych portów CUPS - 515(LPR), 631(IPP/IPPS), 9100(zabieg IP) przez zaporę.
- Jeżeli chcesz używać debops.ferm, możesz użyć/zmodifikować
cups__debops_ferm_dependent_rules
(zdefiniowane w domyślnych), aby przekazać do debops.ferm.
- Jeżeli chcesz używać debops.ferm, możesz użyć/zmodifikować
Domyślne zmienne, które można nadpisać lub używać bez zmian przy korzystaniu z tej roli:
Instalacja i konfiguracja CUPS:
cups_lpadmin_users
: Lista użytkowników, którzy muszą być dodani do grupy administracyjnej CUPS (lpadmin
). Domyślnie=root.cups_lpd
: Czy zainstalować i skonfigurować cups-lpd - Domyślnie=True
.cups_sysadmins_email
: Adres e-mail używany do budowy szablonu cupsd.conf - Domyślnie=sysadmins@ansible_fqdn
.cups__debops_ferm_dependent_rules
: Domyślne proste zasady otwierania portów (515, 631, 9100) przez zaporę, które można odwołać przy użyciu roli debops.ferm.- /etc/xinetd.d/cups-lpd
cups_lpd_user
: Nazwa użytkownika, z którą będzie uruchamiany proces cups-lpd (przez xinetd) - Domyślnie=cupslpd
.
- Opcjonalne szablony:
- Mogłyby być ustawione jako prosta kopia plików, ale uzyskanie dostępu i dodanie zmiennych Ansible do nich nie będzie możliwe. Dzięki
ansible_managed
,ansible_fqdn
itp. są dostępne. Szablony mogą być także prostymi plikami tekstowymi bez deklaracji zmiennych i zostaną skopiowane. cups_cupsd_conf_template
: Dla /etc/cups/cupsd.conf.cups_cups_browsed_conf_template
: Dla /etc/cups/cups-browsed.conf.cups_snmp_conf_template
: Dla /etc/cups/snmp.conf.
- Mogłyby być ustawione jako prosta kopia plików, ale uzyskanie dostępu i dodanie zmiennych Ansible do nich nie będzie możliwe. Dzięki
Instalacja i kopiowanie PPD:
cups_ppd_files_to_be_copied
: Folder do kopiowania wszystkich plików .ppd - Domyślnie=None.cups_hplip
: Czy zainstalować HPLIP - Domyślnie=True
.cups_ricoh_openprinting
: Czy zainstalować sterowniki/PPD OpenPrinting-Ricoh - Domyślnie=True
.cups_openprinting_apt_required
: Zdefiniowane jako ternarnie. Kontroluje, czy klucz APT OpenPrinting i repozytorium są dodawane na podstawie tego, czy instalowane są sterowniki Ricoh. Można to łatwo nadpisać.cups_openprinting_apt_key_id
: Identyfikator klucza APT do pobrania z poniższego serwera kluczy. Domyślnie=24CBF5474CFD1E2F.cups_openprinting_key_server
: Serwer kluczy do pozyskania klucza z poniższego repozytorium - Domyślnie=keyserver.ubuntu.com.cups_openprinting_apt_repo
: Repozytorium OpenPrinting do dodania dla Debiana / Ubuntu - Domyślnie="deb http://www.openprinting.org/download/printdriver/debian/ lsb3.2 main".cups_openprinting_yum_repo
: Repozytorium OpenPrinting do dodania dla RedHat / CentOS - Domyślnie="http://www.openprinting.org/download/printdriver/components/lsb3.2/main/RPMS".
Instalacja drukarek i klas:
cups_printer_uri_prefix
: Prefiks URI dla wszelkich filtrów na tym URI - Domyślnie="".cups_printer_report_ipp_supplies
: Kiedy obiekt drukarki nie ma atrybutureport_ipp_supply_levels
, ta wartość jest używana - Domyślnie=True
.cups_printer_report_snmp_supplies
: Kiedy obiekt drukarki nie ma atrybutureport_snmp_supply_levels
, ta wartość jest używana - Domyślnie=True
.cups_printer_is_shared
: Kiedy obiekt drukarki nie ma atrybutushared
, ta wartość jest używana - Domyślnie=True
.cups_class_is_shared
: Kiedy obiekt klasy nie ma atrybutushared
, ta wartość jest używana - Domyślnie=True
.cups_printer_list
: Lista hashy, które zawierają informacje o drukarkach potrzebne do ich zainstalowania. Proszę sprawdzić moduł cups_lpadmin i jak zmienna cups_printer_list jest używana.cups_class_list
: Lista hashy, które zawierają informacje o klasach potrzebne do ich zainstalowania. Proszę sprawdzić moduł cups_lpadmin i jak zmienna cups_class_list jest używana.cups_purge_all_printers_and_classes
: Czy moduł cups_lpadmin ma usunąć/wszystkie drukarki przed kontynuowaniem.cups_printers_and_classes_to_be_removed
: Drukarki i klasy, które chcesz konkretnie usunąć.
Zmienne związane z działaniem roli i ogólną konfiguracją CUPS:
cups_packages_to_install
: Pakiety CUPS do zainstalowania. Możesz nadpisać wersję specyficznego pakietu w razie potrzeby - Domyślnie=cups, cups-pdf
.cups_xinetd_location
: Lokalizacja plików xinet.d - Domyślnie=/etc/xinetd.d
.cups_tmp_location
: Tymczasowa lokalizacja, z której ta rola korzysta do kopiowania plików i uruchamiania skryptów. Lokalizacja jest tworzona, jeśli nie istnieje - Domyślnie=/tmp/cups-ansible
.cups_admin_group
: Grupa, która ma dostęp administracyjny do CUPS. Odwołuje się do niej, gdy dodaje użytkowników (jeśli zdefiniowano) do ról administracyjnych CUPS - Domyślnie=lpadmin
.cups_services
: Usługi CUPS, które są odwoływane przy uruchamianiu i zatrzymywaniu usług CUPS w celach konfiguracyjnych - Domyślnie=cups
.cups_etc_location
: Lokalizacja etc konfiguracji CUPS - Domyślnie=/etc/cups
.cups_etc_files_perms_owner
: Właściciel plików umieszczonych przez tę rolę wcups_etc_location
- Domyślnie=root
.cups_etc_files_perms_group
: Członkostwo grupy plików umieszczonych przez tę rolę wcups_etc_location
- Domyślnie=lp
.cups_etc_files_mode
: Tryb plików umieszczonych przez tę rolę wcups_etc_location
- Domyślnie=0644
.cups_expect_packages
: Pakiety związane z expect, które są instalowane do automatycznych instalacji różnych skryptów expect w tej roli - Debian-Domyślnie=expect, python-pexpect
, RedHat-Domyślnie=expect, pexpect
.cups_ppd_shared_location
: Standardowa wspólna lokalizacja, w której mogą być umieszczane PPD i które CUPS znajdzie - Domyślnie=/opt/share/ppd
.cups_ricoh_ppd_location
: Lokalizacja, w której instalowane są PPD Ricoh z OpenPrinting - Domyślnie=/opt/OpenPrinting-Ricoh/ppds/Ricoh
.
O projekcie
Installs CUPS, installs necessary PPDs and installs printers and classes on CUPS
Zainstaluj
ansible-galaxy install rivimey.ansible_cups
Licencja
mit
Pobrania
163
Właściciel
Software engineer from Cambridge, UK. Background in C/C++ mostly working with Python, PHP code these days. Hobbies: maps, Drupal, transport history & more.