CUPS problem

Stephen Hilton nospam at hiltonbsd.com
Mon Nov 24 13:28:06 PST 2003


On Sun, 23 Nov 2003 23:22:38 +0100
DanGer <danger at wilbury.sk> wrote:

> i have installed CUPS on my computer which is running FBSD4.9 release.
> when i started cupsd and connected to localhost:631 and wanted to add
> new printer there was a screen with name location and description. i filled in
> all and then pressed continue and than i got:
> 
> Request Entity Too Large
> 
> The request is too large for this server to process.
> 
> I dont know what does this mean, have you some ideas why it doesent
> works?
> 
> Thank you.

Possibly a question better asked on the FreeBSD-questions mailing list.


Cups on FreeBSD 4.X Cheat Sheet

Installing from ports:
/usr/ports/print/cups-base
/usr/ports/print/cups-lpr
/usr/ports/print/cups-pstoraster


Edits to /etc *conf files:

/etc/make.conf
NO_LPR= true    # do not build lpr and related programs

/etc/rc.conf
lpd_enable="NO"         # Run the line printer daemon.

========================================================

CUPS BSD and system V print compatibility system is installed.

This port installs binaries (lpr, lpc, etc) which have the same names as
binaries in /usr/bin and /usr/sbin. Assuming you installed this port to use
cups fully, the minimum you need to do is make sure all users PATH variable
has /usr/local/bin before /usr/bin. As this is not always easy to do,
you may consider removing the FreeBSD printing system completely. To do this,
remove the binaries and man pages listed below, and set NO_LPR=true in your
/etc/make.conf. This will prevent future buildworlds from re-installing the
binaries, but will not prevent them from getting re-installed during a binary
upgrade.

The relevant files for the FreeBSD printing system are:
(with wildcards to make it easier)
/usr/bin/lp* /usr/sbin/lpc /usr/sbin/lpd

# find /usr/share/man -name "lp*" -ok rm {} \;
"rm /usr/share/man/man1/lp.1.gz"? y
"rm /usr/share/man/man1/lpq.1.gz"? y
"rm /usr/share/man/man1/lpr.1.gz"? y
"rm /usr/share/man/man1/lprm.1.gz"? y
"rm /usr/share/man/man1/lptest.1.gz"? n
"rm /usr/share/man/man4/lpbb.4.gz"? n
"rm /usr/share/man/man4/lp.4.gz"? y
"rm /usr/share/man/man4/lpt.4.gz"? n
"rm /usr/share/man/man8/lptcontrol.8.gz"? n
"rm /usr/share/man/man8/lpc.8.gz"? y
"rm /usr/share/man/man8/lpd.8.gz"? y
"rm /usr/share/man/cat4/lpt.4.gz"? n

========================================================




Create or confirm that these directories and permissions are correct:

# cd /var/spool
# mkdir cups
# chown root:daemon cups
# chmod 710 cups
# ls -la 
drwx--x---   3 root   daemon  512 Oct 25 00:42:06 2003 cups


# cd /var/spool/cups
# mkdir tmp
# chown root:daemon tmp
# chmod 1770 tmp
# ls -la 
drwxrwx--T   2 root   daemon  512 Oct 25 00:42:16 2003 cups

# cd /var/log/
# ls -ld cups
drwxr-xr-x  2 root  wheel  512 Oct 25 00:42:16 cups

# cd /var/log/cups
# ls -la
-rw-r--r--  1 root  daemon   0 Oct 25 00:42:20 2003 access_log
-rw-r--r--  1 root  daemon   0 Oct 25 00:42:20 2003 error_log
-rw-r--r--  1 root  daemon   0 Oct 25 00:42:20 2003 page_log

# touch access_log
# chown root:daemon access_log
# chmod 644 access_log

repeat for error_log and page_log if necessary.



This step will help for programs that assume that lpr always lives in 
/usr/bin

# cd /usr/bin
# ln -s /usr/local/bin/lpr /usr/bin/lpr
# ln -s /usr/local/bin/lp /usr/bin/lp

If you have Samba on your workstation and wish to print to SMB 
based printers you will need this link:

# ln -s /usr/local/bin/smbspool /usr/local/libexec/cups/backend/smb



Changing the LogLevel in the cupsd.conf config file is a great 
troubleshooting tool: (/usr/local/etc/cups/cupsd.conf)

Default is:
LogLevel warn

Change to:
LogLevel debug

(Don't forget to change back to "Loglevel warn" after you get your 
printing system working properly!)

Then start monitoring your cups error_log file for information:
# tail -f /var/log/cups/error_log

Then restart the cups daemon in another terminal:
# /usr/local/etc/rc.d/cups.sh stop
# /usr/local/etc/rc.d/cups.sh start

And try a print job.



More info:

$ man cupsd.conf
/usr/local/etc/cups/cupsd.conf

$ man cupsaddsmb
/usr/local/sbin/cupsaddsmb


HTH,


Stephen Hilton
nospam at hiltonbsd.com


More information about the freebsd-questions mailing list