{"id":45,"date":"2003-10-27T11:28:54","date_gmt":"2003-10-27T10:28:54","guid":{"rendered":"http:\/\/www.altralogica.it\/tanis\/?p=45"},"modified":"2012-10-25T16:30:40","modified_gmt":"2012-10-25T14:30:40","slug":"creare-un-print-server-con-linux","status":"publish","type":"post","link":"https:\/\/www.onemancrew.org\/tanis\/archives\/2003\/10\/27\/creare-un-print-server-con-linux\/","title":{"rendered":"Creare un print server con Linux"},"content":{"rendered":"<p>Penso che questo sia il mio primo post all&#8217;interno di questo blog in cui sento l&#8217;effettiva necessit\u00e0 di utilizzare anche lo spazio esteso, ovvero una parte di testo che non verr\u00e0 pubblicata in homepage, ma che \u00e8 accessibile tramite il link qui sotto.<br \/>\nIeri pomeriggio ho dovuto installare un <i>print server Linux <\/i>in casa per poter condividere una stampante fra i vari computer che popolano la fauna tecnologica domestica. Non posso dire che sia stata un&#8217;operazione totalmente indolore, ma per lo meno non \u00e8 stata cos\u00ec drammatica come mi aspettavo. In realt\u00e0, se avessi a vuto a disposizione un <i>HOW TO <\/i>piuttosto semplice e con i passi fondamentali, probabimente me la sarei cavata prima.<br \/>\nProprio per questo motivo ho deciso di trascrivere la mia esperienza, cos\u00ec in futuro sapr\u00f2 cosa consultare prima di una nuova installazione. Spero possa servire anche a qualcun&#8217;altro.<br \/>\n<!--more--><br \/>\n<b>Configurazione di base del mio sistema<\/b><br \/>\n&#8211; Linux derivato da una vecchissima <a href=\"http:\/\/www.slackware.com\">Slackware <\/a>di cui ho tenuto praticamente solo le glibc, gli eseguibili dei tool GNU di base e il GCC 2.95<br \/>\n&#8211; <a href=\"http:\/\/www.kernel.org\">Kernel 2.4.22 <\/a>aggiornato per l&#8217;occasione (prima c&#8217;era un 2.4.20)<br \/>\n&#8211; Stampante laser <b>Brother HL-1250 <\/b><\/p>\n<p><b>Installazione dei tool di base<\/b><\/p>\n<p><b>Configurazione del kernel<\/b><\/p>\n<p>Il primo passo \u00e8 assicurarsi di avere compilato il proprio kernel con il supporto della parallela o dell&#8217;USB (a seconda del tipo di connessione alla stampante). Tralascio completamente il caso della stampante con l&#8217;adattatore di rete, perch\u00e8 in tal caso \u00e8 tutto molto pi\u00f9 banale. Nel mio caso, ho deciso di collegare la stampante tramite cavo parallelo, visto che non ne avevo uno USB a portata di mano.<br \/>\nNel mio caso ho dovuto attivare il supporto per la parallela (<i>Parallel port support<\/i>) e il relativo <i>Character device<\/i>, <i>Parallel printer support<\/i>.<br \/>\nUna veloce ricompilata a kernel e moduli, installazione nel LILO e reboot del sistema.<\/p>\n<p><b>Installazione di CUPS<\/b><\/p>\n<p>Ora bisogna installare <a href=\"http:\/\/www.cups.org\/\">CUPS<\/a>, che a mio parere \u00e8 il sistema di stampa pi\u00f9 semplice da configurare.<br \/>\nLo si pu\u00f2 scaricare direttamente dalla <a href=\"http:\/\/www.cups.org\/software.php\">pagina dei download<\/a>. Io ho preso i sorgenti e l&#8217;ho compilato. Se si ha a disposizione una distribuzione ancora integra si possono tranquillamente installare i relativi pacchetti.<\/p>\n<p>La configurazione di CUPS \u00e8 molto semplice. Per prima cosa bisogna editare il file <b>\/etc\/cups\/cups.conf<\/b><br \/>\nImpostate il parametro LogLevel a &#8220;debug&#8221; per essere sicuri di beccare i possibili problemi del vostro sistema.<br \/>\nPi\u00f9 sotto, sistemate il contenuto di &lt;Location \/&gt; per permettere la stampa dalla classe di IP che volete.<br \/>\nNel mio caso, ho lasciato la classe locale e la LAN con una configurazione di questo tipo:<\/p>\n<pre>&lt;Location \/&gt;\nOrder Deny,Allow\nDeny From All\nAllow From 127.0.0.1\nAllow From @LOCAL\n&lt;\/Location&gt;<\/pre>\n<p>Ancora pi\u00f9 sotto bisogna impostare chi avr\u00e0 accesso all&#8217;amministrazione via web. Esistono anche tool di amministrazione in linea di comando e sotto KDE. Io, non avendo a disposizione un ambiente X, ho optato per quello via web che mi permette comunque di configurare il tutto senza dover accedere in shell alla macchina.<br \/>\nLa parte da modificare riguarda &lt;Location \/admin&gt;<br \/>\nNel mio caso, ho aperto anche la configurazione verso la LAN e localhost. Come sistema di autenticazione ho usato l&#8217;auth standard HTTP interfacciato con gli utenti di sistema.<\/p>\n<pre>\n&lt;Location \/admin&gt;\nAuthType Basic\nAuthClass System\nOrder Deny,Allow\nDeny From All\nAllow From 127.0.0.1\nAllow From @LOCAL\n&lt;\/Location&gt;\n<\/pre>\n<p><b>Installazione dei driver della stampante e di foo*<\/b><\/p>\n<p><a href=\"http:\/\/www.linuxprinting.org\/\">LinuxPrinting.org<\/a> ha dell&#8217;ottima documentazione a riguardo e, soprattutto, un database di tutti i driver delle stampanti compatibili con Linux.<br \/>\nAccedendo al <a href=\"http:\/\/www.linuxprinting.org\/printer_list.cgi\">database<\/a>, cercate il driver per la vostra stampante.<br \/>\nNella pagina del driver troverete un link al file <b>PPD <\/b>da scaricare. Scaricatelo e mettetelo nei modelli di CUPS. In genere sono nella directory <b>\/usr\/share\/cups\/model\/<\/b><\/p>\n<p>Un altro passo fondamentale \u00e8 assicurarsi di avere foomatic-rip e foomatic-gswrapper installati. Fate un <\/p>\n<pre>whereis foomatic-rip<\/pre>\n<p> per vedere se l&#8217;avete. Nel caso mancasse, potete scaricare entrambi i file con questi comandi:<\/p>\n<pre>\ncd \/usr\/bin\nwget http:\/\/www.linuxprinting.org\/foomatic-rip\nwget http:\/\/www.linuxprinting.org\/foomatic-gswrapper\nchmod 755 foomatic-rip foomatic-gswrapper\nln -s \/usr\/bin\/foomatic-rip \/usr\/lib\/cups\/filter\/foomatic-rip\n<\/pre>\n<p>I path sono relativi alla mia installazione. Controllate che corrispondano ai vostri.<\/p>\n<p><b>Installazione di GhostScript<\/b><\/p>\n<p>E&#8217; fondamentale avere il GhostScript installato, visto che i driver funzionano tutti tramite PostScript. In particolare, la vostra versione di GhostScript deve includere anche i driver della vostra stampante, altrimenti non riuscirete a farlo funzionare.<br \/>\nNella pagina in cui avete scaricato il file PPD trovate anche un link alle patch da applicare alla vostra versione di GhostScript.<br \/>\nSe, invece, non avete bisogno di tenere la vostra versione di GS, potete scaricare quello della ESP, che si trova sul <a href=\"http:\/\/www.cups.org\/ghostscript.php\">sito di CUPS<\/a>.<br \/>\nE&#8217; una versione leggermente modificata del GhostScript originale e contiene tutti i driver attualmente disponibili.<br \/>\nIo ho installato questa versione e sono convinto che sia stata un&#8217;ottima mossa. Ora posso collegare qualsiasi tipo di stampante senza problemi.<\/p>\n<p><b>Avvio di CUPS e configurazione della stampante<\/b><\/p>\n<p>Ora che avete CUPS installato, \u00e8 giunto il momento di farlo partire e di creare la vostra stampante.<br \/>\nAssicuratevi che CUPS non stia gi\u00e0 girando e per sicurezza lanciate questi comandi come <b>root<\/b>:<\/p>\n<pre>\nkillall -HUP cupsd\n\/etc\/init.d\/cups restart\n\/etc\/init.d\/cups restart\n<\/pre>\n<p>Collegatevi con un browser all&#8217;indirizzo <b>http:\/\/nomedellamacchina:631\/admin<\/b><br \/>\nAutenticatevi utilizzando un account di sistema e procedete con la configurazione della stampante. E&#8217; piuttosto banale a questo punto. Date un nome alla vostra stampante, selezionate a che periferica \u00e8 collegata (porta parallela lp0 nel mio caso) e il driver di stampa corretto (il PPD che avete scaricato poco fa).<br \/>\nA questo punto stampate una pagina di prova e tutto dovrebbe funzionare.<br \/>\nSe avete dei problemi, la fonte mogliore per trovare soluzioni \u00e8 sicuramente <a href=\"http:\/\/www.linuxprinting.org\/\">LinuxPrinting.org<\/a> e <a href=\"http:\/\/groups.google.it\">Google gruppi<\/a>. Oppure lasciate pure un commento a questo articolo e cercher\u00f2 di darvi una mano.<\/p>\n<p><b>Come stampare da Windows<\/b><\/p>\n<p>Ora che avete configurato la stampante sotto Linux, viene naturale domandarsi come fare a vederla dalle postazioni Windows.<br \/>\nBasta installare <a href=\"http:\/\/www.samba.org\/\">SAMBA<\/a> e configurare la condivisione della stampante.<br \/>\nL&#8217;installazione di Samba \u00e8 semplicissima. Scaricate dal sito il pacchetto con i sorgenti, oppure quello per la vostra distribuzione. Installatelo e modificate il file di configurazione <b>\/etc\/smb.conf<\/b><br \/>\nNon mi dilungo nella configurazione dettagliata di Samba, visto che ci sono un sacco di articoli e di pagine che trattano la questione in maniera approfondita.<br \/>\nPer quello che ci riguarda, \u00e8 sufficiente utilizzare la configurazione di default, con una share di questo tipo:<\/p>\n<pre>\n[printers]\n   comment = All Printers\n   path = \/var\/spool\/samba\n   browseable = no\n   guest ok = no\n   writable = no\n   printable = yes\n<\/pre>\n<p>Avviate samba (<b>smbd -D<\/b> e <b>nmbd -D<\/b>)  e dalla macchina Windows aprite <i>Risorse di Rete<\/i> e cercate la vostra stampante. Tasto destro e Connetti.. e scegliete il driver della vostra stampante dall&#8217;elenco di quelli disponibili.<br \/>\nIl gioco \u00e8 fatto.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Penso che questo sia il mio primo post all&#8217;interno di questo blog in cui sento l&#8217;effettiva necessit\u00e0 di utilizzare anche lo spazio esteso, ovvero una parte di testo che non verr\u00e0 pubblicata in homepage, ma che \u00e8 accessibile tramite il link qui sotto. Ieri pomeriggio ho dovuto installare un print server Linux in casa per [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/www.onemancrew.org\/tanis\/wp-json\/wp\/v2\/posts\/45"}],"collection":[{"href":"https:\/\/www.onemancrew.org\/tanis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.onemancrew.org\/tanis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.onemancrew.org\/tanis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.onemancrew.org\/tanis\/wp-json\/wp\/v2\/comments?post=45"}],"version-history":[{"count":2,"href":"https:\/\/www.onemancrew.org\/tanis\/wp-json\/wp\/v2\/posts\/45\/revisions"}],"predecessor-version":[{"id":717,"href":"https:\/\/www.onemancrew.org\/tanis\/wp-json\/wp\/v2\/posts\/45\/revisions\/717"}],"wp:attachment":[{"href":"https:\/\/www.onemancrew.org\/tanis\/wp-json\/wp\/v2\/media?parent=45"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.onemancrew.org\/tanis\/wp-json\/wp\/v2\/categories?post=45"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.onemancrew.org\/tanis\/wp-json\/wp\/v2\/tags?post=45"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}