GNU/Linux >> Belajar Linux >  >> Ubuntu

Mengatur CUPS Print Server di Ubuntu (Bonjour, IPP, Samba, AirPrint)

Tutorial ini akan menunjukkan kepada Anda cara berbagi printer yang terpasang ke komputer Ubuntu dengan klien Windows, macOS dan iOS di jaringan yang sama. CUP (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.

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 Ubuntu

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

sudo apt 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

Pertama, kita perlu menunjukkan printer bersama di jaringan lokal. Temukan baris berikut.

Browsing Off

Ubah ke

Browsing On

sehingga komputer lain di jaringan yang sama dapat melihat printer yang terhubung ke komputer Ubuntu Anda.

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

Listen localhost:631

Ubah ke

Port 631

Jadi CUPS akan mendengarkan di semua antarmuka jaringan. Kemudian temukan baris berikut.

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

Konfigurasi di atas memungkinkan akses ke antarmuka web CUPS hanya 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>

Tambahkan juga untuk /admin direktori untuk mengizinkan administrasi jarak jauh dari jaringan lokal.

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

Anda juga dapat mengizinkan alamat IP tertentu seperti:

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

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

sudo systemctl restart cups

Perhatikan bahwa jika Anda telah mengaktifkan firewall UFW di Ubuntu, Anda harus mengizinkan klien di jaringan yang sama untuk mengakses port 631 di kotak Ubuntu Anda. Misalnya, jaringan pribadi saya menggunakan rentang jaringan 192.168.0.0 ~192.168.0.255, jadi saya menjalankan perintah berikut.

sudo ufw allow in from 192.168.0.0/24 to any port 631

Antarmuka web CUPS tersedia di https://IP-address-of-Ubuntu-box:631 . Kami tidak perlu menggunakan antarmuka web dalam artikel ini, tetapi jika Anda ingin menggunakannya, Anda perlu menambahkan akun pengguna Anda ke lpadmin grup untuk membuat perubahan pada antarmuka web CUPS.

sudo adduser your_username lpadmin

Langkah 2:Instal Driver untuk Printer Anda di Ubuntu

Anda perlu menginstal driver di Ubuntu, sehingga dapat mengenali dan menggunakan printer. Jika Anda memiliki printer HP, Anda dapat menginstal driver dengan mudah dengan perintah berikut.

sudo apt install hplip

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

sudo apt install printer-driver-gutenprint

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 Ubuntu Anda. Untuk menguji apakah driver berfungsi dengan benar, Anda dapat membuat file teks di Ubuntu:

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 apt install avahi-daemon

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 ufw allow 5353/udp

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 Ubuntu, 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 Ubuntu, cukup jalankan perintah berikut di terminal.

sudo apt install samba samba-common-bin

Untuk memeriksa apakah layanan Samba berjalan, jalankan perintah berikut.

systemctl status smbd

systemctl status nmbd

Untuk memulai kedua layanan ini, jalankan perintah berikut:

sudo systemctl start smbd

sudo systemctl start nmbd

Kemudian edit file konfigurasi utama.

sudo nano /etc/samba/smb.conf

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

Selanjutnya, pergi ke akhir file dan Anda akan melihat [printers] bagian. Di editor teks Nano, Anda dapat melompat ke akhir file dengan menekan Ctrl+W , lalu Menekan Ctrl+V . Temukan dua baris berikut.

browseable = no
guest ok = no

Ubah ke

browseable = yes
guest ok = yes

Simpan dan tutup file. Kemudian mulai ulang Samba.

sudo systemctl restart smbd nmbd

Menambahkan Printer Samba-shared di Windows.

Buka file explorer, masukkan alamat IP komputer Ubuntu 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 dengan perintah berikut. Model printer saya adalah seri DeskJet 2130. Ganti dengan nama model Anda sendiri.

sudo nano /etc/avahi/services/AirPrint-DeskJet-2130-series.service

Tambahkan baris berikut dalam file.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name replace-wildcards="yes">AirPrint DeskJet-2130-series @ %h</name>
  <service>
    <type>_ipp._tcp</type>
    <subtype>_universal._sub._ipp._tcp</subtype>
    <port>631</port>
    <txt-record>txtvers=1</txt-record>
    <txt-record>qtotal=1</txt-record>
    <txt-record>Transparent=T</txt-record>
    <txt-record>URF=none</txt-record>
    <txt-record>rp=printers/DeskJet-2130-series</txt-record>
    <txt-record>note=HP DeskJet 2130 series</txt-record>
    <txt-record>product=(GPL Ghostscript)</txt-record>
    <txt-record>printer-state=3</txt-record>
    <txt-record>printer-type=0x2900c</txt-record>
    <txt-record>pdl=application/octet-stream,application/pdf,application/postscript,application/vnd.cups-raster,image/gif,image/jpeg,image/png,image/tiff,image/urf,text/html,text/plain,application/vnd.adobe-reader-postscript,application/vnd.cups-pdf</txt-record>
  </service>
</service-group>

Simpan dan tutup file. 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.


Ubuntu
  1. Cara Mengatur Server LAMP Ubuntu/Debian

  2. Cara Mengatur Nginx sebagai Proxy Terbalik di Ubuntu 20.04

  3. Instal Server 18.04 Tanpa Koneksi Jaringan?

  1. Cara Mengatur &Menginstal Server Proxy Squid di Ubuntu 18.04

  2. Cara Mengatur Server OpenVPN di Ubuntu 18.04

  3. Cara Mengatur Blok Server Nginx di Ubuntu 20.04

  1. Konfigurasi Server Samba di Ubuntu 14.04 LTS

  2. Instalasi Samba Server di Ubuntu 14.10

  3. Instalasi Samba Server di Ubuntu 15.10