Help us understand the problem. What is going on with this article?

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編に続く。

参考

yyano
IT系おじさん。やんわりと転職活動中。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした