====== 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** # 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... Order allow,deny Allow localhost Allow 10.80.1.* Allow 10.80.2.* Allow 10.80.3.* # Restrict access to the admin pages... Order allow,deny Allow localhost Allow 10.80.1.18 allow 10.80.2.* allow 10.80.3.* # Restrict access to configuration files... # AuthType Default Require user @SYSTEM Order allow,deny Allow localhost Allow 10.80.1.18 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** 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** # Printer configuration file for CUPS v1.3.8 # Written by cupsd on 2010-11-05 14:26 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 Finally we need to do some testing\\ lpoptions -d 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'