samba
centos7
cups

SambaとCUPSと各種プリンター(CUPS・プリンタ編)

More than 3 years have passed since last update.


目標


  1. プリンタはCUPSで管理する。

  2. Samba経由でプリンタを共有する。

  3. LAN内で使用するため、セキュリティはそれほど気にしない。


環境


CentOS 7.2

言わずともしれたOS。minimumインストール。


  • CentOS Linux release 7.2.1511 (Core)

  • Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux


Samba

LinuxとWindowsの橋渡しをしてくれる。


  • 4.2.3-11


CUPS

Common Unix Printing System. Linuxでプリンタを使えるようにしてくれる。


  • 1.6.3-22


前準備


  1. yum update

    初期インストールされている各種パッケージのアップデート。


  2. yum install epel-release


  3. yum install wget


  4. ip addr show IPアドレスを確認



インストール&設定 (CUPS編)


CUPSのインストール&設定 Part.1 (CUI)


  • yum install cups cups-devel

  • 印刷関連のパッケージをインストール。

  • 外部から接続できるように/etc/cups/cupsd.confを書き換える。


/etc/cups/cupsd.conf

# Only listen for connections from the local machine.

# Listen localhost:631 # ←コメントアウト
Listen 631 # ←追加
Listen /var/run/cups/cups.sock

~~~~ 中略 ~~~~

# Restrict access to the server...
<Location />
Order allow,deny
Allow From All # ←追加
</Location>

# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow From All # ←追加
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow From All # ←追加
</Location>

~~~~ 後略 ~~~~




  • systemctl start cups CUPSを起動


Firewalld (Part.1)


  • ファイヤーウォールにIPP(Port:631)の穴を開ける。

  • Firewalldで定義されているサービスを確認。

# firewall-cmd --get-services

RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns freeipa-ldap freeipa-ldaps
freeipa-replication ftp high-availability http https imaps ipp ipp-client ipsec iscsi-target kerberos kpasswd ldap
ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s
postgresql proxy-dhcp radius rpc-bind rsyncd samba samba-client smtp ssh telnet tftp tftp-client
transmission-client vdsm vnc-server wbem-https


  • IPPの定義はされているので、コマンドを叩いてサービスを追加


# firewall-cmd --add-service=ipp --permanent

# firewall-cmd --reload


CUPSのインストール&設定 Part.2 (GUI)


  1. ブラウザを開いて http://サーバアドレス:631にアクセス。
    image

  2. 管理者向けの「プリンターとクラスの追加」を選択。
    image

  3. 「プリンターの追加」を選択。

  4. そのままアクセスすると怒られます。
    image

  5. 改めて、表示されているアドレスを選択。

  6. 改めて、「プリンターの追加」を選択。

  7. rootアカウント情報が必要になるので入力。
    image

  8. プリンターの追加。プリンタに接続しているポートを選択。
    image

  9. 大抵の場合、USB接続されたプリンタかネットワーク経由でつなげるプリンタのどちらかになると思います。とりあえず、「インターネット印刷プロトコル (ipp) 」を選択。
    image

  10. プリンタの接続方法を記述します。

    ここが鬼門。どの方法でつなげるか悩むことになります。Windowsから使えるプリンタの場合だと、socket://プリンタのアドレス:9100のパターンで、うまくいくことが多かったです。
    image

  11. 新しいプリンターの追加をします。

    名前

    プリンタ名。共有時、この名前が使われます。

    説明

    プリンタの説明。

    場所

    プリンタの場所。

    接続

    前のページで設定した接続方式

    共有

    このプリンターを共有する。共有したいのでチェックをON


    image
    image

  12. プリンタのドライバを選択していきます。

  13. メーカー・モデルを選択していきます。リストの中にプリンタが掲載されていればラッキー。掲載されていない場合は、一工夫 必要です。

  14. プリンタのメーカー・モデルを選択が終わったら、「プリンターの追加」を選択

  15. この後、プリンタの初期設定値を入力して行く画面になっていきます。

  16. おおまかに言ってしまうと、この状態でプリンタの共有はできています。プリンタをWindowsから共有するとき、https://サーバアドレス:631/printers/プリンタ名を指定すれば繋がります。


CUPSへプリンタドライバ(Linux用)を追加する

各種プリンタードライバをインストールしていきます。手元にあるプリンタを片っ端から接続してみました。


hp



  1. HP Linux Imaging and Printingにアクセス。


  2. 「Download HPLIP」を選択





    Step 1: Select Distribution



    Linuxのディストリビューションを選択。今回はRed Hat Enterprise Linux



    Step 2: Select Version



    バージョン系統を選択。7.0



    Step 3: Select Printer Type



    プリンタのシリーズを選択。Officejet/Officejet Pro



    Step 4: Select Printer Model



    プリンタの機種を選択。HP Officejet 7000 Wide Format Printer -- e809a



    Step 5: Click Next



    次へ





  3. HPLIP3のダウンロード。「包括ドライバーパックのようなものがあるので、そちらを使ってね」とのこと。

    image



  4. 「NEXT >>」を選択

    image





    Step 6: Select Processor



    アーキテクチャーを選択



    Step 7: License Agreement



    ライセンスに同意しますか?





  5. 同意してダウンロード。


  6. ダウンロードしたパッケージをインストールする。


  7. # rpm -Uvh hplip-3.16.2_rhel-7.0.x86_64.rpm
    
    エラー: 依存性の欠如:
    libnetsnmp.so.31()(64bit) は hplipfull-3.16.2-0.x86_64 に必要とされています
    libsane.so.1()(64bit) は hplipfull-3.16.2-0.x86_64 に必要とされています

  8. パッケージが足りてないのでインストール。


  9. # yum install libsane-hpaio net-snmp-libs
    
    # rpm -Uvh hplip-3.16.2_rhel-7.0.x86_64.rpm
    準備しています... ################################# [100%]
    ファイル /etc/hp/hplip.conf (パッケージ hplipfull-3.16.2-0.x86_64 から) は、パッケージ hplip-common-3.13.7-6.el7.x86_64 からのファイルと競合しています。
    ファイル /usr/share/hplip/data (パッケージ hplipfull-3.16.2-0.x86_64 か ら) は、パッケージ hplip-common-3.13.7-6.el7.x86_64 からのファイルと競合しています。
    ファイル /usr/share/hplip/data/models (パッケージ hplipfull-3.16.2-0.x86_64 から) は、パッケージ hplip-common-3.13.7-6.el7.x86_64 からのファイルと競合しています。
    ファイル /usr/share/hplip/data/models/models.dat (パッケージ hplipfull-3.16.2-0.x86_64 から) は、パッケージ hplip-common-3.13.7-6.el7.x86_64 からのファ イルと競合しています。
    ファイル /usr/lib64/libhpip.so.0.0.1 (パッケージ hplipfull-3.16.2-0.x86_64 から) は、パッケージ hplip-libs-3.13.7-6.el7.x86_64 からのファイルと競合して います。
    ファイル /usr/lib64/libhpmud.so.0.0.6 (パッケージ hplipfull-3.16.2-0.x86_64 から) は、パッケージ hplip-libs-3.13.7-6.el7.x86_64 からのファイルと競合しています。
    ファイル /usr/lib64/python2.7/site-packages/cupsext.so (パッケージ hplipfull-3.16.2-0.x86_64 から) は、パッケージ hplip-libs-3.13.7-6.el7.x86_64 からの ファイルと競合しています。
    ファイル /usr/lib64/python2.7/site-packages/hpmudext.so (パッケージ hplipfull-3.16.2-0.x86_64 から) は、パッケージ hplip-libs-3.13.7-6.el7.x86_64 からのファイルと競合しています。
    ファイル /usr/lib64/python2.7/site-packages/pcardext.so (パッケージ hplipfull-3.16.2-0.x86_64 から) は、パッケージ hplip-libs-3.13.7-6.el7.x86_64 からのファイルと競合しています。
    ファイル /usr/lib64/python2.7/site-packages/scanext.so (パッケージ hplipfull-3.16.2-0.x86_64 から) は、パッケージ hplip-libs-3.13.7-6.el7.x86_64 からの ファイルと競合しています。
    ファイル /usr/lib64/sane/libsane-hpaio.so.1.0.0 (パッケージ hplipfull-3.16.2-0.x86_64 から) は、パッケージ libsane-hpaio-3.13.7-6.el7.x86_64 からのファ イルと競合しています。

  10. 競合しまくり。パッケージを削除していく。


  11. # yum remove libsane-hpaio
    
    # yum remove hplip-libs
    # yum remove hplip-common

  12. 再度、パッケージをインストール。


  13. # rpm -Uvh hplip-3.16.2_rhel-7.0.x86_64.rpm
    
    準備しています... ################################# [100%]
    更新中 / インストール中...
    1:hplipfull-3.16.2-0 ################################# [100%]

  14. 以上。



Epson



  1. ドライバーダウンロードにアクセス。

  2. 型番を入れて、OSを選択、検索。

  3. 検索結果が出てくるので「ダウンロード」を選択。

  4. 「エプソンのソフトウエア使用許諾契約」に同意しましょう。

  5. アーキテクチャーにあったドライバーをダウンロード。CentOSのx86_64で使用するため、epson-px-h7000-h9000-series-1.1.0-1lsb3.2.x86_64.rpmを選択。

  6. ダウンロードしたパッケージをインストールする。

  7. # rpm -Uvh epson-px-h7000-h9000-series-1.1.0-1lsb3.2.x86_64.rpm
    
    警告: epson-px-h7000-h9000-series-1.1.0-1lsb3.2.x86_64.rpm: ヘッダー V3 DSA/SHA1 Signature、鍵 ID 8aa65d56: NOKEY
    エラー: 依存性の欠如:
    lsb >= 3.2 は epson-px-h7000-h9000-series-1.1.0-1lsb3.2.x86_64 に必要と されています

  8. パッケージが足りてないのでインストール。


  9. # yum install lsb
    

  10. 再度、パッケージをインストール。


  11. # rpm -Uvh epson-px-h7000-h9000-series-1.1.0-1lsb3.2.x86_64.rpm
    
    警告: epson-px-h7000-h9000-series-1.1.0-1lsb3.2.x86_64.rpm: ヘッダー V3 DSA/SHA1 Signature、鍵 ID 8aa65d56: NOKEY
    準備しています... ################################# [100%]
    更新中 / インストール中...
    1:epson-px-h7000-h9000-series-1.1.0################################# [100%]

  12. 以上。



スター精密



  1. スター製品 サポートデータベースにアクセス。

  2. 製品カテゴリ, シリーズ名, 機種名, インターフェース, OSを選択

  3. 推奨ドライバーが表示されるので、ダウンロード。

  4. ダウンロードしたパッケージをインストールする。

# rpm -Uvh starcupsdrv-3.5.0-1.i386.rpm

エラー: 依存性の欠如:
libc.so.6 は starcupsdrv-3.5.0-1.i386 に必要とされています
libc.so.6(GLIBC_2.0) は starcupsdrv-3.5.0-1.i386 に必要とされています
libdl.so.2 は starcupsdrv-3.5.0-1.i386 に必要とされています
libdl.so.2(GLIBC_2.0) は starcupsdrv-3.5.0-1.i386 に必要とされています
libdl.so.2(GLIBC_2.1) は starcupsdrv-3.5.0-1.i386 に必要とされています


  1. パッケージ足りないパターン。追加していく。

# yum install glibc-2.17-106.el7_2.4.i686


  1. 追加後、足りないものがまだある。

# rpm -Uvh starcupsdrv-3.5.0-1.i386.rpm

準備しています... ################################# [100%]
ls: /usr/lib/libcups.so* にアクセスできません: そのようなファイルやディレクトリ はありません
required library libcups.so not available
エラー: %pre(starcupsdrv-3.5.0-1.i386) スクリプトの実行に失敗しました。終了ステ ータス 1
エラー: starcupsdrv-3.5.0-1.i386: インストール 失敗


  1. 更に追加

# yum install cups-devel

# rpm -Uvh starcupsdrv-3.5.0-1.i386.rpm
準備しています... ################################# [100%]
ls: /usr/lib/libcups.so* にアクセスできません: そのようなファイルやディレクトリ はありません
required library libcups.so not available
エラー: %pre(starcupsdrv-3.5.0-1.i386) スクリプトの実行に失敗しました。終了ステ ータス 1
エラー: starcupsdrv-3.5.0-1.i386: インストール 失敗


  1. アーキテクチャーの違いで、cups-devel.i686が必要らしい。

# yum install cups-devel.i686

# rpm -Uvh starcupsdrv-3.5.0-1.i386.rpm
準備しています... ################################# [100%]
更新中 / インストール中...
1:starcupsdrv-3.5.0-1 ################################# [100%]


  1. 以上。


現状


hpの大量のプリンタドライバが選べるようになりました。

image


Epsonのプリンタドライバが選べるようになりました。

image


スター精密のプリンタドライバが選べるようになりました。

image


Samba編に続く。


参考