HP Gen8 + Epson L211 + Ubuntu 搭建内部服务器

原创
2016-10-25 17:11:00
王春生
2933

周末出差回来,洋洋跟我说,共享的服务器挂掉了。之前是用的联想的一台小机器在内部共享的服务器,装得是xp,接的是Epson L211的打印和扫描一体机。这台机器跑了有四年多了,cpu的风扇不行了,温度过高,系统自动关机。

咋整呢?再买一台机器?有点浪费。正好去年入手一台HP的Gen8微型服务器,装的是Ubuntu 14.04的系统,闲来无事,搞搞吧。


目标:使用Gen8这台机器来做团队内部的文件共享、打印机共享、扫描仪共享、DNS缓存服务器。

第一步先搞定打印机

先找找ubuntu有没有内置的驱动吧。

$ apt-cache search epson
printer-driver-escpr - printer driver for Epson Inkjet that use ESC/P-R

看样子也不像,到网上搜索驱动。搜来搜去,网上的包都是这个epson-inkjet-printer-201207w包。Gen8的系统是64位的,下载64位的deb安装包。可以在这个网站找到驱动:Printer: Epson L210 Series

下载下来之后,直接安装,需要依赖lsb这个包。我也没有仔细去研究这个包的作用,网上搜了下,大概的意思是新版本的linux都不用这个包了。继续搜索吧。

askubuntu.com网站上找到了这样一篇文章:printing - How to install Epson printer drivers on Ubuntu 16.04?

思路就是使用trusty这个版本的源。

sudo nano /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu/ trusty main 
sudo apt-get update
sudo apt-get install lsb
sudo dpkg -i epson-inkjet-printer-201207w_1.0.0-1lsb3.2_amd64.deb

安装lsb的时候会安装很多的依赖包,网络慢的话估计会花时间。

好,到这一步的话,驱动安装上了,第二个问题,怎么把打印机跑起来呢?

第二步:配置CUPS服务

继续在网络上搜索,发现linux下面现在用的最多的是CUPS 这个服务。继续安装。大家可以参考这篇文章:CUPS (简体中文)

总体来讲CUPS的完善度还是很不错的,有web控制界面。

sudo apt-get install cups

就可以把包安装上。cups的web界面的端口是631,但默认只能本机访问。一开始还没有搞清楚他们的配置文件,先想办法看看它的web界面吧。怎么办呢,用ssh的端口转发,直接转发到我的机器的631端口。

然后打开浏览器,访问localhost:631,就能看到cups的页面了。默认配置是需要用root帐号登录的。

进去之后,选择Add printer添加打印机。

添加打印机的时候,cups会自动检测到EPSON L211的打印机。

然后下一步是选择型号驱动,cups自带的驱动里面并没有,这时候就需要我们来选择ppd文件了。将刚才下载下来的deb包解压缩,找到L210的这个文件,再解压缩,会得到一个ppd的文件,然后将这个文件在cups的页面上传上去。

如果顺利的话,打印机就可以正常工作了。你可以在cups里面打印测试页。

第三步:配置打印机共享

配置打印机共享有两种方式,一种是使用samba来提供共享服务,还有一种就是直接使用cups的服务。实际测试过程中,发现samba提供打印共享服务响应速度比较慢,我就采用了第二种。

打开/etc/cups/cupsd.conf文件,在里面加上访问的限制。

910   Order allow,deny
 11   Allow From 192.168.1.0/24
 121314   Order allow,deny
 15   Allow From 192.168.1.0/24
 16

其中的Allow from根据实际的网络情况来配置就行。

然后重启cups服务,添加打印机的时候,直接把 http://192.168.1.22:631/printers/epson这样的地址来当作打印机的地址就可以了。

windows客户端需要自己下载驱动,然后在添加打印机的时候,选择从磁盘安装,这个就不赘述了。顺利的话,就可以打印了。

搞定了打印机,下面我们来搞扫描仪。


第四步,安装扫描仪的驱动

linux下面扫描的程序是sane这个包,先来安装。

sudo apt-get install sane sane-utils

sane-utils里面提供了一个命令行的扫描工具scanimage,我们后面会用到。

sane默认带的驱动还是不支持L211系列,没办法,继续搜索驱动。Linux Scanner Driver Download 到这个地址下载驱动,然后安装。这个下载解压缩之后,有一个install.sh,直接执行这个脚本就好了。

安装成功之后,会在/etc/sane.d/dll.d里面安装了一个文件。

这时候如果顺利的话,执行下面的命令,就可以看到相应的设备了。

sudo scanimage -L 
device `epkowa:usb:001:004' is a Epson L210/L350/L351 Series flatbed scanner

这时候可以尝试的扫描下:

sudo scanimage -d epkowa:usb:001:004 >/tmp/test.pnm

如果顺利的话,就能扫描到文件了。

第五步,共享扫描仪

sane其实也是一个c/s架构的,所以可以在window下面安装sane的客户端,然后连接到sane服务器来完成扫描功能。sane本身并没有提供守候进程的接口,所以需要用到xinetd。在sane的文档里面有讲述,大家也可以参考这篇文章:How to share a scanner on your network

我考虑到还需要在每个机器上安装客户端(兼容性问题比较多),还不如做一个web界面的。和小鲁说了下,给用户提供了一个php的界面,上面一个按钮,点一下扫描,就触发扫描事件,然后将扫描后的文件放到一个共享的目录下面,自己去取。

同事可以站在扫描仪前面,用手机访问这个扫描的页面,点一下,扫描,然后再换要扫描的文档,也不错。

在搜索过程中,还发现了一个比较好玩的东东,叫做Scanbuttond。它可以响应扫描仪的按键事件,来触发相应的脚本。不过可惜的是它现在还不支持L211系列,放弃。

第六步:配置共享服务器

这个网络上的资料有很多,我就不赘述了。

第七步:配置DNS服务器

大家可以参考这篇文章:How To Configure Bind as a Caching or Forwarding DNS Server on Ubuntu 14.04

发表评论
评论通过审核后显示。