CUPS + Ubuntu server: Help
December 31, 2007 1:46 PM Subscribe
CUPS server config issues. Why can't I see or use installed printers on my Ubuntu server?
I have an Ubuntu server (Gutsy) running LAMP, CUPS and DHCP, acting as a router for my local network. I have CUPS up and running. Printer is an HP LaserJet 6MP on the parallel port. CUPS found and installed this printer with no issues. I can print test pages from the server or remotely from the CUPS config page at server.address:631. I cannot for the life of me figure out why the hell my laptop is not allowed to print to the server. Every attempt to set up the printer fails (http backend fail, usually). My Mac refuses to see the printer, even though my net access is provided through this server.
I need this printer to be visible on the local subnet (running off of eth1). If I could also access it from home (over eth0, the external NIC) I would be even happier.
Bits from the CUPS config file below:
Access and admin are set to
(For those trying to helpfully suggest that a networked printer would be easier: Yeah, it sure would, but I'm not in charge of the IT budget in my workplace. IT funding is locked down. If I can't get this to work, I can't print at all.)
I have an Ubuntu server (Gutsy) running LAMP, CUPS and DHCP, acting as a router for my local network. I have CUPS up and running. Printer is an HP LaserJet 6MP on the parallel port. CUPS found and installed this printer with no issues. I can print test pages from the server or remotely from the CUPS config page at server.address:631. I cannot for the life of me figure out why the hell my laptop is not allowed to print to the server. Every attempt to set up the printer fails (http backend fail, usually). My Mac refuses to see the printer, even though my net access is provided through this server.
I need this printer to be visible on the local subnet (running off of eth1). If I could also access it from home (over eth0, the external NIC) I would be even happier.
Bits from the CUPS config file below:
LogLevel warning
SystemGroup lpadmin
# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
# Share local printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAddress @LOCAL
DefaultAuthType Basic
DefaultEncryption Never
Access and admin are set to
Allow all
; valid user required for admin access. What am I missing here? I've been searching for help on this for three days. Getting kind of pissed that all of what I am finding assumes I either have a GUI rather than command line, and that I'm trying to configure a client rather than a server.(For those trying to helpfully suggest that a networked printer would be easier: Yeah, it sure would, but I'm not in charge of the IT budget in my workplace. IT funding is locked down. If I can't get this to work, I can't print at all.)
Response by poster: Laptop is OSX. I have Parallels installed but that isn't really an option for everyday printing.
I managed to make the machine work by simply changing every authentication option to
Thanks for trying to help, though. I appreciate it.
posted by caution live frogs at 9:28 PM on January 1, 2008
I managed to make the machine work by simply changing every authentication option to
Allow from All
. I didn't really want to do this, and am really kind of frustrated that using the CUPS configuration page on the server did not do this for me, even though I specifically set the option to allow anyone to access the printer.Thanks for trying to help, though. I appreciate it.
posted by caution live frogs at 9:28 PM on January 1, 2008
Best answer: Oh: Almost forgot. Also specifically added
posted by caution live frogs at 9:30 PM on January 1, 2008
Listen ip.address.of.server:631
(for each NIC) and Listen *:631
, because apparently Port 631
wasn't enough.posted by caution live frogs at 9:30 PM on January 1, 2008
I just fixed this last week for myself (Mac printing to CUPS printer hosted on Ubuntu over the local network), but I'm at work right now. I'll reply again when I'm home tonight with my settings if you haven't figured it out by then.
posted by jpeacock at 12:35 PM on January 2, 2008
posted by jpeacock at 12:35 PM on January 2, 2008
OK, here's what I did to get everything working - this is an HP LaserJet 1000 connected to the USB port on an Ubuntu 7.10 linux box, accessed across the local LAN via my OSX 10.4 iMac:
I was not able to get the Mac to see the printer until I added the 'BrowseAllow all' section, then it appeared. That's the secret - CUPS ships by default in stealth mode.
These are the sections that I edited. Basically I made the listen to be generic - port 631 on all interfaces, then enabled browsing (No -> Yes) and allowed everyone to browse (all). I also allowed everyone to access the root, admin, and config pages. Because this is on the local network I wasn't too concerned about random internet people sending print jobs ;)
posted by jpeacock at 10:43 PM on January 2, 2008
I was not able to get the Mac to see the printer until I added the 'BrowseAllow all' section, then it appeared. That's the secret - CUPS ships by default in stealth mode.
These are the sections that I edited. Basically I made the listen to be generic - port 631 on all interfaces, then enabled browsing (No -> Yes) and allowed everyone to browse (all). I also allowed everyone to access the root, admin, and config pages. Because this is on the local network I wasn't too concerned about random internet people sending print jobs ;)
# allow external connections on all interfaces # WAS: Listen localhost:631 Listen 631 # local socket connections Listen /var/run/cups/cups.sock # show shared printers on the local network # WAS: Browsing No Browsing Yes BrowseOrder allow,deny # NEW BrowseAllow all BrowseAddress @LOCAL # restrict access to the server <Location /> Order allow,deny # NEW Allow all Allow localhost Allow @LOCAL </Location> # Restrict access to the admin pages... <Location /admin> Order allow,deny # NEW Allow all Allow localhost </Location> # Restrict access to configuration files... <Location /admin/conf> AuthType Default Require user @SYSTEM Order allow,deny # NEW Allow all Allow localhost </Location>Don't forget to restart the cupds daemons after making the changes:
sudo /etc/init.d/cupsys restart(on preview, this is some horrible formatting - pretend all the extra blank lines don't exist!)
posted by jpeacock at 10:43 PM on January 2, 2008
This thread is closed to new comments.
posted by Orb2069 at 10:00 AM on January 1, 2008