自宅サーバー ≫ Linux Server ≫ CentOS Stream 8 ≫ プリントサーバー (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 のインストール
 
 
[root@centos]# dnf -y install cups
 
cups の設定
 
 
[root@centos]# vi /etc/cups/cupsd.conf

 MaxLogSize 0
 #
 # 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


 # 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) 』で作成した各 cert ・ privkey ・ vhain を指定
 
SSLCertificateFile /etc/letsencrypt/live/www.papa-net.info/cert.pem
 
SSLCertificateKeyFile /etc/letsencrypt/live/www.papa-net.info/privkey.pem
 
SSLCertificateChainFile /etc/letsencrypt/live/www.papa-net.info/chain.pem
 
起動
 
 [root@
centos]# systemctl start cups.service
 
自動起動設定
 
 [root@
centos]# systemctl enable cups.service
 
自動起動設定の確認
 
 [root@
centos]# systemctl is-enabled cups.service
 
enabled             <--- enabled になっていればOK
 
gutenprint のインストール
各メーカーのプリンタードライバーを配布している gutenprint をインストール
 
 [root@
centos]# dnf -y install gutenprint gutenprint-plugin gutenprint-foomatic
 
尚、 gutenprint で対応しているプリンタの一覧は http://gimp-print.sourceforge.net/p_Supported_Printers.php にあるので検索する事ができる
サーバー側のプリンタ追加
<Windows Edge の場合>
https://<ドメイン or IPアドレス>:631 でアクセスすると下図のような『セキュリティの警告』 ページが表示されるので『詳細設定』をクリック

『*****に進む(安全ではありません)』をクリックする事により本来のページが表示される

『CUPS 管理者向け』メニュー内の『プリンターとクラスの追加』をクリック

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

ユーザー名とパスワード(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.
 

戻る