rivimey.ansible_cups
Ansible Role: cups
CUPSをインストールし、必要なPPDをインストール、CUPS上にプリンターとクラスを設定します。
CUPSのインストールと設定
cupsおよびcups-pdfをインストールします。cups_lpadmin_usersで定義されたアカウントは、CUPSを管理するためにlpadminグループに追加されます。- 変数が許可する場合に
cups-lpdをインストールします(以下を参照):- cups-lpdプロセスを実行するユーザーアカウントを作成します。
- CUPS-lpdをサービスとして実行するために
xinetdをインストールします。最終的なxinetd設定を作成するために、cups-lpdテンプレートファイルを使用します。
- CUPSを設定します:
- cupsd.conf、cups-browsed.conf、およびsnmp.confのテンプレートが提供されている場合、それらが作成されてコピーされます。
- SSL証明書が提供されている場合、適切な場所にコピーされます。
PPDのインストール
- CUPSが手動でコピーされたPPDを探すための
/opt/share/ppdを作成します。 - OpenPrintingリポジトリを追加します。
- Ricoh OpenPrintingパッケージ -
openprinting-ppds-postscript-ricohをインストールします。- このパッケージは、PPDをgzipファイルとして
/opt/OpenPrinting-Ricoh/ppds/Ricohにインストールするため、インストールするPPDを解凍します。
- このパッケージは、PPDをgzipファイルとして
- HPLIPをインストールします:
- HPの独自プラグインをexceptスクリプトを使用してインストールします。
cups_ppd_files_to_be_copiedで指定されたフォルダーからPPDを/opt/share/ppdにコピーします。
プリンターのインストール
- 削除に定義されたプリンターは最初に削除されます。
cups_printer_list変数にリストされているプリンターをインストールした後、cups_class_listにリストされているクラスをインストールします。- プリンターとクラスオブジェクトを
cups_printer_listおよびcups_class_listのそれぞれで定義する方法については、cups_printer_listとcups_class_listを参照してください。 - cups_lpadminモジュールを使用します。その使い方についてのドキュメント/コメントがあります。
- cups_lpadminは、HP41.ansible-modules-extra/system/cups_lpadminからの直接のコピーです。一度上流にマージされれば、ここからは削除されます。
- プリンターとクラスオブジェクトを
要件
- Ansible >= 2.1
- ゲストマシン: Debian
- stretch
- jessie
- wheezy
- ゲストマシン: Ubuntu
- xenial
- trusty
- precise
- ゲストマシン: CentOS
- 7.4
このロールの責任に含まれない可能性のある追加タスク。
- 必要なCUPSポート - 515(LPR)、631(IPP/IPPS)、9100(ダイレクトIP)をファイアウォールで開放します。
- debops.fermを使用したい場合、
cups__debops_ferm_dependent_rules(defaultsで定義されている)の変更を通じて、debops.fermに接続できます。
- debops.fermを使用したい場合、
このロールを使用する際に上書きできるかそのまま使用できるデフォルト変数:
CUPSのインストールと設定:
cups_lpadmin_users: CUPS管理者(lpadmin)グループに追加する必要があるユーザーのリスト。デフォルト=rootcups_lpd: cups-lpdをインストールしてセットアップするかどうか - デフォルト=Truecups_sysadmins_email: cupsd.confテンプレートの作成に使用するメールアドレス - デフォルト=sysadmins@ansible_fqdncups__debops_ferm_dependent_rules: ファイアウォールでポートを開くためのデフォルトのシンプルルール(515、631、9100)のリストで、debops.fermロールを使用する際に参照できます。- /etc/xinetd.d/cups-lpd
cups_lpd_user: cups-lpdプロセス(xinetd経由)を実行するためのユーザー名 - デフォルト=cupslpd
- オプションのテンプレート:
- 簡単なファイルコピーとして設定されていた可能性がありますが、ansible変数のアクセスと追加はできません。ansible_managed、ansible_fqdnなどはアクセス可能です。テンプレートも単なるテキストファイルで変数宣言なしでコピーされます。
cups_cupsd_conf_template: /etc/cups/cupsd.conf用cups_cups_browsed_conf_template: /etc/cups/cups-browsed.conf用cups_snmp_conf_template: /etc/cups/snmp.conf用
PPDのインストールとコピー:
cups_ppd_files_to_be_copied: すべての.ppdファイルをコピーするフォルダー - デフォルト=Nonecups_hplip: HPLIPをインストールするかどうか - デフォルト=Truecups_ricoh_openprinting: OpenPrinting-Ricohドライバー/PPDをインストールするかどうか - デフォルト=Truecups_openprinting_apt_required: 三項目として定義されています。Ricohドライバーがインストールされるかどうかに応じて、OpenPrinting APTキーとリポジトリを追加するかのフラグです。値を簡単に上書きできます。cups_openprinting_apt_key_id: 以下のキーサーバーから取得するAPTキーのID。デフォルト=24CBF5474CFD1E2Fcups_openprinting_key_server: 以下のリポジトリのためにキーを取得するキーサーバー - デフォルト=keyserver.ubuntu.comcups_openprinting_apt_repo: Debian / Ubuntuに追加するOpenPrintingリポジトリ - デフォルト="deb http://www.openprinting.org/download/printdriver/debian/ lsb3.2 main"cups_openprinting_yum_repo: RedHat / CentOSに追加するOpenPrintingリポジトリ - デフォルト="http://www.openprinting.org/download/printdriver/components/lsb3.2/main/RPMS"
プリンターとクラスのインストール:
cups_printer_uri_prefix: URI上のフィルターのためのURIプレフィックス - デフォルト=""cups_printer_report_ipp_supplies: プリンターオブジェクトにreport_ipp_supply_levels属性がない場合に使用される値 - デフォルト=Truecups_printer_report_snmp_supplies: プリンターオブジェクトにreport_snmp_supply_levels属性がない場合に使用される値 - デフォルト=Truecups_printer_is_shared: プリンターオブジェクトにshared属性がない場合に使用される値 - デフォルト=Truecups_class_is_shared: クラスオブジェクトにshared属性がない場合に使用される値 - デフォルト=Truecups_printer_list: プリンターのインストールに必要な情報を含むハッシュのリストです。cups_lpadminモジュールとcups_printer_list変数の使用方法を確認してください。cups_class_list: クラスのインストールに必要な情報を含むハッシュのリストです。cups_lpadminモジュールとcups_class_list変数の使用方法を確認してください。cups_purge_all_printers_and_classes: cups_lpadminモジュールが続ける前にすべてのプリンターを削除すべきか。cups_printers_and_classes_to_be_removed: 特に削除したいプリンターとクラス。
ロールの操作および一般的なCUPS設定に関連する変数:
cups_packages_to_install: インストールするCUPSパッケージ。必要に応じて特定のパッケージバージョンに上書きできます - デフォルト=cups, cups-pdfcups_xinetd_location: xinet.dファイルの場所 - デフォルト=/etc/xinetd.dcups_tmp_location: このロールがファイルをコピーし、スクリプトを実行する際に使用する一時場所。存在しない場合は作成されます - デフォルト=/tmp/cups-ansiblecups_admin_group: CUPSの管理アクセス権を持つグループ。ユーザーを追加する際に参照されます(定義されている場合) - デフォルト=lpadmincups_services: CUPSサービスを開始および停止する際に参照されるCUPSサービス - デフォルト=cupscups_etc_location: CUPS設定のetc場所 - デフォルト=/etc/cupscups_etc_files_perms_owner: このロールによってcups_etc_locationに配置されるファイルの所有者 - デフォルト=rootcups_etc_files_perms_group: このロールによってcups_etc_locationに配置されるファイルのグループメンバーシップ - デフォルト=lpcups_etc_files_mode: このロールによってcups_etc_locationに配置されるファイルのモード - デフォルト=0644cups_expect_packages: このロール内のさまざまなexpectスクリプトの非対話式インストール用にインストールされるexpect関連パッケージ - Debian-デフォルト=expect, python-pexpect, RedHat-デフォルト=expect, pexpectcups_ppd_shared_location: PPDを配置できる標準の共有場所で、CUPSがそれを拾います - デフォルト=/opt/share/ppdcups_ricoh_ppd_location: OpenPrintingからRicoh PPDがインストールされる場所 - デフォルト=/opt/OpenPrinting-Ricoh/ppds/Ricoh
プロジェクトについて
Installs CUPS, installs necessary PPDs and installs printers and classes on CUPS
インストール
ansible-galaxy install rivimey.ansible_cupsライセンス
mit
ダウンロード
175
所有者
Software engineer from Cambridge, UK. Background in C/C++ mostly working with Python, PHP code these days. Hobbies: maps, Drupal, transport history & more.
