/ Linux

Raspberry Pi ile Merkezi Yazıcı Sunucusu

Proje raporlarına son bir kez gece bakmıştık sorun yoktu ve çıktı için USB belleğe göndermiştik bile ancak bundan hemen önce aklıma ethernet kartı olmayan yazıcımı nasıl olurda network üzerine alır ve tüm cihazlardan çıktı için kullanabilirdim ?

Aklıma hemen cups geldi araştırmaya başladım. Zaten bu iş için kullanılıyordu. Masanın üzerinde duran raspberrypi ye yavaşça uzandım ve boşta gördüğüm usb portuna yazıcının USB portunu dahil ederek işe başladım.

Debian'nın ufak kardeşini kullanıyordum. Bunun için ayar dosyaları ve bir kaç uygulama kurmam gerekiyordu.

ilk önce cups kuruyoruz.

sudo apt-get install cups

Sonra bu cups kardeşin gerekli olan grup yapılandırmalarını yapıyoruz ki sorunsuz bir şekilde ayarlamaları yapalım.

sudo usermod -a -G lpadmin pi

Sonra diyoruz ki cups kardeş sana remote olarak kim gelirse gelsin kabul et. Oda diyor ki abi büyüğümüzsün eyvallah. Yeniden cups servisini başlatıyoruz ve ayarımız geçerli bir hal almış oluyor.

sudo cupsctl --remote-any
sudo /etc/init.d/cups restart

Şimdi geldik en caf caflı bölüme, raspberry pi arkadaşımıza tanımlamış olduğunuz İP adresinizi ve cups kardeşin portunu birleştirip tarayıcımıza giriyoruz ve yönetim paneli karşımıza geliyor.

https://192.168.0.15:631/

Güvenli olarak bağlantımızı kuralım böylelikle Admin alanına yönlendirmesiz sorunsuz girebilirsiniz. Burada size kullanıcı adı ve parola soracak google kullanarak deli gibi "cups default password" diye bir arama yapmayın çünkü öyle bir şey yok. Direk olarak cups yukarda usermod ile dahil ettiğiniz kullanıcı adına bakacak bu ya "pi" adlı kullanıcı yada "root" adlı kullanıcı olabilir.

Şimdi biz direk olarak print server oluşturucaz bunun içinde geçtiğimiz günlerde bir sürü exploiti olan samba uygulamasını kullanıcaz.

sudo apt-get install samba

Aşağıdaki komut aracılığı ile samba kardeşin ayarlarını kurcalamamız gerekecek aslında kurcalamasanız bile çalışır. Çünkü default gelen ayarlamalar içerisinde zaten düzgün bir şekilde ayarları yapılmış durumda.

sudo nano /etc/samba/smb.conf

Dosya içerisinde aşağıdakileri arayıp gereken değişiklikleri yapın. Genelde bu satırlar en alt kısımda direk en aşağıya inip görebilirsiniz.

# Windows Client workgroup
[global]
workgroup = WORKGROUP
wins support = yes

# CUPS printing.  
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = yes
read only = yes
create mask = 0700

# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = no
guest ok = no

Bu ayarlarda asıl olay aşağıdaki ve yukardaki windows client bölümündeki olan olay açık kaynak kodlu sistemlerde sorunsuz bir şekilde çalışacak ancak ayar yapılmadığında windowsda çalışmayacak. Yani *nix,OSX, Android ve İOs da sorunsuz çalışırken windows kardeşte networkde cihazı görmeyecekti

Şimdi bu ayarları yaptık kayıt ettik ve çıktık. Yeniden samba servisini yeniden başlatıyoruz ve ayarlarımız aktif oluyor. Sakın ola sambayı direk olarak dışarıya açmayın.

sudo /etc/init.d/samba restart

Şimdi elinizdeki mevcut yazıcıları ve tarayıcıyı sisteme zamanı bunun için sürücüleri bulmanız gerekiyor. Bu linkten kolaylıkla yazıcınız için olak gerekli sürücüyü bulabilir ve yükleyebilirsiniz.

Şimdi "PPD" uzantılı yazıcının sürücü dosyasını indirdiniz diyelim. Direk olarak "Administrator" adlı sekmeye geliyoruz. ve buradan direk olarak Add Printers diyoruz.

cupsyaziciekle1

Direk olarak butona bastığımızda aşağıdaki alan karşılayacak bizleri buradan yazıcınızı seçiyorsunuz. Cups zaten marka model fark etmeksizin yazıcıyı tanımakta üzerine yok.

cupsyaziciekle2

Yazıcı hakkında bilgiler geliyor önümüze bağlanılan uri ne olduğu adı paylaşılsın mı vs Biz direk olarak burada "location" kısmı ve "share this printer" adlı kısımları kurcalayacağız. İstediğinizi yazabilirsiniz ancak "share this printer" bölümü işaretli olması gerekiyor.

cupsyaziciekle3

Daha sonra PPD seçmeniz için bir ekran gelecek direk olarak ppd yüklüyorsunuz. Sonrasında yapacağınız bir şey kalmıyor.

Windows bilgisayarlardan bu sunucuya çıktı alınacak dosyaları göndermek için ise yapacaklarınızı kısaca yazayım.

  • İpv4 ayarlarında gelişmiş sekmesinden NETBIOS ayarının aktif edilmesi
  • Ağ bulma özelliğinin aktif ve çalışıyor olması
  • Güvenlik duvarı ayarlarının yapılmış olması

Gibi bunların hepsini yaptıysanız zaten Ağ kısmında otomatik olarak gözükecek siz sadece "Bağlan" tuşuna basın ve gelen ekranda kullanıcı adı ve parola girmeden devam edin.

Bu anlatımı sistemde yapacaklarınızı bildiğinizi varsayarak yapıyorum. Sonra yok ben çalıştıramadım olmuyor olmasın

Sonuçta raspberry pi koç gibi duruyor.

IMG_1930