GNU/Linux >> Belajar Linux >  >> Cent OS

Mengatur CUPS Print Server pada CentOS 8/RHEL 8 (Bonjour, IPP, Samba, AirPrint)

Tutorial ini akan menunjukkan kepada Anda cara berbagi printer yang terpasang ke komputer CentOS 8/RHEL 8 dengan klien Windows, macOS, dan iOS di jaringan yang sama. CUPS (Common Unix Printing System) adalah sistem pencetakan default di Linux, FreeBSD, dan macOS. Lingkungan desktop Linux Anda mungkin memiliki utilitas konfigurasi printer khusus, tetapi semuanya menggunakan CUPS di bawah tenda. Printer CUPS dapat digunakan bersama di jaringan menggunakan beberapa protokol, antara lain:

  • Bonjour + IPP :Bonjour, juga dikenal sebagai mDNS/DNS-SD (penemuan layanan DNS/DNS multicast), memungkinkan komputer menemukan layanan di jaringan lokal. IPP (Internet Printing Protocol) adalah protokol transport.
  • UKM :alias Samba, terutama digunakan untuk berbagi file dan printer dengan klien Windows.
  • AirPrint :Mengizinkan klien iPhone, iPad, dan macOS untuk mencetak melalui Wi-Fi.

Setiap protokol memiliki kelebihan dan kekurangannya masing-masing. Pertama, saya akan menunjukkan cara menginstal dan mengkonfigurasi CUPS. Kemudian kita akan belajar cara berbagi printer CUPS melalui 3 protokol di atas. Sebaiknya gunakan ketiga metode tersebut untuk membagikan printer Anda, sehingga pengguna dapat menemukan printer yang tersedia di jaringan lokal dengan sedikit usaha.

Langkah 1:Instal dan Konfigurasi CUPS di CentOS 8/RHEL 8

Edisi desktop CentOS 8/RHEL 8 memiliki CUPS yang sudah diinstal sebelumnya. Jika Anda menggunakan edisi server CentOS 8/RHEL 8, Anda perlu menjalankan perintah berikut untuk menginstal CUPS dari repositori default CentOS 8/RHEL 8.

sudo dnf install cups

Kemudian mulai CUPS.

sudo systemctl start cups

Aktifkan mulai otomatis saat boot.

sudo systemctl enable cups

Periksa statusnya:

systemctl status cups

Contoh keluaran:

Selanjutnya, edit file konfigurasi utama CUPS dengan editor teks baris perintah seperti Nano.

sudo nano /etc/cups/cupsd.conf

Secara default, antarmuka web CUPS hanya tersedia di localhost:631 . Jika Anda menjalankan edisi server CentOS 8/RHEL 8, Anda mungkin ingin membuat CUPS mendengarkan di semua antarmuka jaringan yang tersedia, sehingga Anda akan dapat mengakses antarmuka web CUPS dari komputer lain. Temukan baris berikut.

Listen localhost:631

Ubah ke berikut, Jadi CUPS akan mendengarkan di semua antarmuka jaringan.

Port 631

Baris berikut akan membuat CUPS menampilkan printer bersama di jaringan lokal, sehingga komputer lain di jaringan yang sama dapat melihat printer yang terhubung ke komputer CentOS 8/RHEL 8 Anda.

Browsing On

Kemudian temukan baris berikut.

<Location />
  Order allow,deny
</Location>

Konfigurasi di atas hanya mengizinkan akses ke antarmuka web CUPS dari localhost. Untuk mengizinkan akses dari komputer lain di jaringan yang sama, tambahkan Allow @LOCAL ke konfigurasi seperti di bawah ini.

<Location />
  Order allow,deny
  Allow @LOCAL
</Location>

Jika Anda ingin mengizinkan administrasi jarak jauh dari jaringan lokal, tambahkan juga untuk /admin direktori.

<Location /admin>
  Order allow,deny
  Allow @LOCAL
</Location>

Simpan dan tutup file. Kemudian mulai ulang CUPS agar perubahan diterapkan.

sudo systemctl restart cups

Kami perlu mengizinkan klien di jaringan yang sama untuk mengakses port 631 di komputer CentOS 8/RHEL 8 Anda.

sudo firewall-cmd --permanent --add-port=631/tcp

Muat ulang firewall agar perubahan diterapkan.

sudo systemctl reload firewalld

Selain cups.service utama , ada juga cups-browsed.service , yang digunakan untuk memindai dan menambahkan printer dari jaringan lokal. Jika Anda ingin komputer CentOS 8/RHEL 8 Anda dapat menggunakan printer lain di jaringan lokal, mulai layanan ini.

sudo systemctl start cups-browsed

Dan aktifkan mulai otomatis saat boot.

sudo systemctl enable cups-browsed

Langkah 2:Instal Driver untuk Printer Anda di CentOS 8/RHEL 8

Anda perlu menginstal driver pada CentOS 8/RHEL 8, sehingga dapat mengenali dan menggunakan printer. Jika Anda memiliki printer HP, Anda dapat menginstal driver dengan mudah dengan perintah berikut.

sudo dnf install hplip

Saya juga merekomendasikan menginstal gutenprint-cups paket, yang menyediakan driver CUPS untuk Canon, Epson, HP, dan printer yang kompatibel.

sudo dnf install gutenprint-cups

Jika Anda memiliki printer lain, Anda dapat menemukan driver di openprinting.org.

Setelah menginstal driver, Anda mungkin perlu menghubungkan kembali printer ke port USB komputer CentOS 8/RHEL 8 Anda. Untuk menguji apakah driver berfungsi dengan benar, Anda dapat membuat file teks di CentOS 8/RHEL 8:

echo "LinuxBabe is awesome!" > file.txt

Kemudian jalankan perintah berikut untuk mencetak file teks ini dari baris perintah.

lp file.txt

Ini adalah metode yang sangat sederhana, jadi jangan khawatir tentang kualitas pencetakan sekarang.

Langkah 3:Bagikan Printer CUPS melalui Bonjour/IPP Protocol

Menginstal Avahi-daemon

CUPS dapat mengumumkan kehadirannya di jaringan melalui protokol mDNS (multicast DNS) dan DNS-SD (DNS Service Discovery), yang juga dikenal sebagai Bonjour. Untuk melakukannya, Anda perlu menginstal dan menjalankan avahi-daemon , yang merupakan layanan serupa dengan layanan Apple Bonjour yang memungkinkan komputer menemukan perangkat dan layanan bersama secara otomatis di jaringan lokal.

sudo dnf install avahi

Kita juga perlu menginstal nss-mdns paket dari repositori EPEL, yang diperlukan klien untuk menyelesaikan .local domain di jaringan.

sudo dnf install epel-release

sudo dnf install nss-mdns

Mulai avahi-daemon.

sudo systemctl start avahi-daemon

Aktifkan mulai otomatis saat boot.

sudo systemctl enable avahi-daemon

Avahi-daemon mendengarkan pada port UDP 5353. Buka di firewall.

sudo firewall-cmd --permanent --add-port=5353/udp

Muat ulang firewall agar perubahan diterapkan.

sudo systemctl reload firewalld

Pencetakan Tanpa Pengemudi IPP

Bonjour digunakan untuk mengiklankan printer di jaringan lokal. Untuk membuat klien dan server CUPS saling berkomunikasi, diperlukan IPP (Internet Printing Protocol). Keuntungan IPP adalah klien dapat menggunakan printer bersama tanpa menginstal driver apa pun di perangkat mereka sendiri. CUPS mendukung IPP, jadi Anda tidak perlu melakukan hal lain untuk membagikan printer CUPS melalui IPP.

Langkah 4:Tambahkan Printer pada Komputer Klien

Klien macOS dan Linux

Karena macOS dan sebagian besar distribusi desktop Linux memiliki CUPS yang diinstal sebagai sistem pencetakan default, setelah Anda mengaktifkan berbagi printer melalui Bonjour/IPP pada kotak CentOS 8/RHEL 8, pengguna macOS dan Linux di jaringan yang sama dapat menggunakan printer secara otomatis. Ketika mereka mengklik opsi cetak dalam aplikasi (pengolah kata, pembaca email, editor foto, dan browser web), printer akan tersedia secara otomatis. Mereka tidak harus secara eksplisit menambahkan printer. Ini ajaib.

Jika komputer Linux Anda tidak dapat menemukan printer, mungkin sistem Anda tidak memiliki ippfind memerintah. Jalankan perintah berikut untuk menginstalnya pada distribusi Linux berbasis Debian.

sudo apt install cups-ipp-utils

Pada CentOS 8, jalankan perintah berikut.

sudo dnf install cups-ipptool

Kemudian restart CUPS di komputer klien.

sudo systemctl restart cups

Windows

Windows 10 dikirimkan dengan klien IPP. Ketik printer di bilah pencarian kiri bawah dan buka Printers &Scanners . Kemudian klik Tambahkan printer atau pemindai tombol. Ini akan memindai printer yang tersedia di jaringan lokal.

Seperti yang Anda lihat, ia menemukan printer HP Deskjet saya. Pilih printer yang ditemukan dan klik Tambahkan perangkat . Ini akan ditambahkan ke daftar printer dalam beberapa saat.

Jika Anda menggunakan versi Windows yang berbeda yang tidak dapat menambahkan printer dengan cara ini, maka Anda dapat menginstal layanan Bonjour Print. Setelah terinstal, luncurkan wizard printer Bonjour. Ini akan secara otomatis memindai printer yang tersedia di jaringan lokal. Seperti yang Anda lihat dari tangkapan layar, ia menemukan printer HP saya.

Klik next, maka Anda harus memilih driver untuk printer ini. Anda dapat memilih driver kelas Microsoft IPP, yang diinstal pada sistem secara default.

Klik Berikutnya, dan printer akan ditambahkan ke sistem Windows Anda.

Menambahkan Printer Secara Manual di Linux

Jika karena alasan apa pun Anda tidak melihat printer, Anda dapat menambahkannya secara manual. Untuk menambahkan printer bersama Bonjour di desktop Linux, cari pengaturan sistem Anda atau menu aplikasi untuk utilitas konfigurasi printer. Klik tombol Tambah tombol untuk menambahkan printer baru.

Kemudian klik Network Printer, dan secara otomatis akan memindai printer yang tersedia di jaringan lokal. Seperti yang Anda lihat, ia menemukan printer HP Deskjet saya. Klik tombol Teruskan tombol.

Kemudian Anda dapat memberi nama dan deskripsi pada printer. Saya hanya menerima nilai default. Klik Terapkan dan selesai.

Menambahkan Printer Secara Manual di macOS

Untuk menambahkan printer bersama Bonjour di macOS, buka preferensi sistem -> Printer &Pemindai . Klik tombol plus (+) untuk menambahkan printer.

Ini akan secara otomatis memindai printer yang tersedia di jaringan lokal. Seperti yang Anda lihat, ia menemukan printer HP Deskjet saya.

Klik tombol Tambah tombol dan itu akan muncul di daftar printer.

Langkah 5:Bagikan Printer CUPS melalui Samba

Samba adalah implementasi protokol SMB/CIFS sumber terbuka dan gratis untuk Unix dan Linux yang memungkinkan berbagi file dan cetak antara mesin Unix/Linux dan Windows di jaringan area lokal. Ini terutama digunakan untuk berbagi file dan printer dengan klien Windows.

Untuk menginstal Samba di CentOS 8/RHEL 8, jalankan perintah berikut.

sudo dnf install samba

Kemudian jalankan perintah berikut untuk memulai smbd dan nmbd layanan.

sudo systemctl start smb nmb

Aktifkan mulai otomatis saat boot.

sudo systemctl enable smb nmb

Untuk memeriksa apakah layanan Samba berjalan, jalankan perintah berikut.

systemctl status smb nmb

Setelah dimulai, smb daemon akan mendengarkan pada port TCP 139 dan 445. nmbd akan mendengarkan pada port UDP 137 dan 138. Jalankan perintah berikut untuk membuka port ini di firewall.

sudo firewall-cmd --permanent --add-service=samba

Muat ulang daemon firwall untuk mengubah efeknya.

sudo systemctl reload firewalld

Kemudian edit file konfigurasi utama.

sudo nano /etc/samba/smb.conf

Temukan [printers] bagian. Secara default, tampilannya seperti ini:

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

Kita perlu mengubah nilai browseable untuk yes , sehingga klien di jaringan yang sama dapat menemukan printer dan menambahkan guest ok = yes untuk mengizinkan siapa pun di jaringan menggunakan printer.

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = yes
        guest ok = yes

Disarankan untuk mengaktifkan spoolssd layanan saat berbagi printer. Ini akan membuat Samba lebih efisien ketika ada banyak pekerjaan pencetakan. Cukup tambahkan dua baris berikut di [global] bagian untuk mengaktifkan spoolssd layanan.

 rpc_server:spoolss = external
 rpc_daemon:spoolssd = fork

Simpan dan tutup file. Kemudian mulai ulang Samba.

sudo systemctl restart smb nmb

Menambahkan Printer Samba-shared di Windows.

Buka file explorer, masukkan alamat IP komputer CentOS 8/RHEL 8 di address bar seperti \\192.168.0.110 . Printer sekarang harus terdaftar.

Klik dua kali printer untuk menambahkannya ke sistem Windows Anda. Kemudian klik tombol OK untuk memilih driver yang akan diinstal. Setelah menginstal driver, printer akan ditambahkan ke sistem Windows Anda.

Langkah 6:Bagikan Printer CUPS dengan Klien iOS melalui AirPrint

AirPrint memungkinkan klien iPhone, iPad, dan macOS untuk mencetak melalui Wi-Fi tanpa menginstal perangkat lunak driver pada perangkat klien. CUPS mendukung Airprint, tetapi avahi-daemon secara default tidak mengumumkan layanan AirPrint di jaringan lokal. Kita perlu membuat .service file di /etc/avahi/services/ direktori untuk printer dengan skrip Python. Jalankan perintah berikut untuk mengunduh skrip di CentOS 8/RHEL 8.

wget https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py

Tambahkan izin eksekusi.

chmod +x airprint-generate.py

Skrip python ini dibuat untuk Python2. CentOS 8/RHEL 8 menggunakan Python3 secara default. Kita perlu menginstal Python2.

sudo dnf install python2

Edit file ini.

nano airprint-generate.py

Ubah

#!/usr/bin/env python

untuk

#!/usr/bin/env python2

Simpan dan tutup file. Kemudian instal dependensi.

sudo dnf install gcc python2-devel cups-devel redhat-rpm-config

Pasang modul cangkir.

sudo pip2 install cups pycups

Kemudian jalankan skrip ini.

sudo ./airprint-generate.py -d /etc/avahi/services/

Sekarang seharusnya ada .service file di bawah /etc/avahi/services/ direktori untuk printer Anda.

ls /etc/avahi/services/

Contoh keluaran:

AirPrint-DeskJet-2130-series.service

Mulai ulang Avahi-daemon.

sudo systemctl restart avahi-daemon

Sekarang klien iOS dan macOS di jaringan yang sama seharusnya dapat menggunakan printer Anda. Tangkapan layar berikut menunjukkan iPhone saya berhasil menemukan Printer AirPrint.


Cent OS
  1. Siapkan Server SysLog di CentOS 6 / RHEL 6

  2. Cara menginstal Wayang di RHEL 8/CentOS 8

  3. Mengatur Server DHCP di CentOS 8 - Bagaimana Caranya?

  1. Cara Mengatur Server OpenVPN di CentOS 7

  2. Cara Menginstal OpenLiteSpeed ​​Web Server di CentOS 8/RHEL 8

  3. Konfigurasi Server Samba di CentOS 6.5

  1. Cara Instal Samba Server di CentOS 8

  2. Cara Mengatur CUPS Print Server di Ubuntu 20.04

  3. Cara Setup Samba Print Server di CentOS