======Install CUPS======
This page shows how to setup a print server on a CentOS 6.4 64-bit machine.
=====Prerequisites=====
You must have a CentOS machine already set up in accordance with the the [[linux:install_centos6|Install CentOS 6]] guide.
=====Install SAMBA=====
You must first follow [[Install_SAMBA| these steps]] to install SAMBA.
This is a copy of our working print server 'printer' /etc/samba/smb.conf file.
[global]
unix charset = UTF-8
dos charset = CP932
workgroup = EXAMPLE-DOMAIN
netbios name = PRINTER
server string = Samba Server Version %v
interfaces = lo eth0 172.16.0.0/24
hosts allow = hosts allow = 127. 172.16.
log file = /var/log/samba/log.%m
max log size = 50
security = share
passdb backend = tdbsam
load printers = yes
cups options = raw
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = yes
writable = no
printable = yes
=====Generate SSL Certificate=====
su -
cd /etc/pki/tls/certs
openssl genrsa -out server.key 2048
openssl req -new -x509 -days 1825 -key server.key -out server.crt -subj "/C=GB/ST=County/L=City/O=Company/OU=IT/CN=`hostname -s`"
chmod 400 server*
=====Install CUPS=====
yum -y install cups cups-libs
=====Edit CUPS=====
su -
vi /etc/cups/cupsd.conf
Line 18
Listen localhost:631
to
Listen 631
From line 31
# Restrict access to the server...
Order allow,deny
Allow 172.16.0.0/16
# Restrict access to the admin pages...
Order allow,deny
Allow 172.16.0.0/16
# Restrict access to configuration files...
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow 172.16.0.0/16
Add to the end of the file
ServerCertificate /etc/pki/tls/certs/server.crt
ServerKey /etc/pki/tls/certs/server.key
Here is a copy of our working /etc/cups/cupsd.conf file
MaxLogSize 0
#
# "$Id: cupsd.conf.in 8805 2009-08-31 16:34:06Z mike $"
#
# Sample configuration file for the CUPS scheduler. See "man cupsd.conf" for a
# complete description of this file.
#
# Log general information in error_log - change "warn" to "debug"
# for troubleshooting...
LogLevel warn
# Administrator user group...
SystemGroup sys root
# Only listen for connections from the local machine.
Listen 631
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseLocalProtocols CUPS dnssd
# Default authentication type, when authentication is required...
DefaultAuthType Basic
# Restrict access to the server...
Order allow,deny
Allow 172.16.0.0/16
# Restrict access to the admin pages...
Order allow,deny
Allow 172.16.0.0/16
# Restrict access to configuration files...
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow 172.16.0.0/16
# Set the default printer/job policies...
# Job-related operations must be done by the owner or an administrator...
Require user @OWNER @SYSTEM
Order deny,allow
Allow 172.16.0.0/16
# All administration operations require an administrator to authenticate...
AuthType Default
Require user @SYSTEM
Order deny,allow
# All printer operations require a printer operator to authenticate...
AuthType Default
Require user @SYSTEM
Order deny,allow
# Only the owner or an administrator can cancel or authenticate a job...
Require user @OWNER @SYSTEM
Order deny,allow
Order deny,allow
# Set the authenticated printer/job policies...
# Job-related operations must be done by the owner or an administrator...
AuthType Default
Order deny,allow
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
# All administration operations require an administrator to authenticate...
AuthType Default
Require user @SYSTEM
Order deny,allow
# All printer operations require a printer operator to authenticate...
AuthType Default
Require user @SYSTEM
Order deny,allow
# Only the owner or an administrator can cancel or authenticate a job...
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
Order deny,allow
#
# End of "$Id: cupsd.conf.in 8805 2009-08-31 16:34:06Z mike $".
#
ServerCertificate /etc/pki/tls/certs/server.crt
ServerKey /etc/pki/tls/certs/server.key
=====Open Firewall=====
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 631 -j ACCEPT
service iptables save
service iptables restart
=====Start CUPS=====
su -
chkconfig cups on
service cups start
https://server:631/admin
=====Add CUPS Printer=====
This is just random stuff we have as notes for adding CUPS printers.
cupsctl --share-printers
cupsctl --share-printers --remote-any
cupsctl BrowseRemoteProtocols=cups
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 631 -j ACCEPT service iptables save service iptables restart