Nemrég érkezett egy levél, a levelesládámba, amelyben egy kedves úriember kérdezett arról, hogyan lehet Odroid-C1 ből nyomtatószervert készíteni.
Ezért döntöttem úgy, hogy összerakok egy leírást a folyamatról. Elsőre két megoldás jutott eszembe a Samba/SMB valamint a Cups/IPP. A nyomtatószervernek működnie kell Windows, Linux és OSX operációs rendszerekkel, így a lehetőségek közül a CUPS nyomtatószerver tűnt a megfelelő választásnak.
A gyári image alapból tartalmazza a CUPS csomagot így sokat telepíteni nem kell. Ha esetleg nincs ilyen szerencsénk, akkor a következő csomagokat kell mindenképpen telepítenünk
cups - Common UNIX Printing System(tm) - PPD/driver support, web interface
cups-browsed - OpenPrinting CUPS Filters - cups-browsed
cups-bsd - Common UNIX Printing System(tm) - BSD commands
cups-client - Common UNIX Printing System(tm) - client programs (SysV)
cups-common - Common UNIX Printing System(tm) - common files
cups-core-drivers - Common UNIX Printing System(tm) - PPD-less printing
cups-daemon - Common UNIX Printing System(tm) - daemon
cups-dbg - Common UNIX Printing System(tm) - debugging symbols
cups-driver-gutenprint - transitional dummy package for gutenprint printer driver
cups-filters - OpenPrinting CUPS Filters - Main Package
cups-filters-core-drivers - OpenPrinting CUPS Filters - PPD-less printing
cups-pk-helper - PolicyKit helper to configure cups with fine-grained privileges
cups-ppdc - Common UNIX Printing System(tm) - PPD manipulation utilities
cups-server-common - Common UNIX Printing System(tm) - server common files
ezt a csomagkezelő segítségével könnyedén megtehetjük a következő parancs kiadásával
$ sudo apt-get install cups
Majd ezután mindenképpen készítsünk egy mentést az eredeti konfigurációs fájlról, ha valamit elrontanánk.
sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original
sudo chmod a-w /etc/cups/cupsd.conf.original
Majd megnyitjuk a konfigurációs fájlt egy számunkra megfelelő szerkesztővel (én ajánlom a vi-t vagy az mcedit-et)
$ mcedit /etc/cups/cupsd.conf
Amit érdemes beállítani:http://odroid.blog.hu/admin/post/edit/7421056
1, ServerAdmin: a CUPS-kiszolgáló kijelölt adminisztrátorának e-mail címét adhatjuk meg ezzel a paraméterrel ServerAdmin sor szerkesztésével. Ha például a CUPS-kiszolgáló adminisztrátorának címe info@példa.hu, akkor a ServerAdmin sor így fog kinézni:
ServerAdmin info@példa.hu
2, Listen: alapértelmezésben az Ubuntu CUPS-kiszolgálója csak a visszacsatolási felületen figyel, a 127.0.0.1 címen. Ahhoz, hogy a CUPS-kiszolgáló a tényleges hálózati csatoló IP-címén figyeljen, meg kell adnia a gépnevet, IP-címet vagy egy IP-cím/port párt a Listen paraméterben. Ha például a CUPS-kiszolgáló a helyi hálózaton a 192.168.1.250 címen található, és elérhetővé szeretné tenni más rendszerek számára az adott alhálózaton, akkor az /etc/cups/cupsd.conf fájlt a következőképpen kell szerkesztenie, a Listen paraméter felvételével:
Listen 127.0.0.1:631 # meglévő loopback Listen direktíva
Listen /var/run/cups/cups.sock # meglévő socket Listen direktíva
Listen 192.168.1.250:631 # Listen direktíva a LAN csatolón, a 631-es (IPP) porton
Ha elkészültünk érdemes újraindítani és ellenőrizni a felületet:
$ sudo service cups restart
majd egy böngészőben nyissuk meg a nyomtató szerver webes felületét (írjuk a címsorba a megadott címet esetünkben az : 192.168.1.250:631-et)
Ilyenkor meg kell hogy jelenjen a nyitó képernyő
Nyomtató felvételéhez válasszuk ki az "Administration" fülön található "Add Printer" gombot, majd ekkor egy jelszó mező fog megjelenni:
Amennyiben nem tudunk belépni akkor be kell állítani az adminisztrátor felhasználót.
Ennek első lépéseként javaslom egy új felhasználó felvételét useradd -m <felhasználónév> paranccsal, ami például így fog kinézni:
$ sudo useradd -m printadmin
majd a felhasználó jelszavát megváltoztatni :
$ sudo passwd printadmin
ha ezzel is megvagyunk, akkor adjuk hozzá az lpadmin csoporthoz amely szükséges ahhoz, hogy használni tudjuk.
$ sudo usermod -aG lpadmin printadmin
Viszont még a konfigurációs fájlban is változtatnunk kell pár értéket, amelyeket pirossal jeleztem:
# cat /etc/cups/cupsd.conf
LogLevel warn
MaxLogSize 0
# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
ServerAdmin printadmin
# Share local printers on the local network.
Browsing On
BrowseLocalProtocols dnssd
WebInterface Yes
<Location />
# Allow shared printing...
Order allow,deny
Allow @LOCAL
</Location>
<Location /admin>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow @LOCAL
</Location>
....
majd ezután ismét újraindítani a cupsd szervízt
$ sudo service cups restart
amennyiben mindent jól csináltunk akkor most már ezzel a felhasználóval be tudunk jelentkezni az adminisztrátori felületre.
Amennyiben mégsem sikerülne érdemes a /var/log/cups/error.log fileban található információkat ellenőriznünk, és rákeresni a google.com-on hogy mi lehet rá a megoldás, vagy kérdezni itt.
A teszt elvégzéséhez az ODROID-ot a Jópiac webáruház adta.