User Tools

Site Tools


user:jbrant:print_server

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
user:jbrant:print_server [2010/11/29 15:13] jbrantuser:jbrant:print_server [2010/11/29 15:28] (current) jbrant
Line 1: Line 1:
 +====== My Printer server project. ======
 + 
 +First I started by building a Debian server: This was done using my documentation from last semester, found at http://lab46.corning-cc.edu/user/jbrant/csit1320/project2. 
  
 +After the server was built I then added typescript and configured it to document my change so that I would have reference material for the paper. 
 +
 +Step 1 Installing Cups: \\
 +**apt-get install cupsys cupsys-driver-gutenprint foomatic-db-gutenprint foomatcic-ffilters fontconfig libtiff4 libfreeype6type6** 
 +
 +With this the following packages where added: \\
 +
 +avahi-daemon avahi-utils bind9-host cups cups-client cups-common
 +cups-driver-gutenprint dbus dbus-x11 defoma file fontconfig-config foomatic-db
 +foomatic-db-engine ghostscript ghostscript-x gs-common gs-esp gsfonts ijsgutenprint
 +libavahi-client3 libavahi-common-data libavahi-common3 libavahi-compat-libdnssd1
 +libavahi-core5 libbind9-50 libcap2 libcups2 libcupsimage2 libdaemon0 libdb4.5
 +libdbus-1-3 libdns55 libexpat1 libfontconfig1 libgs8 libgutenprint2 libice6
 +libijs-0.35 libisc52 libisccc50 libisccfg50 libjpeg62 libldap-2.4-2 liblwres50
 +libmagic1 libnss-mdns libpaper-utils libpaper1 libpng12-0 libpoppler3 libslp1 libsm6
 +libsqlite3-0 libtalloc1 libwbclient0 libxml2 libxt6 mime-support openssl
 +openssl-blacklist perl perl-modules poppler-utils psfontmgr python python-minimal
 +python2.5 python2.5-minimal samba-common sgml-base smbclient ssl-cert ttf-dejavu
 +ttf-dejavu-core ttf-dejavu-extra ucf xml-core \\
 +
 +After all the packages where installed I configured the /etc/cups/cupsd.conf file: \\
 +This was done by making a back up copy of the conf file called cupsd.conf.bak. \\
 +Then editing the original file: \\
 +Making changes to the sections shown below. \\
 +**view /etc/cups/cupsd.conf** 
 +
 +<code>
 +# Only listen for connections from the local machine.
 +Listen localhost:631
 +Listen 10.80.1.18
 +Listen /var/run/cups/cups.sock
 +
 +
 +# Restrict access to the server...
 +<Location />
 +  Order allow,deny
 +Allow localhost
 +Allow 10.80.1.*
 +Allow 10.80.2.*
 +Allow 10.80.3.*
 +</Location>
 +
 +# Restrict access to the admin pages...
 +<Location /admin>
 +  Order allow,deny
 +  Allow localhost
 +  Allow 10.80.1.18
 +  allow 10.80.2.*
 +  allow 10.80.3.*
 +</Location> 
 +
 +# Restrict access to configuration files...
 +<Location /admin/conf>
 +#  AuthType Default
 +  Require user @SYSTEM
 +  Order allow,deny
 +Allow localhost
 +Allow 10.80.1.18
 +</Location> 
 + 
 +</code>
 +
 +After getting the config file setup we need to install a web server to host the cups web page. \\
 +**wget http://download.lighttpd.net/lighttpd/lighttpd-1.4.28.tar.gz** 
 +
 +Next unpack the file:\\  
 +**tar -xvvzf lighttpd-1.4.27.tar.gz ** \\
 +\\
 +Then I needed a library: \\
 +**apt-get install libpcre3** \\
 +\\
 +The following extra packages will be installed: \\
 +binutils cpp cpp-4.3 gcc gcc-4.3 libc6-dev libgmp3c2 libgomp1 libmpfr1ldbl
 +libmysqlclient15off linux-libc-dev zlib1g-dev
 +
 +After getting everything installed I need to configure the web browser There are only 2 lines that needed to be changed they are: 
 +
 +**## bind to port (default: 80) server.port =80 ** \\
 +**## bind to localhost only (default: all interfaces) server.bind = “localhost”** \\ 
 +
 +Before we bring up the services we need to install some print fonts: \\
 +**aptitude search fooinstall foomatic-db-gutenprint foomatic-filters-ppds**\\
 +
 +With this the following NEW packages were installed:
 +  cupsddk{a} cupsddk-drivers{a} foomatic-filters-ppds gconf2{a} gconf2-common{a}
 +  gksu{a} gnome-keyring{a} hicolor-icon-theme{a} hpijs{a} hpijs-ppds{a} hplip{a}
 +  hplip-data{a} hplip-gui{a} libatk1.0-0{a} libatk1.0-data{a} libaudio2{a}
 +  libcairo2{a} libdatrie0{a} libdbus-glib-1-2{a} libdirectfb-1.0-0{a} libdrm2{a}
 +  libexif12{a} libffi5{a} libfontenc1{a} libgconf2-4{a} libgksu2-0{a}
 +  libgl1-mesa-glx{a} libglade2-0{a} libglib2.0-0{a} libglib2.0-data{a}
 +  libglu1-mesa{a} libgnome-keyring0{a} libgphoto2-2{a} libgphoto2-port0{a}
 +  lptitude foomatic-filters-ppds ibgtk2.0-0{a} libgtk2.0-bin{a} libgtk2.0-common{a} 
 +  libgtop2-7{a} libgtop2-common{a} libhal-storage1{a} libhal1{a} libice6{a} libidl0{a}
 +  libieee1284-3{a} liblcms1{a} libltdl3{a} libmng1{a} liborbit2{a}
 +  libpam-gnome-keyring{a} libpango1.0-0{a} libpango1.0-common{a} libperl5.10{a}
 +  libpixman-1-0{a} libqt3-mt{a} libqt4-assistant{a} libqt4-dbus{a} libqt4-designer{a}
 +  libqt4-help{a} libqt4-network{a} libqt4-qt3support{a} libqt4-script{a}
 +  libqt4-sql{a} libqt4-sql-mysql{a} libqt4-svg{a} libqt4-test{a} libqt4-webkit{a}
 +  libqt4-xml{a} libqt4-xmlpatterns{a} libqtcore4{a} libqtgui4{a} libsane{a}
 +  libsane-extras{a} libsensors3{a} libsm6{a} libsnmp-base{a} libsnmp15{a}
 +  libstartup-notification0{a} libsysfs2{a} libthai-data{a} libthai0{a} libts-0.0-0{a}
 +  libxcb-render-util0{a} libxcb-render0{a} libxcomposite1{a} libxcursor1{a}
 +  libxdamage1{a} libxfixes3{a} libxfont1{a} libxft2{a} libxi6{a} libxinerama1{a}
 +  libxmu6{a} libxrandr2{a} libxrender1{a} libxt6{a} libxxf86vm1{a} python-central{a}
 +  python-dbus{a} python-elementtree{a} python-gobject{a} python-imaging{a}
 +  python-qt3{a} python-qt4{a} python-qt4-common{a} python-reportlab{a} python-sip4{a}
 +  python-support{a} qt4-qtconfig{a} sane-utils{a} ttf-bitstream-vera{a} ttf-dustin{a}
 +  x-ttcidfont-conf{a} xfonts-encodings{a} xfonts-utils{a}
 +
 +
 +
 +
 +
 +
 +====== Now we are ready to bring the print services up ======
 + 
 +First bring up the web server: \\
 +**/etc/init.d/lighttpd start**
 +
 +Next bring up the printer server:\\
 +**/etc/init.d/cups start** 
 +
 +After getting the print server up and running we need to bring up the web page for the print server: \\
 +
 +**http:printer.lair.lan:631**
 +
 +Once the print server webpage comes up select:\\ **Administration** \\
 +Then select:\\ **Find New Printers** <This will search for any available printers on the network.>
 +
 +Next select the printer you want to add. \\
 +Give it a name and then select the driver for the printer.\\
 +There will be a list of drivers find the closed match. \\
 +In order to get command line printing to working you need to edit a file called /etc/cups/printers.conf : \\
 +**vi  /etc/cups/printers.conf** 
 +
 +<code># Printer configuration file for CUPS v1.3.8
 + # Written by cupsd on 2010-11-05 14:26
 + <Printer lair_cp1518ni> Info HP Color LaserJet CP1518ni 
 +Location Lair DeviceURI socket:10.80.1.50 State Idle 
 +StateTime 1288981329
 +Accepting Yes 
 +Shared Yes 
 +JobSheets none none 
 +QuotaPeriod 0
 + PageLimit 0 
 +KLimit 0 
 +OpPolicy default 
 +ErrorPolicy stop-printer
 + </Printer></code>
 +
 +Finally we need to do some testing\\
 +lpoptions -d printer <where printer is the name of the printer> \\
 +login to you favorite browser and find page you want to print and then select print.\\
 +
 +The printer should print \\
 +
 +to print from line command just do: **lp file-name** 'This will use the default printer' 
 +