rivimey.ansible_cups
Rol de Ansible: cups
Instala CUPS, instala los PPDs necesarios y las impresoras y clases en CUPS
Instalar y configurar CUPS
- Instala
cups
ycups-pdf
- Las cuentas definidas en
cups_lpadmin_users
se añadirán al grupolpadmin
para administrar CUPS. - Instala
cups-lpd
si las variables lo permiten (ver abajo):- Crea una cuenta de usuario que ejecutará el proceso cups-lpd.
- Instala
xinetd
para ejecutar cups-lpd como un servicio. Usa el archivo de plantilla cups-lpd para crear la configuración final de xinetd.
- Configuración de CUPS:
- Si se proporcionan plantillas para cupsd.conf, cups-browsed.conf y snmp.conf, se construirán y copiarán.
- Si se proporcionan certificados SSL, se copiarán a la ubicación adecuada.
Instalar PPDs
- Crea
/opt/share/ppd
, donde CUPS busca los PPDs que se copian manualmente. - Añade el repositorio OpenPrinting.
- Instala el paquete OpenPrinting de Ricoh -
openprinting-ppds-postscript-ricoh
- También descomprime los PPDs que instala, ya que el paquete los instala como archivos gzip en
/opt/OpenPrinting-Ricoh/ppds/Ricoh
.
- También descomprime los PPDs que instala, ya que el paquete los instala como archivos gzip en
- Instala HPLIP:
- También instala el complemento propietario de HP utilizando un script de excepción.
- Copia los PPDs desde la carpeta especificada en
cups_ppd_files_to_be_copied
a/opt/share/ppd
.
Instalar Impresoras
- Cualquier impresora definida para ser eliminada se eliminará primero.
- Instala las impresoras listadas en la variable
cups_printer_list
y luego las clases listadas encups_class_list
.- Consulta cups_printer_list y cups_class_list para ver cómo definir cada impresora y objeto de clase en las variables
cups_printer_list
ycups_class_list
, respectivamente. - Esto utiliza el módulo cups_lpadmin. Hay documentación/comentarios dentro de él sobre cómo se puede usar.
- cups_lpadmin es una copia directa de HP41.ansible-modules-extra/system/cups_lpadmin. Una vez que se integre, se eliminará de aquí.
- Consulta cups_printer_list y cups_class_list para ver cómo definir cada impresora y objeto de clase en las variables
Requisitos
- Ansible >= 2.1
- Máquina huésped: Debian
- stretch
- jessie
- wheezy
- Máquina huésped: Ubuntu
- xenial
- trusty
- precise
- Máquina huésped: CentOS
- 7.4
Posibles tareas adicionales que no son parte de las responsabilidades de este rol.
- Abrir los puertos necesarios de CUPS - 515(LPR), 631(IPP/IPPS), 9100(IP directo) a través del firewall.
- Si deseas usar debops.ferm, puedes usar/modificar
cups__debops_ferm_dependent_rules
(definido en defaults) para pasar a debops.ferm.
- Si deseas usar debops.ferm, puedes usar/modificar
Variables por defecto que pueden ser sobrescritas o utilizadas como están al usar este rol:
Instalación y configuración de CUPS:
cups_lpadmin_users
: Lista de usuarios que deben ser añadidos al grupo de administradores de cups (lpadmin
). Por defecto=rootcups_lpd
: Si se debe instalar y configurar cups-lpd - Por defecto=True
cups_sysadmins_email
: El correo electrónico que se usará para construir la plantilla cupsd.conf - Por defecto=sysadmins@ansible_fqdn
cups__debops_ferm_dependent_rules
: Reglas simples por defecto para abrir puertos (515, 631, 9100) a través del firewall que pueden ser referenciadas al usar el rol debops.ferm.- /etc/xinetd.d/cups-lpd
cups_lpd_user
: El nombre de usuario con el que se ejecutará el proceso cups-lpd (a través de xinetd) - Por defecto=cupslpd
- Plantillas opcionales:
- Podrían configurarse como una simple copia de archivo, pero acceder y añadir variables ansible en ella no será posible. Con este ansible_managed, ansible_fqdn, etc. serán accesibles. Las plantillas también podrían ser archivos de texto simples sin declaración de variables y se copiarán.
cups_cupsd_conf_template
: Para /etc/cups/cupsd.confcups_cups_browsed_conf_template
: Para /etc/cups/cups-browsed.confcups_snmp_conf_template
: Para /etc/cups/snmp.conf
Instalación y copia de PPDs:
cups_ppd_files_to_be_copied
: La carpeta de donde copiar todos los archivos .ppd - Por defecto=Nonecups_hplip
: Si debe instalar HPLIP - Por defecto=True
cups_ricoh_openprinting
: Si debe instalar controladores/PPDs de OpenPrinting-Ricoh - Por defecto=True
cups_openprinting_apt_required
: Se define como un ternario. Controla si se añade la clave y el repositorio APT de OpenPrinting en base a si se están instalando los controladores de Ricoh o no. Puede ser fácilmente sobrescrito.cups_openprinting_apt_key_id
: La ID de la clave APT a obtener del servidor de claves a continuación. Por defecto=24CBF5474CFD1E2Fcups_openprinting_key_server
: El servidor de claves para adquirir la clave del repositorio a continuación - Por defecto=keyserver.ubuntu.comcups_openprinting_apt_repo
: El repositorio de OpenPrinting para añadir en Debian / Ubuntu - Por defecto="deb http://www.openprinting.org/download/printdriver/debian/ lsb3.2 main"cups_openprinting_yum_repo
: El repositorio de OpenPrinting para añadir en RedHat / CentOS - Por defecto="http://www.openprinting.org/download/printdriver/components/lsb3.2/main/RPMS"
Instalación de impresoras y clases:
cups_printer_uri_prefix
: Un prefijo de URI para cualquier filtro sobre la URI - Por defecto=""cups_printer_report_ipp_supplies
: Cuando el objeto impresora no tiene el atributoreport_ipp_supply_levels
, se usa este valor - Por defecto=True
cups_printer_report_snmp_supplies
: Cuando el objeto impresora no tiene el atributoreport_snmp_supply_levels
, se usa este valor. - Por defecto=True
cups_printer_is_shared
: Cuando el objeto impresora no tiene el atributoshared
, se usa este valor - Por defecto=True
cups_class_is_shared
: Cuando el objeto de clase no tiene el atributoshared
, se usa este valor - Por defecto=True
cups_printer_list
: Una lista de hash que contiene información de impresora necesaria para instalarlas. Consulta el módulo cups_lpadmin y cómo se utiliza la variable cups_printer_list.cups_class_list
: Una lista de hash que contiene información de clase necesaria para instalarlas. Consulta el módulo cups_lpadmin y cómo se utiliza la variable cups_class_list.cups_purge_all_printers_and_classes
: Si el módulo cups_lpadmin debe eliminar todas las impresoras antes de continuar.cups_printers_and_classes_to_be_removed
: Impresoras y clases que te gustaría eliminar específicamente.
Variables relacionadas con la operación del rol y la configuración general de CUPS:
cups_packages_to_install
: Los paquetes CUPS a instalar. Esto puede ser sobrescrito para una versión de paquete específica si es necesario - Por defecto=cups, cups-pdf
cups_xinetd_location
: La ubicación de los archivos xinet.d - Por defecto=/etc/xinetd.d
cups_tmp_location
: Ubicación temporal que utiliza este rol para copiar archivos y ejecutar scripts. La ubicación se crea si no existe - Por defecto=/tmp/cups-ansible
cups_admin_group
: El grupo que tiene acceso administrativo a CUPS. Esto se referencia al añadir usuarios (si se definen) a los roles de administrador de CUPS - Por defecto=lpadmin
cups_services
: El/los servicio(s) de CUPS que se referencia al iniciar y detener los servicios de CUPS con fines de configuración - Por defecto=cups
cups_etc_location
: Ubicación etc de la configuración de CUPS - Por defecto=/etc/cups
cups_etc_files_perms_owner
: Propietario de los archivos colocados por este rol bajocups_etc_location
- Por defecto=root
cups_etc_files_perms_group
: Pertenencia de grupo de los archivos colocados por este rol bajocups_etc_location
- Por defecto=lp
cups_etc_files_mode
: Modo de archivo de los archivos colocados por este rol bajocups_etc_location
- Por defecto=0644
cups_expect_packages
: Los paquetes relacionados con expect que se instalan para instalaciones desatendidas de diferentes scripts de expect dentro de este rol - Debian-Por defecto=expect, python-pexpect
, RedHat-Por defecto=expect, pexpect
cups_ppd_shared_location
: La ubicación compartida estándar donde se pueden colocar los PPDs y CUPS los recogerá - Por defecto=/opt/share/ppd
cups_ricoh_ppd_location
: La ubicación donde se instalan los PPDs de Ricoh de OpenPrinting - Por defecto=/opt/OpenPrinting-Ricoh/ppds/Ricoh
Acerca del proyecto
Installs CUPS, installs necessary PPDs and installs printers and classes on CUPS
Instalar
ansible-galaxy install rivimey.ansible_cups
Licencia
mit
Descargas
163
Propietario
Software engineer from Cambridge, UK. Background in C/C++ mostly working with Python, PHP code these days. Hobbies: maps, Drupal, transport history & more.