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をインストールしてセットアップするかどうか - デフォルト=True
cups_sysadmins_email
: cupsd.confテンプレートの作成に使用するメールアドレス - デフォルト=sysadmins@ansible_fqdn
cups__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をインストールするかどうか - デフォルト=True
cups_ricoh_openprinting
: OpenPrinting-Ricohドライバー/PPDをインストールするかどうか - デフォルト=True
cups_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
属性がない場合に使用される値 - デフォルト=True
cups_printer_report_snmp_supplies
: プリンターオブジェクトにreport_snmp_supply_levels
属性がない場合に使用される値 - デフォルト=True
cups_printer_is_shared
: プリンターオブジェクトにshared
属性がない場合に使用される値 - デフォルト=True
cups_class_is_shared
: クラスオブジェクトにshared
属性がない場合に使用される値 - デフォルト=True
cups_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-pdf
cups_xinetd_location
: xinet.dファイルの場所 - デフォルト=/etc/xinetd.d
cups_tmp_location
: このロールがファイルをコピーし、スクリプトを実行する際に使用する一時場所。存在しない場合は作成されます - デフォルト=/tmp/cups-ansible
cups_admin_group
: CUPSの管理アクセス権を持つグループ。ユーザーを追加する際に参照されます(定義されている場合) - デフォルト=lpadmin
cups_services
: CUPSサービスを開始および停止する際に参照されるCUPSサービス - デフォルト=cups
cups_etc_location
: CUPS設定のetc場所 - デフォルト=/etc/cups
cups_etc_files_perms_owner
: このロールによってcups_etc_location
に配置されるファイルの所有者 - デフォルト=root
cups_etc_files_perms_group
: このロールによってcups_etc_location
に配置されるファイルのグループメンバーシップ - デフォルト=lp
cups_etc_files_mode
: このロールによってcups_etc_location
に配置されるファイルのモード - デフォルト=0644
cups_expect_packages
: このロール内のさまざまなexpectスクリプトの非対話式インストール用にインストールされるexpect関連パッケージ - Debian-デフォルト=expect, python-pexpect
, RedHat-デフォルト=expect, pexpect
cups_ppd_shared_location
: PPDを配置できる標準の共有場所で、CUPSがそれを拾います - デフォルト=/opt/share/ppd
cups_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
ダウンロード
163
所有者
Software engineer from Cambridge, UK. Background in C/C++ mostly working with Python, PHP code these days. Hobbies: maps, Drupal, transport history & more.