創建Windows環境下的Linux打印服務器

1、前言
  辦公室用的打印機是HP彩色噴墨打印機,一直以來用的都是它,可是隨着打印量的增長,發現購買墨盒是一筆不小的開支(買的全是原裝的)。隨後弄了一臺HP 3050的黑白激光打印機,之前的彩打帶有網絡打印模塊因此整個辦公室的安裝後就可使用了,但如今這臺激光的不帶這個模塊,並且辦公室也沒有全天開放的Windows服務器。爲了完成將打印機發布到網絡中的任務,在個人一臺Linux服務器下折騰了一兩天終於將這個打印服務器搞定,現將安裝過程記錄以下。
2、環境說明
  操做系統:Centos 5(可對照RHEL 5)文本模式,安裝默認的編譯工具。自定義安裝了Apache、PHP、PureFTP以及Mldonkey下載軟件(這些軟件的安裝配置之後有時間再另行貼出)。CPU爲P4 2.8G,內存512M,兩塊硬盤共80G。
  打印機是HP LaserJet 3050 多功能一體打印機,用的是USB端口。其中HP的官方網站並未給出Linux的驅動程序,這也是最折騰人的地方。(http://h50176.www5.hp.com/support/Q6504A/drivers/?lang=zh-hans&cc=cn&submit=%C3%A5%C2%BC%C2%80%C3%A5%C2%A7%C2%8B%C3%A6%C2%90%C2%9C%C3%A7%C2%B4%C2%A2%20%C3%82%C2%BB
Image00000
Image00001
Image00002
3、配置過程
安裝基本組件
  在具體配置最好先配置一下系統的YUM源,以便在後續的安裝中進行更簡易的操做。有關配置YUM源的方法能夠參考「啓用yum升級RedHat Linux Enterprise 」(http://waringid.blog.51cto.com/65148/51947)。主要的YUM源以下所示:
vi /etc/yum.repo.d/utteramblings.repo      該文件主要用於更新PHP,其它採用默認源
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
  首先須安裝CUPS及Samba組件,能夠經過下面的指令執行。
yum –y install cups cups-windows cups-libs hal-cups-util samba samba-client samba-common
安裝完成後以下圖所示:
Image00003
確認打印機是否成功安裝
  
  在配置打印機前請將打印機聯機,並經過如下指令來肯定系統是否正常識別,這裏的實際環境用的是USB口,若是是串口或並口的數據線請按實際狀況進行。默認狀況下USB打印機的設備名爲/dev/usb/lp0,系統利用自帶的即插即用(PnP)的功能自動檢測,咱們能夠用下面的指令進行檢測。
Image00004
配置打印服務
  在確認打印機鏈接正常後就能夠對打印服務器進行配置了。CUPS的配置信息默認狀況下都位於/etc/cups文件夾下,其中重要的幾個文件爲:
/etc/cups/printers.conf      打印機的設定值,有關打印機的設定都在該文件中
/etc/cups/cupsd.conf        CUPS的主要設定,包括做爲服務器的設定都在該文件中
/etc/cups/ppd/*.ppd        打印機的驅動程序
usb:/dev/usb/lp0          USB接口
parallel:/dev/lp0          並口
ipp://ip/打印機型號         網絡打印機
smb://user:password@host/打印機   網上鄰居式打印機
  修改cupsd.conf進行配置。設定的原則是容許192.168.0.0/24網段中的計算機訪問CUPS的管理界面。主要修改的地方以下:
Port 631                        CUPS服務默認開啓的端口
<Location />
  Allow 192.168.0.0/24
  Order allow,deny
  Allow @LOCAL
</Location>
<Location /admin>
  Encryption Required
  Allow 192.168.0.0/24
  Order allow,deny
  Allow @LOCAL
</Location>
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Allow 192.168.0.0/24
  Order allow,deny
  Allow @LOCAL
</Location>
  爲了保證在Windows系統下的打印正常,需修改如下文件的配置文件:
vi /etc/cups/mime.convs  
# 大概在最後幾行的地方,找到這一行,將註釋去掉!
application/octet-stream   application/vnd.cups-raw   0   -


vi /etc/cups/mime.types
# 大概在最後幾行的地方,找到這一行,將註釋去掉!
application/octet-stream
  完成設定後記得下載安裝HP3050驅動(http://www.openprinting.org/show_printer.cgi?recnum=HP-LaserJet_3050),該頁面中的文件較多,真正須要下載安裝的是http://www.openprinting.org/download/printdriver/RPMS/i486/gutenprint-5.0.1-1lsb3.1.i486.rpm,下載該文件並安裝而後再重啓CUPS服務:
wget http://www.openprinting.org/download/printdriver/RPMS/i486/gutenprint-5.0.1-1lsb3.1.i486.rpm
yum install gutenprint-5.0.1-1lsb3.1.i486.rpm
service cups restart        
  成功後能夠經過網頁方式進行訪問和設定,以下圖所示:
Image00005
Image00006
Image00007 
在Samba中發佈打印機
  在Linux下安裝的打印機基本就可使用了,可是須要支持Windows系統則還須經過相應的程序發佈,在打印機語言中經過Postscript打印語言能夠保證各系統下的正常打印。用戶只要提供Postscript驅動給Samba服務器就能夠支持Windows驅動程序的自動安裝。
  在安裝Postscript前需安裝設定Samba服務器,相關設定以下:
useradd ptadmin                     #先加入該用戶,否則後續用戶沒法添加
smbpasswd –a ptadmin               #加入Samba共享管理用戶
vi /etc/samba/smb.conf
[global]
        workgroup = WORKGROUP
        server string = printserver
        netbios name = PrintServer
        printcap name = cups
        load printers = yes
        printing = cups
[printers]
        comment = All Printers
        path = /var/spool/samba
        browseable = yes
        guest ok = yes
        writable = yes
        printable = yes
        public = yes
        valid users = @users ptadmin
        printer admin = ptadmin
[print$]
        comment = Printer Drivers
        path = /etc/samba/drivers
        browsable = yes
        read only = yes
        write list = ptadmin

mkdir /etc/samba/drivers
chown ptadmin /etc/samba/drivers
service smb restart
加入Postscritp驅動
  先到網站(http://ftp.easysw.com/pub/cups/windows/)下載相應的程序安裝,先安裝http://ftp.easysw.com/pub/cups/windows/cups-samba-5.0rc3.tar.gz,而後再安裝http://ftp.easysw.com/pub/cups/windows/cups-windows-6.0-1.i386.rpm。也能夠在windows系統中將「C:\WINDOWS\system32\spool\drivers\w32x86\3」目錄中的PS開頭的文件複製到/usr/share/cups/drivers/下(若是該目錄不存在請自行創建)。需注意的是在複製到/usr/share/cups/drivers中後不能有大寫字母開頭的文件,不然後面的複製不成功。
  安裝完CUPS-Samba的包後以下圖示:
Image00008
  測試SMB設置、查看smb驅動共享及打印機設置,將打印機加入smb共享。命令行以下:
testparm
service smb restart
smbbclient -L //127.0.0.1 -U ptamdin
cupsaddsmb -H localhost -U ptadmin -a –v
  設定完成後體圖片以下所示:
Image00009
Image00010
  也能夠經過體WEB界面進行設定:
Image00011
Windows系統下打印測試 Image00012 Image00013 Image00014

附件下載:
   cups
   smb
相關文章
相關標籤/搜索