自宅サーバー ≫ Linux Server ≫ CentOS 7 ≫ プリントサーバー (cups)

 
SSL追加
sups の設定でが SSL通信を使うのでこのサイトの『 SSLサーバー(mod_ssl) 』を先に実行しておく事
CUPS
CUPS の raw 印刷機能を利用してクライアントから直接 TCP/IPネットワークを通じて印刷データの送受信や印刷機器の制御を行う IPP ポートを使用して印刷を行うこと

このため Linux 用のプリンタードライバは不要

プリンターの接続
サーバーにプリンターを接続し電源を入れサーバーがプリンタを認識できるようにしておく
今回接続するプリンタは EPSON PM-D800
USBプリンタの認識
 
 
[root@centos]# modprobe lp
 
[root@centos]# modprobe usblp
 
CUPS のインストール
バージョン:CUPS 1.6.3
 
 
[root@centos]# yum -y install cups
 
cups の設定
 
 
[root@centos]# vi /etc/cups/cupsd.conf

 MaxLogSize 0
 #
 # "$Id: cupsd.conf.in 8805 2009-08-31 16:34:06Z mike $"
 #
 #Sample configuration file for the CUPS scheduler. See "man cupsd.conf" for a
 # complete description of this file.
 #
 
 # Log general information in error_log - change "warn" to "debug"
 # for troubleshooting...
 LogLevel warn

 # Administrator user group...
 SystemGroup sys root


 # Only listen for connections from the local machine.
 Listen localhost:
631 ← 変更
  

 Listen
631
 Listen /var/run/cups/cups.sock

 # Show shared printers on the local network.
 Browsing
On ← ネットワーク上のプリンタを検索しない
  

 Browsing
Off
 BrowseLocalProtocols dnssdOrder allow,deny

 # Default authentication type, when authentication is required...
 DefaultAuthType Basic

 # Web interface setting...
 WebInterface Yes

 # Restrict access to the server...
 <Location />
   Order allow,deny
  
Allow 127.0.0.1 ← 追記(ローカルからのアクセスを許可)
  
Allow 192.168.1.0/24 ← 追記(LAN内からのアクセスを許可)
 </Location>

 # Restrict access to the admin pages...
 <Location /admin>
   Order allow,deny
  
Allow 127.0.0.1 ← 追記(ローカルからのアクセスを許可)
  
Allow 192.168.1.0/24 ← 追記(LAN内からのアクセスを許可)
 </Location>

 # Restrict access to configuration files...
 <Location /admin/conf>
   AuthType Default
   Require user @SYSTEM
   Order allow,deny
  
Allow 127.0.0.1 ← 追記(ローカルからのアクセスを許可)
  
Allow 192.168.1.0/24 ← 追記(LAN内からのアクセスを許可)
 </Location>

 
以下略

 以下を最終行へ追加   
『 SSLサーバー(mod_ssl) 』で作成した各 crt ・ key を指定
 
ServerCertificate /etc/pki/tls/certs/server.crt
 ServerKey
/etc/pki/tls/certs/server.key
 
起動
 
 [root@
centos]# systemctl start cups.service
 
自動起動設定
 
 [root@
centos]# systemctl enable cups.service
 
自動起動設定の確認
 
 [root@
centos]# systemctl list-unit-files | grep cups.service
 
cups.service                                    enabled    <--- enabled になっていればOK
 
gutenprint のインストール
各メーカーのプリンタードライバーを配布している gutenprint をインストール
 
 [root@
centos]# yum -y install gutenprint gutenprint-plugin gutenprint-foomatic
 
尚、 gutenprint で対応しているプリンタの一覧は http://gimp-print.sourceforge.net/p_Supported_Printers.php にあるので検索する事ができる
サーバー側のプリンタ追加
<Windows Edge の場合>
https://IPアドレス:631 でアクセスすると下図のような『セキュリティの警告』 ページが表示されるので『詳細』をクリック

『Web ページへ移動(非推奨)』をクリックする事により本来のページが表示される

<Windows Internet Explorer 11 の場合>
https://IPアドレス:631 でアクセスすると下図のような『セキュリティの警告』 ページが表示される
『詳細情報』をクリック

 

『Web ページに移動(非推奨)』をクリックする事により本来のページが表示される

 

<Mozilla Firefox 59.0.3(64ビット) の場合>
https://IPアドレス:631 でアクセスすると下図のような『セキュリティの警告』 ページが表示される
『エラー内容』をクリック

『例外を追加...』をクリック

『セキュリティ例外を承認(C)』をクリックする事により本来のページが表示される

<以下より共通>
『管理者向け』メニュー内の『プリンターとクラスの追加』をクリック

『プリンター』メニュー内の『プリンターの追加』をクリック

ユーザー名とパスワード(root と root のパスワード)を入力して『OK』をクリック

サーバーに接続されているプリンターが表示されるので該当するプリンターにチェックを要れ『続ける』をクリック

『このプリンターを共有する』にチェックを要れ『続ける』をクリック

ネットワーク内のクライアントのみの印刷でローカルからの印刷は行わない場合はクライアント側にドライバーをインストールしそのドライバーを使って印刷を行うので『モデル』は適当に選択でも構わない
ローカルからの印刷も行う場合は正式なモデルを選択(プリンタードライバーをインストールすればここに正式なモデル名が表示される)
尚、 gutenprint をインストールしていればたいがいのドライバーはインストールされている
今回は EPSON PM-D800 なのでインストールされているのでそれを使う

特に変更するところは無いので『デフォルトオプションの設定』をクリック

設定完了
下記の画面に変わる

『プリンター』タブをクリック

『メンテナンス』 → 『テストページの印刷』をクリック

テストページを印刷送信完了

下図のようにテストページは印刷されればOK

エラーがおきたら・・・・・
下記のコマンドでエラーログを確認
下記では14行目の Listen:631 の記述に間違いがあると指摘されているので修正し再度実行
 
 [root@
centos]# less /var/log/cups/error_log
 
E [26/Oct/2014:15:08:49 +0900] Missing value for Listen:631 on line 14 of /etc/cups/cupsd.conf.
 
クライアント側のプリンタ追加
ここでは Windows10 と Windows 7 を例にして紹介
<Windows 10 の場合>
『スタート』 →  『設定』(歯車のマーク)をクリック

Windows の設定画面が表示されるので『デバイス Bluetooth、プリンタ、マウス』をクリック

左側メニューの『プリンターとスキャナー』をクリック

 

右側の『プリンターまたはスキャナーを追加します』をクリック

 

プリンターを検索するがサーバー機に接続されているため検索できないので『プリンターが一覧にない場合』をクリック

 

『共有プリンターを名前で選択する(S)』を選択し“<サーバー機のIPアドレス>:631/printers/<CUPSで登録されているプリンター名>”を入力して『次へ(N)』をクリック

プリンター追加ウィザードが表示されるので“製造元”と“プリンター”を選択して『OK』をクリック

 

正常にプリンターが追加されたら『テストページの印刷(P)』をクリック

下図のようにテストページは印刷されればOK

<Windows 7 の場合>

『スタート』 → 『デバイスとプリンター』 → 『プリンタの追加』をクリックして『プリンターの追加』ウィザードを表示

『ネットワーク、ワイヤレスまたは Bluetooth プリンターを追加します(W)』を選択して『次へ(N)』をクリック
※ここでは別のプリンターが表示されていますが読み替えてください

『探しているプリンターはこの一覧にはありません(R)』を選択して『次へ(N)』をクリック

『共有プリンターを名前で選択する(S)』を選択して http://<サーバーのIPアドレス>:631/printers/<プリンター名> を入力して『次へ(N)』をクリック

追加するプリンターを選択して『OK』をクリック

『テストページの印刷』をクリックして正常にテストページが印刷されれば『完了(F)』をクリック

戻る