9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-03-09

目標

  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](https://qiita-image-store.s3.amazonaws.com/0/38845/81bf970e-75c8-4462-6f91-ba558948292e.png) ![image](https://qiita-image-store.s3.amazonaws.com/0/38845/e6910246-05fd-6b8c-805d-f0655c5f9bf3.png) 1. プリンタのドライバを選択していきます。 2. メーカー・モデルを選択していきます。リストの中にプリンタが掲載されていればラッキー。掲載されていない場合は、一工夫 必要です。 3. プリンタのメーカー・モデルを選択が終わったら、「プリンターの追加」を選択 4. この後、プリンタの初期設定値を入力して行く画面になっていきます。 5. おおまかに言ってしまうと、この状態でプリンタの共有はできています。プリンタを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
次へ
  1. HPLIP3のダウンロード。「包括ドライバーパックのようなものがあるので、そちらを使ってね」とのこと。
    image
  2. 「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 に必要とされています ```
  1. パッケージが足りてないのでインストール。
# 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 からのファ イルと競合しています。
  1. 競合しまくり。パッケージを削除していく。
# yum remove libsane-hpaio
# yum remove hplip-libs
# yum remove hplip-common
  1. 再度、パッケージをインストール。
# rpm -Uvh hplip-3.16.2_rhel-7.0.x86_64.rpm
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:hplipfull-3.16.2-0               ################################# [100%]
  1. 以上。

Epson

  1. ドライバーダウンロードにアクセス。
  2. 型番を入れて、OSを選択、検索。
  3. 検索結果が出てくるので「ダウンロード」を選択。
  4. 「エプソンのソフトウエア使用許諾契約」に同意しましょう。
  5. アーキテクチャーにあったドライバーをダウンロード。CentOSのx86_64で使用するため、epson-px-h7000-h9000-series-1.1.0-1lsb3.2.x86_64.rpmを選択。
  6. ダウンロードしたパッケージをインストールする。
# 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 に必要と されています
  1. パッケージが足りてないのでインストール。
# yum install lsb
  1. 再度、パッケージをインストール。
# 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%]
  1. 以上。

スター精密

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

参考

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?