cups(Common Unix Printing System)とは、IPP(Internet Printing Protocol)に準拠し、IPPはHTTPを使用して印刷可能にしたプロトコルで、印刷の為の標準規定だけでなく、印刷ジョブやプリンタの各オプションなども規定しユーザーはWebブラウザを介してサーバの状態監視やプリンタのジョブ管理も行なえます。
当サイトではプリンタドライバはクライアントに持たせ、サーバは受け取ったデータを加工せずにプリンタに印刷要求を出すようにする設定を紹介します。
OSインストール時のカスタム設定で「cups」を未選択にしても、デフォルトでインストールされる様です。 インストール後、故意的にアンインストールした場合は、以下ので順でインストールして下さい。 # yum -y install cups |
バージョンの確認 # rpm -qa cups cups-1.2.10-10.fc7 上記部分が、cupsのバージョンとなる |
設定ファイルの編集 # vi /etc/cups/cupsd.conf # # Ports/addresses that we listen to. The default port 631 is reserved # for the Internet Printing Protocol (IPP) and is what we use here. # # You can have multiple Port/Listen lines to listen to more than one # port or address, or to restrict access: # # Port 80 # Port 631 # Listen hostname # Listen hostname:80 # Listen hostname:631 # Listen 1.2.3.4 # Listen 1.2.3.4:631 # # NOTE: Unfortunately, most web browsers don't support TLS or HTTP Upgrades # for encryption. If you want to support web-based encryption you'll # probably need to listen on port 443 (the "https" port...) # # NOTE 2: In order for the command-line and web interfaces to work, you # must have at least one Port or Listen line that allows access from the # local loopback address (localhost). # #Port 80 #Port 443 Port 631になっている事を確認 Port 631 <Location /> Order Deny,Allow Deny From All Allow From 127.0.0.1 プリンタを利用するクライアントのネットワークを追加 Allow From 192.168.1.0/24 </Location> <Location /admin> # # You definitely will want to limit access to the administration functions. # The default configuration requires a local connection from a user who # is a member of the system group to do any admin tasks. You can change # the group name using the SystemGroup directive. # AuthType Basic AuthClass System ## Restrict access to local domain Order Deny,Allow Deny From All Allow From 127.0.0.1 ブラウザ経由で設定を行うクライアントのネットワークアドレスを指定 Allow From 192.168.1.0/24 #Encryption Required </Location> |
設定ファイルの編集 # vi /etc/cups/cupsd.conf # Only listen for connections from the local machine. Port631を有効にする。(localhostのみ限定にしない) Listen localhost:631 ↓ 下記に変更 Listen 631 # Restrict access to the server... <Location /> Order allow,deny Allow localhost プリンタを利用するクライアントのネットワークを追加 Allow 192.168.1.0/24 </Location> # Restrict access to the admin pages... <Location /admin> Encryption Required Order allow,deny Allow localhost 管理者ページを利用できるクライアントのネットワークを追加。(できれば、利用できるIPを限定する事が望ましい) Allow 192.168.1.0/24 </Location> # Restrict access to configuration files... <Location /admin/conf> AuthType Basic Require user @SYSTEM Order allow,deny Allow localhost 管理者ページ(設定ファイルへのアクセス許可)を利用できるクライアントのネットワークを追加。(こちらも、利用できるIPを限定する事が望ましい) Allow 192.168.1.0/24 </Location> 最終行へ以下を追加 『通信内容暗号化(OpenSSL & mod_SSL) 〜 Webページ編〜』のサーバ用「秘密鍵・公開鍵」を作成したファイル名を指定する ServerCertificate /etc/httpd/conf/server.crt ServerKey /etc/httpd/conf/server.key |
プリンタドライバを使用しない設定 # vi /etc/cups/mime.types ######################################################################## # # Raw print file support... # # Uncomment the following type and the application/octet-stream # filter line in mime.convs to allow raw file printing without the # -oraw option. # 先頭に"#"が付加されていない(有効になっている)事を確認 application/octet-stream # vi /etc/cups/mime.convs ######################################################################## # # Raw filter... # # Uncomment the following filter and the application/octet-stream type # in mime.types to allow printing of arbitrary files without the -oraw # option. # 先頭の"#"を削除し有効にする application/octet-stream application/vnd.cups-raw 0 - |
cupsを起動する 【FC1 から Fedora15 / CentOS4 / CentOS5 の場合】 # /etc/rc.d/init.d/cups start 【Fedora16 の場合】 # systemctl start cups.service |
起動時にcupsを起動する 【FC1 から Fedora15 / CentOS4 / CentOS5 の場合】 # chkconfig cups on 設定内容を確認 # chkconfig --list cups cups 0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ 【Fedora16 の場合】 # systemctl enable cups.service 設定内容を確認 # systemctl status cups.service cups.service - CUPS Printing Service Loaded: loaded (/lib/systemd/system/cups.service; enabled) Active: active (running) since Thu, 17 Nov 2011 08:57:04 +0900; 17min ago Main PID: 1713 (cupsd) CGroup: name=systemd:/system/cups.service └ 1713 /usr/sbin/cupsd -f |
*:ここまでの設定は、以下の設定ファイルに設定されています。
# cat /etc/cups/printers.conf # Printer configuration file for CUPS v1.1.20 # Written by cupsd on 2004年10月31日 12時50分44秒 <DefaultPrinter PX-G900> Info EPSON Colorio PX-G900 Location Fedora Connect DeviceURI usb:/dev/usb/lp0 State Idle Accepting Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 </Printer> |