maxihenderson
Usuario (Argentina)
Print Server con Raspberry PI Situacion inicial se precisa que dos maquinas compartan 3 impresoras, y que en ambas queden la impresora de cheques de Nación como LPT2, la de Provincia como PLT3 y la de Galicia como PLT4 Elementos a usar Raspberry Pi B+ Tarjeta de memoria MicroSD de 4GB 3 impresoras matriciales con puerto usb(en nuestro caso Epson Fx-890) Antes que nada vamos a aclarar que en nuestro caso ya teníamos la red armada desde las pc hasta las impresoras y que cada impresora tenia puesto un printserver, por cada impresora de cheques se precisaban 2 tomas de corriente y una boca de red, pero siempre terminaban teniendo problemas de conexión y las impresoras dejaban de responder. Manos a la Obra. Lo primero que vamos a hacer es instalar raspbian en la RPI, para eso nos dirigimos a la pagina de Raspberry y descargamos la versión Lite de Raspbian, no vamos a utilizar entorno grafico. Una vez decargada la imagen la montamos en la tarjeta sd con Win32DiskImage, ya tenemos Raspbian listo para iniciar, pero no tenemos ni monitor, ni teclado, asi que antes de insertarla en la RPI ponemos la tarjeta en la pc y con el navegador de archivos localizamos el fichero cmdline.txt, que se encuentra en la raíz de la tarjeta, al final del todo después de la sentencia rootwait, añadimos la línea ip=10.0.1.120( o la ip deseada dentro del rango de red que ustedes quieran). Insertamos la tarjeta en la RPI, conectamos el cable de red y el de alimentación, esperamos que la luz deje de parpadear y nos conectamos por ssh(en mi caso la consola de mac, ssh [email protected] ), pueden usar putty o el cliente ssh que mas les guste. Las credenciales de la RPI por defecto son usuario pi, contraseña raspberry. Una vez conectados vamos a configuración sudo raspi-config por si quieren cambiar las credenciales, en mi caso las deje como de fabrica. Ya tenemos la RPI funcionando y con la red configurada para que tenga acceso a internet, ahora vamos a instalar cups sudo apt-get install cups Una vez haya terminado la instalación, tendremos que dar permisos a nuestro usuario para poder administrar las impresoras. Como hemos instalado CUPS en nuestra Raspberry Pi, utilizaremos el nombre de usuario correspondiente para los permisos de administrador. En mi caso es 'pi', que es el que viene por defecto en la Raspberry Pi: sudo usermod -a -G lpadmin pi Si estáis en el escritorio de la Raspberry Pi, podréis administrar las impresoras desde un servidor local (localhost) en el puerto 631 (localhost:631), pero nosotros vamos a hacer la configuración para que se pueda administrar de forma remota, que es más útil. Editaremos el fichero de configuración: sudo nano /etc/cups/cupsd.conf Tendremos que comentar o eliminar algunas líneas que hacen que por defecto la administración sea local. Añadiremos otras para poder acceder de forma remota. # Only listen for connections from the local machine. #Listen localhost:631 Listen *:631 Listen /var/run/cups/cups.sock La red en la que está mi Raspberry Pi, es 10.0.1.*, así que permitiré el acceso a cualquier máquina de esa misma red: # Restrict access to the server... Order allow,deny Allow 10.0.1.* # Restrict access to the admin pages... Order allow,deny Allow 10.0.1.* # Restrict access to configuration files... AuthType Default # Require user @SYSTEM Allow 10.0.1.* Order allow,deny Una vez hayamos acabado de modificar el archivo de configuración, lo guardaremos y reiniciaremos el servidor de impresión: sudo service cups restart Abriremos un navegador y accederemos a la IP de la Raspberry Pi y al puerto 631: Vamos a la pestaña de administración e introducimos el nombre de usuario y la contraseña de la Raspberry Pi: Nos aparecerá la impresora que tengamos conectada a la Raspberry Pi, y la seleccionaremos. En mi caso, EPSON FX-890 . A partir de aquí, será algo muy básico.(ACA VOY A ADJUNTAR CAPTURAS NO DE MI SERVER PAR ANO DESCONFIGURAR NADA) Con esto ya tendríamos configurado nuestro servidor de CUPS, en mi caso configure una con nombre NACION, GALICIA y PROV. En caso de querer agregar las impresoras sin el mapeo de puertos las buscamos como impresoras de internet y en url ponemos https://10.0.1.120:631/printers/galicia La url queda conformada por https://ip_server:631/printers/Nombre_impresora Desde Windows podemos agregar las impresoras pero al momento de compartilas para hacer el mapeo por medio de net use, nos dice que no podemos compartir la impresora, por lo que vamos a compartir las impresoras por medio de un servidor Samba. Nuevamente nos conectamos por ssh a la RPI y ejecutamos sudo apt-get install samba samba-common-bin Esto instalara los paquetes necesarios. Una vez que finalice la instalación debemos realizar unos pequeños ajustes en samba para hacerlo funcionar, mejorar la seguridad y evitar que cualquier usuario no autorizado tenga acceso al sistema. Para esto vamos a editar el smb.conf Sudo nano /etc/samba/smb.conf Aca debemos buscar concretamente 2 lineas importantes Workgroup = El Progreso (nombre del grupo de trabajo de la red de ustedes) Wins support = yes (puede que esta línea este comentada con #, borrenlo) Ahora buscamos un apartado llamado “Share Definitions”, dentro buscamos la opción Printers y la modificamos para que quede asi comment = All Printers browseable = yes path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 Guardamos las opciones cambiadas con ctrl+o y salimos con ctrl+x, luego vamos a establecer una contraseña al usuario pi que se creo por defecto sudo smbpasswd -a pi Tecleamos dos veces la contraseña que queremos ponerle, yo opte por raspberry que es la que esta en todo el sistema. Ahora solos nos queda reiniciar el servidor de samba. Sudo service samba restart Con esto ya tenemos las impresoras dentro de la red de Windows, si vamos a ver los equipos del grupo de trabajo, aparece Raspberrypi con todas las impresoras configuradas en CUPS. Ahora solos nos queda hacer el mapeo de las impresoras a los puertos LPT Para eso vamos crear un bat, abrimos el procesador de texto y copiamos el siguiente código @echo off net use lpt2: /delete net use lpt2: \raspberrypinacion /USER:pi raspberry /PERSISTENT:YES net use lpt3: /delete net use lpt3: \raspberrypiprov /PERSISTENT:YES net use lpt4: /delete net use lpt4: \raspberrypiGALICIA /PERSISTENT:YES lo guarmos como txt, y después cambiamos la extensión de txt a bat. net use lpt2: /delete ( esta línea borra cualquier mapeo que tenga echo la maquina al puerto plt2) net use lpt2: \raspberrypinacion /USER:pi raspberry /PERSISTENT:YES Esta línea lo que hace es mapear al puerto LPT2 la impresora ubicada en el equipo raspberrypi(es el que trae puesto raspbian por defecto) seguido del nombre de la impresora compartida, después le indicamos que el usuario y contraseña /USER: (nombre de usuario) (contraseña) /PERSISTENT:YES es para que en caso de perderse la conexión de red al estar nuevamente disponible la misma se establesca nuevamente. Como podrán ver el usuario y contraseña solamente lo puse en la primer línea ya que es cuando se autentica en el servidor, la demás veces no es necesario ponerlo. Este archivo .bat lo pegamos en el inicio de sesión de Windows, de esta manera se conectara al iniciar sesión, aunque las impresoras no estén configuradas en el Windows mapea la impresora remota al ejecutarse el archivo.bat.