分页: 1 / 2

请问大家有没设过Linux下的打印服务器?

发表于 : 2005-07-15 18:35
firehare
我现在没有了实验环境,只好求助大家了!
有谁做过实验?Linux客户使用Linux的打印服务器。
我看说明上很简单,只要客户机上网络打印机ipp://打印服务器/打印机名即可,可为什么我就连不到打印服务器呢?需要什么设置吗?求教大家了!

发表于 : 2005-07-18 18:30
holz
我的是打印机挂在winxp中,其他win系统都可以打到该机器,就是ubuntu不行,都按照ubuntu.org.cn上的文档配置好了,又没有错误提示(原来没有设置用户名会提示连接错误)。

发表于 : 2005-07-18 18:41
oneleaf
我是直接使用samba共享的。

发表于 : 2005-07-18 18:55
firehare
今天下午好好的看了一下CUPS的文档,解决了一个小问题,就是在网页不能管理CUPS的问题,原因是cupsys没有加入到Shadow组,所以没有查看/etc/shadow文件的权限!用$sudo adduser cupsys shadow之后,再将CUPS重启,$sudo /etc/init.d/cupsys restart 就可以在Web中进行管理了!条件是你的用户必须在lpadmin组中。

对于上面兄弟的问题,可以象一叶兄所说的那样,起一个Samba服务即可!这是Linux下用Windows共享打印机的经典做法!

发表于 : 2005-07-18 19:39
firehare
刚才又想了想,要想客户机能访问服务器的共享打印机的话,必须要能够访问服务器的631端口,而在CUPS文档中提到为了安全,只允许本地进行访问,可能只要把CUPS的配置改成能被客户机访问631端口,应该就可以打印了吧!再去试试看!!

发表于 : 2005-07-18 19:50
firehare
holz 写了:我的是打印机挂在winxp中,其他win系统都可以打到该机器,就是ubuntu不行,都按照ubuntu.org.cn上的文档配置好了,又没有错误提示(原来没有设置用户名会提示连接错误)。
刚刚又查了一下Windows下的文档,有以下一段话:基于Web的打印机管理正在成为组织共享资源的一条有效途径。为了改善打印性能, Windows 2000打印服务器引入了对Internet Printing Protocol(Internet打印协议,IPP)1.0规范的支持,其中既包括基于Web的管理基础结构,也包括对HTTP打印的支持。如果能配置好Windows2000打印服务器的话,那么Ubuntu也可以用IPP来进行访问了。

相关内容可参见:http://www.microsoft.com/china/windowss ... print.mspx

发表于 : 2005-07-19 8:52
holz
我去下他的文档看看先。谢谢firehare

发表于 : 2005-07-19 9:23
firehare
:D

发表于 : 2005-07-19 12:15
firehare
缺省安装好Ubuntu之后,系统会出于安全考虑对CUPS系统进行限制,主要有以下几点:
1、不能通过Web界面 http://localhost:631/admin 对CUPS进行Web管理;
2、不能在其他机器上通过Web界面访问本机的http://localhost:631,以查看打印状态;
3、不能在其他机器上通过IPP协议来共享本机的打印机。

对上述三个问题,大家可以按照自己的需要做不同的设置:
1、造成该限制的原因很简单,由于cupsys用户没有访问/etc/shadow文件的权限,所以它无法识别用户真伪,要解决则很简单,只需要将该用户加入到passwd组中即可。命令如下:
$sudo adduser cupsys shadow
另:对打印机有管理权限的组是lpadmin组,所以如果要设立一个对CUPS系统有管理权的用户,只需要将该用户加入到lpadmin组即可,假设该打印管理员是firehare,那么只需要下列命令:
$sudo adduser firehare lpadmin
然后输入
$sudo /etc/init.d/cupsys force-reload
接下来我们试试在Firefox里输入:http://localhost:631/admin,然后输入超级用户或lpadmin组里的用户及密码均可进入到管理界面中。

发表于 : 2005-07-19 12:15
firehare
2、造成这一限制的原因有两个:
首先,由于在/etc/cups/cupsd.conf文件中有一行语句做了限制:
>Listen 127.0.0.1:631
这句话的意思很明显就是只在本机环回口上的631端口做监听,那么肯定其它机器是无法对其访问了,所以要将其改成:
>Port 631
这样的话,其他机器就可以访问本机的631端口了。
其次,由于尚未对访问权限进行配置,所以如果这时从其他机器通过FireFox来访问本机的CUPS系统的Web界面时,将会出现无权查看的提示页面。继续编辑cupsd.conf文件:
>########
>######## Security Options
>########
><Location />
>Order Deny,Allow
>Deny From All
>#Allow From 127.0.0.1
>Allow From 192.168.0.*
</Location>
将127.0.0.1注释掉,并把你要允许访问的网段加进来即可,我这里是192.168.0.0/24网段,如果你的网段比较小,也可以用小点的网段,在cupsd.conf文件中允许以下格式:
# All
# None
# *.domain.com
# .domain.com
# host.domain.com
# nnn.*
# nnn.nnn.*
# nnn.nnn.nnn.*
# nnn.nnn.nnn.nnn
# nnn.nnn.nnn.nnn/mm
# nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
# @LOCAL
# @IF(name)
大家可以选择最适合自己的。
然后别忘了重启服务:
$sudo /etc/init.d/cupsys force-reload
再打开FireFox访问试试?是不是可以看到了网页呢?
如果你还想在其他机器上能够通过Web界面对本机的CUPS进行管理的话,你还可以继续编辑cupsd.conf文件:
><Location /admin>
>#
># You definitely will want to limit access to the administration functions.
># The default configuration requires a local connection from a user who
># is a member of the system group to do any admin tasks. You can change
># the group name using the SystemGroup directive.
>#

>AuthType Basic
>AuthClass System

>## Restrict access to local domain
>Order Deny,Allow
>Deny From All
>#Allow From 127.0.0.1
>Allow From 192.168.0.x

>#Encryption Required
></Location>

发表于 : 2005-07-19 14:02
firehare
下面就是纯理论了!因为没有环境,无法进行测试,不知哪位有条件的兄弟可以帮我做做测试。有什么结果都请贴在后面!!不胜感激!!!
==================================
3、要解决这个问题,首先要能让其他机器找到本机的打印机,如果找都找不到,又如何能够使用呢?由于Ubuntu是将该功能另行放置在/etc/cups/cupsd-browsing.conf文件中的,原因是为了防止由于升级包文件而将配置覆盖,所以只需将该文件中的浏览Off变成On就可以了。如下所示:
>Browsing Off => Browsing On
虽然在Ubuntu中还有一个/usr/share/cups/enable_browsing脚本来将其设为On,不过我在做测试时却并不能正常运行,可能是由于/usr/share/cups/browsing_status脚本的原因吧!反正所做的事都一样,我也就没去深究了。然后在/etc/cups/cupsd.conf文件中设置浏览的广播地址,将本地的关闭,添加192.168.0.255这个网段广播地址:
>BrowseAddress @LOCAL => #BrowseAddress @LOCAL
>BrowseAddress 192.168.0.255
如果你的网段比较小,也可以用小点的网段,在cupsd.conf文件中允许以下格式:
#BrowseAddress x.y.z.255
#BrowseAddress x.y.255.255
#BrowseAddress x.255.255.255
#BrowseAddress 255.255.255.255
#BrowseAddress @LOCAL
#BrowseAddress @IF(name)
然后设置允许浏览的地址:
>#BrowseAllow address
>#BrowseDeny address
>BrowseAllow 192.168.0.*
>BrowseDeny all
>...
>#BrowseOrder allow,deny
>#BrowseOrder deny,allow
>BrowseOrder deny,allow
保存,然后重启cups
$sudo /etc/init.d/cupsys force-reload
这样就应该可以提供服务了吧!

发表于 : 2005-09-06 15:25
firehare
经测试,没有问题,可以通过!呵呵!(第三步尚未测试)

另:
添加Windows2000或XP机器共享该打印服务器的做法,由于Windows2000或XP都已经内建对IPP协议的支持,所以只须简单地在添加打印机中选添加网络打印机,然后选Internet打印机文本框,输入:
http://打印服务器IP地址:631/printers/打印机名,然后下一步,安装该打印机的驱动即可!这样的话,也就省了用Samba进行共享,还要起Samba服务的麻烦了!祝大家用得开心!!

发表于 : 2005-09-06 15:34
yongyi
赞一个! :wink:

发表于 : 2005-09-06 16:24
firehare
一个很奇怪的现象,用Linux做客户端来打印的话,用Linux下的推荐的 http://hostname:631/ipp/port1 我没有打印出任何的文档, 而相反用Windows下推荐的方法 http://hostname:631/printers/printer-name 反而可以正常打印,不知有否高人知道为什么,还望不吝赐教!

发表于 : 2005-09-06 17:19
内存不足

代码: 全选

我的是打印机挂在winxp中,其他win系统都可以打到该机器,就是ubuntu不行,都按照ubuntu.org.cn上的文档配置好了
同病相怜 把打印机直接挂在ubuntu上就工作正常了。