IPP 待機サービスは IPP ネットワークプロトコルサービスを提供して、リスナーを実行しているシステム上の印刷サービスと対話する手段を印刷クライアントシステムに提供します。このリスナーは、さまざまな標準的な操作と属性を含む IPP プロトコルのサーバー側サポートを実現します。リスナーは、Oracle Solaris 上に Apache モジュールとして、および IPP 操作とワイヤ通信をサポートする一連の共用ライブラリとして実装されます。IPP ソフトウェアスタックは、システムに Oracle Solaris OS をインストールしたときにインストールされます。この待機サービスは、実行される印刷サービスに依存する SMF サービスです。その結果、最初の印刷待ち行列が追加されると、印刷サーバー上で IPP が自動的に有効化されます。また、最後の印刷待ち行列が削除されると、IPP は無効化されます。構成に変更を加えた場合は、リスナーを再起動する必要があります。詳細は、「IPP ネットワーク待機サービスを再起動する方法」を参照してください。
IPP 待機サービスの実装は、Apache Web サーバーに組み込まれています。Web サーバーは、HTTP POST 要求によって IPP 操作を受信します。HTTP POST 要求は、受信されると、Apache IPP モジュール (mod_ipp.so) に渡されます。構成によっては、Apache Web サービスが認証サービスを提供したり、クライアントとサーバー間で暗号化を使用したりする場合もあります。待機サービスは、待機専用の Apache インスタンスとして実行されます。
Oracle Solaris OS の IPP サポートは、サーバー側サポートとクライアント側サポートに分けられます。サーバー側サポートとクライアント側サポートでは、サーバー操作またはクライアント操作に固有の要素だけでなく、両者に共通の要素もいくつか使用されます。このため、IPP のクライアントコンポーネントとサーバーコンポーネントは、これらの共通要素を実装したコードベースを共用しています。表 A–1 に、Oracle Solaris OS の IPP サポートを構成しているコンポーネントを示します。
この Web サーバーインスタンスの Apache 設定は、lp 印刷サービスユーザーのアカウントで実行されます。このアカウントは、既存のすべての IPP 操作をサポートするのに十分な特権を備えていますが、印刷サービス固有の資源のみにアクセスできます。待機サービスは、IPP をサポートするために特別に設定された専用の Web サーバーインスタンスとして実行されます。これは、潜在的なセキュリティーリスクを最小限に抑えることを意図しています。
サーバー側の IPP 構成を変更するには、/etc/apache/httpd-standalone-ipp.conf ファイルに変更を加えます。クライアント側の IPP 構成を変更するには、/etc/printers.conf ファイルに変更を加えます。
構成に何らかの変更を加えた場合は、サービスを再起動して新しい構成を読み込む必要があります。詳細は、「印刷スケジューラを再起動する方法」を参照してください。
IPP 待機サービスの構成ファイル /etc/apache/httpd-standalone-ipp.conf は、通常の Apache 1.3 構成ファイルと似ています。構成ファイルは、使用する任意の Apache 1.3 設定指令を取り込みます。
デフォルト設定には次に示す機能が含まれています。
ポート 631 での待機。
Apache モジュールの最小セットのロード。
/printers/ パス (ipp://server/printers/ など) における、サポートされているすべての IPP 操作の有効化。認証を必要としない。
/printers/ で実行可能なデフォルト操作は、セキュリティーリスクが低い操作セットに限定されています。ただし、基本認証が必要な /admin/ パス (ipp://server/admin/ など) では、すべての操作が実行可能です。
次の表では、選択可能な mod_ipp Apache 設定オプションについて説明します。
ipp-conformance - プロトコルチェックのレベルを選択します。デフォルトは自動で、最大限のクライアントとの対話が可能になります。
ipp-operation - 1 つ以上の IPP 操作に対して、IPP 操作サポートを選別的に有効化または無効化できるようにします。
ipp-default-user - ローカル印刷サービスとの通信時に使用するユーザー名を選択します。
デフォルトは、より多くのプロキシ機能が使用可能な lp 印刷ユーザーです。
ipp-default-service - 印刷要求の送信先となるデフォルト印刷サービスを選択します。
デフォルトは lpsched デーモンです。
準拠チェックのタイプは次のとおりです。
Automatic - 要求された操作がプロトコルリスナーによってサポートされていることだけをチェックします。これがデフォルトです。
1.0 - 要求が IPP 1.0 に準拠していることをチェックします。
1.1 - 要求が IPP 1.1 に準拠していることをチェックします。
IPP 操作キーワードに使用される構文は次のとおりです。
ipp-operation operation enable | disable
Apache Web サーバーの設定に使用される IPP 操作キーワードの詳細については、「IPP 操作キーワード」を参照してください。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
/etc/apache/httpd-standalone-ipp.conf ファイルをテキストエディタで開きます。
必要な IPP サーバー設定データを追加します。
次に例を示します。
if mod_ipp is loaded User lp run as "lp" URI: ipp://{host]/printers/{queue} SetHandler application/ipp use mod_ipp for this location ipp-conformance strict enable strict protocol checking (default) ipp-operation all enable enable all supported operations |
PAPI がサポートされている場合、printer-uri-supported 値がプリンタデータベースにないときには、bsdaddr の値 (server,q) が同等の printer-uri-supported 値 (lpd://server/printers/q) に変換されます。ただし、クライアントシステムが混在し、待ち行列が IPP 対応サーバー上にあるような場合は、このデータを手動で設定する必要があります。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
/etc/printers.conf ファイルをテキストエディタで開きます。必要な IPP クライアント設定データを追加します。
次に例を示します。
/etc/printers.conf:queue: \ :bsdaddr=server,queue,Solaris: \ :printer-uri-supported=ipp\://server/printers/queue: |
IPP を使用した印刷の詳細については、付録 A インターネット印刷プロトコルの使用を参照してください。
IPP を使用したプリンタ管理の詳細については、「インターネット印刷プロトコル使用時のネットワーク上のプリンタの管理 (作業マップ)」を参照してください。