CUPS – Web Interface disabled

If you’ve been trying to access the CUPS web interface on Mac OS X 10.8 then you may have run into this error message

“The web interface is currently disabled. Run “cupsctl WebInterface=yes” to enable it”

(to access CUPS, Open Safari & type http://localhost:631 in the address bar)

To rectify this, you basically do as it asks

Open Terminal & type the following

cupsctl webinterface=yes

Press Enter and then retry the web interface in Safari and you should now have access to CUPS again

Hidden printer options

Now the default printer options in the System Preferences Pane are not that extensive, so to get access to a range of extra options you can access the CUPS conifguration pages you need to do the following:

Open a web browser

Enter http://localhost:631 into the address bar

hit enter and you will have access to a bigger range of printer options

Enable Users to resume printers

If you are having an issue where your users printers keep on getting paused, then you will want to make use of the following solution

You will need to edit the cupsd.conf file, this is located in /etc/cups/

You will need to be in an admin account, or if in a users account then su into an admin account

Then open a Terminal and type the following

sudo nano /etc/cups/cupsd.conf

Now look for the following section

# All administration operations require an administrator to authenticate…
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>

Now comment this out or delete it, entirely up to you, but I prefer the to comment it out as a fall back option in the event of an error

Now add the following section just under the commented section

# Allow non-admin users to add printers
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
Require valid-user
Order allow, deny
Allow all
</Limit>

Now find the following section and comment it out

# All printer operations require a printer operator to authenticate…
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @AUTHKEY(system.print.operator) @admin @lpadmin
Order deny,allow
</Limit>

Now add the following section under the commented section

# Allow non-admin users to pause and resume printers
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
Require valid-user
Order allow, deny
Allow all
</Limit>

Press CTRL-X, then press Y, then press ENTER to save the file
THIS KEY COMBINATION WILL OVERWRITE THE EXISTING CUPSD.CONF FILE!

Now log in to a user account, and test this by pausing a printer and trying to resume it, if all has been done correctly then this should resume the printer with no issues.