<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<title>Configuration</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.7">
<link rel="HOME" title=" LPRng Reference Manual" href=
"index.htm">
<link rel="UP" title="Installation" href="installation.htm">
<link rel="PREVIOUS" title="Daemon User and Daemon Group "
href="usergroup.htm">
<link rel="NEXT" title=
"System and User Printcap, lpd.conf, and lpd.perms files "
href="requireconfig.htm">
</head>
<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link=
"#0000FF" vlink="#840084" alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border=
"0" cellpadding="0" cellspacing="0">
<tr>
<th colspan="3" align="center">LPRng Reference Manual: 24
Sep 2004 (For LPRng-3.8.28)</th>
</tr>
<tr>
<td width="10%" align="left" valign="bottom"><a href=
"usergroup.htm" accesskey="P">Prev</a></td>
<td width="80%" align="center" valign="bottom">Chapter 2.
Installation</td>
<td width="10%" align="right" valign="bottom"><a href=
"requireconfig.htm" accesskey="N">Next</a></td>
</tr>
</table>
<hr align="LEFT" width="100%">
</div>
<div class="SECT1">
<h1 class="SECT1"><a name="AEN485">2.5.
Configuration</a></h1>
<p>The <b class="APPLICATION">LPRng</b> package consists of
the following executables and configuration files:</p>
<ul>
<li>
<p><b class="APPLICATION">lpd</b> - the <b class=
"APPLICATION">lpd</b> print server program</p>
</li>
<li>
<p><b class="APPLICATION">lpr</b>, <b class=
"APPLICATION">lpq</b>, <b class="APPLICATION">lprm</b>,
<b class="APPLICATION">lpc</b>, and <b class=
"APPLICATION">lpstat</b> client programs for printing,
status queries, job removal, server configuration, and
System V <b class="APPLICATION">lpstat</b> emulation
respectively.</p>
</li>
<li>
<p><tt class="FILENAME">printcap</tt> print queue
database file which is used by all the server and client
programs</p>
</li>
<li>
<p><tt class="FILENAME">lpd.conf</tt> <b class=
"APPLICATION">LPRng</b> configuration options which is
used by all the server and client programs</p>
</li>
<li>
<p><tt class="FILENAME">lpd.perms</tt> permission
information which is used by the <b class=
"APPLICATION">lpd</b> server to control user actions.</p>
</li>
</ul>
<br>
<br>
<p><b class="APPLICATION">LPRng</b> uses the <b class=
"APPLICATION">configure</b> script generated by the <a href=
"http://www.gnu.org" target="_top">GNU</a> <b class=
"APPLICATION">autoconf</b> utility to generate a set of <tt
class="FILENAME">Makefiles</tt>. These are used by <a href=
"http://www.gnu.org" target="_top">GNU</a> <b class=
"APPLICATION">make</b> to compile and install the <b class=
"APPLICATION">LPRng</b> software. The following <tt class=
"FILENAME">Makefile</tt> variables and values are set by <b
class="APPLICATION">configure</b> to specify the location of
the <b class="APPLICATION">LPRng</b> software:</p>
<div class="INFORMALTABLE">
<a name="AEN525"></a>
<table border="1" class="CALSTABLE">
<col>
<col>
<col>
<col>
<thead>
<tr>
<th>Configure Variable</th>
<th>Default Value</th>
<th>Expanded Default Value</th>
<th>Override</th>
</tr>
</thead>
<tbody>
<tr>
<td><var class="LITERAL">${prefix}</var></td>
<td><var class="LITERAL">/usr/local</var></td>
<td><var class="LITERAL">--prefix=PATH</var></td>
<td> </td>
</tr>
<tr>
<td><var class="LITERAL">${exec_prefix}</var></td>
<td><var class="LITERAL">${prefix}</var></td>
<td><var class="LITERAL">/usr/local</var></td>
<td><var class="LITERAL">--execprefix=
PATH</var></td>
</tr>
<tr>
<td><var class="LITERAL">${bindir}</var></td>
<td><var class=
"LITERAL">${exec_prefix}/bin</var></td>
<td><var class="LITERAL">/usr/local/bin</var></td>
<td><var class="LITERAL">--bindir= PATH</var></td>
</tr>
<tr>
<td><var class="LITERAL">${sbindir}</var></td>
<td><var class=
"LITERAL">${exec_prefix}/sbin</var></td>
<td><var class="LITERAL">/usr/local/sbin</var></td>
<td><var class="LITERAL">--sbindir= PATH</var></td>
</tr>
<tr>
<td><var class="LITERAL">${libexecdir}</var></td>
<td><var class="LITERAL">${exec_prefix}
/libexec</var></td>
<td><var class=
"LITERAL">/usr/local/libexec</var></td>
<td><var class="LITERAL">--libexecdir=
PATH</var></td>
</tr>
<tr>
<td><var class="LITERAL">${sysconfdir}</var></td>
<td><var class="LITERAL">${prefix}/etc</var></td>
<td><var class="LITERAL">/usr/local/etc</var></td>
<td><var class="LITERAL">--sysconfdir=
PATH</var></td>
</tr>
<tr>
<td><var class="LITERAL">${mandir}</var></td>
<td><var class="LITERAL">${prefix}/man</var></td>
<td><var class="LITERAL">/usr/local/man</var></td>
<td><var class="LITERAL">--mandir= PATH</var></td>
</tr>
</tbody>
</table>
</div>
<p>These are used to install the following files:</p>
<div class="INFORMALTABLE">
<a name="AEN596"></a>
<table border="1" class="CALSTABLE">
<col>
<col>
<thead>
<tr>
<th>Configure Variable</th>
<th>Files</th>
</tr>
</thead>
<tbody>
<tr>
<td><var class="LITERAL">${bindir}</var></td>
<td><var class="LITERAL">lpr, lprm, lpq,
lpstat</var></td>
</tr>
<tr>
<td><var class="LITERAL">${sbindir}</var></td>
<td><var class="LITERAL">lpc, checkpc, lpd</var></td>
</tr>
<tr>
<td><var class=
"LITERAL">${libexecdir}/filters</var></td>
<td><var class="LITERAL">lpf, pclbanner, psbanner,
lpbanner</var></td>
</tr>
<tr>
<td><var class="LITERAL">${sysconfdir}</var></td>
<td><var class="LITERAL">lpd.conf, lpd.perms,
printcap</var></td>
</tr>
<tr>
<td><var class=
"LITERAL">${mandir}/man[1-9]</var></td>
<td><var class="LITERAL">man pages</var></td>
</tr>
</tbody>
</table>
</div>
<p>You can set explicit values for the paths by using the
override <var class="LITERAL">--name=PATH</var>. For
example:</p>
<div class="INFORMALEXAMPLE">
<a name="AEN630"></a>
<pre class="SCREEN">
./configure --prefix=/usr --sysconfdir=/etc \
--mandir=/usr/share/man
</pre>
</div>
<br>
<br>
<div class="INFORMALTABLE">
<a name="AEN632"></a>
<table border="1" class="CALSTABLE">
<col>
<col>
<col>
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
<th>Files</th>
</tr>
</thead>
<tbody>
<tr>
<td>${bindir}</td>
<td>/usr/bin</td>
<td>/usr/bin/{lpr,lprm,lpq,lpstat}</td>
</tr>
<tr>
<td>${sbindir}</td>
<td>/usr/sbin</td>
<td>/usr/sbin/{lpc,checkpc,lpd}</td>
</tr>
<tr>
<td>${libexecdir}/filters</td>
<td>/usr/libexec/filters</td>
<td>/usr/libexec/filters{lpf, pclbanner, psbanner,
lpbanner}</td>
</tr>
<tr>
<td>${sysconfdir}</td>
<td>/etc</td>
<td>/etc/{lpd.conf,lpd.perms,printcap}</td>
</tr>
<tr>
<td>${mandir}/man[1-9]</td>
<td>/usr/share/man</td>
<td>/usr/share/man/man[1-9]/{man pages}</td>
</tr>
</tbody>
</table>
</div>
<p>In addition to these standard <b class=
"APPLICATION">configure</b> options the following options
provided.</p>
<div class="VARIABLELIST">
<dl>
<dt><var class="LITERAL">--disable-setuid</var></dt>
<dd>
<p>Install the executables without setuid ROOT
permissions. Non-setuid clients and programs are
inherently more secure than SETUID programs, and system
administrators would be well advised to install them
without SETUID root permissions. Please see <a href=
"setuid.htm">Security Considerations</a> for more
details about this option.</p>
</dd>
<dt><var class="LITERAL">--enable-priv_ports</var></dt>
<dd>
<p>Require connections to the <b class=
"APPLICATION">lpd</b> server to come from a privileged
port (range 1-1023). By default <b class=
"APPLICATION">LPRng</b> will allow connections from any
port. Please see <a href="setuid.htm">Security
Considerations</a> for more details about this
option.</p>
</dd>
<dt><var class=
"LITERAL">--disable-force_localhost</var></dt>
<dd>
<p>The default <b class="APPLICATION">LPRng</b>
configuration assumes that all printing will be done
via a <b class="APPLICATION">lpd</b> print spooler
running on the local host system. However, many larger
sites prefer that all users do their printing via a few
central servers, and do not run <b class=
"APPLICATION">lpd</b> servers on user systems. The <var
class="LITERAL">--disable-force_localhost</var>
configuration sets the default value of the <var class=
"LITERAL">force_localhost</var> value to <var class=
"LITERAL">false</var>, by default allowing the <b
class="APPLICATION">LPRng</b> clients to connect
directly to <b class="APPLICATION">lpd</b> servers on
remote hosts.</p>
</dd>
<dt><var class=
"LITERAL">--disable-require_configfiles</var></dt>
<dd>
<p>By default, the <b class="APPLICATION">lpr</b>, <b
class="APPLICATION">lpq</b>, <b class=
"APPLICATION">lprm</b>, and <b class=
"APPLICATION">lpc</b> clients require the <tt class=
"FILENAME">lpd.conf</tt> and <tt class=
"FILENAME">printcap</tt> files to be present on the
localhost. The <var class=
"LITERAL">--disable-require_configfiles</var> literal
removes this requirement.</p>
</dd>
<dt><var class="LITERAL">--enable-kerberos</var></dt>
<dd>
<p>Include support for Kerberos 5 authenticated
transfers.</p>
</dd>
<dt><var class=
"LITERAL">--enable-mit_kerberos4</var></dt>
<dd>
<p>Include support for MIT Kerberos 4 authenticated
transfers.</p>
</dd>
<dt><var class=
"LITERAL">--disable-kerberos_checks</var></dt>
<dd>
<p>Disable checks for kerberos support libraries,
etc.</p>
</dd>
<dt><var class="LITERAL">--with-lpddir=DIR</var></dt>
<dd>
<p>lpd executable directory (default ${sbindir}). For
historical configuration compatibility.</p>
</dd>
<dt><var class="LITERAL">--with-filterdir=DIR</var></dt>
<dd>
<p>Filter directory (default ${libexecdir}/filters).
For historical configuration compatibility.</p>
</dd>
<dt><var class=
"LITERAL">--with-lpd_conf_path=PATH</var></dt>
<dd>
<p>Path of <tt class="FILENAME">lpd.conf</tt> file. For
historical configuration compatibility.</p>
</dd>
<dt><var class=
"LITERAL">--with-lpd_perms_path=PATH</var></dt>
<dd>
<p>Path of <tt class="FILENAME">lpd.perms</tt> file.
For historical configuration compatibility.</p>
</dd>
<dt><var class=
"LITERAL">--with-printcap_path=PATH</var></dt>
<dd>
<p>Path of <tt class="FILENAME">printcap</tt> file. For
historical configuration compatibility.</p>
</dd>
<dt><var class=
"LITERAL">--with-ld_library_path=PATHLIST</var></dt>
<dd>
<p>Set the LD_LIBRARY_PATH environment variable of
filters to this value.</p>
</dd>
<dt><var class=
"LITERAL">--with-filter_path=PATHLIST</var></dt>
<dd>
<p>Set the PATH environment variable of filters to this
value.</p>
</dd>
<dt><var class="LITERAL">--with-userid=NAME</var></dt>
<dd>
<p>Run <b class="APPLICATION">LPRng</b> as this user,
default daemon</p>
</dd>
<dt><var class="LITERAL">--with-groupid=NAME</var></dt>
<dd>
<p>Run <b class="APPLICATION">LPRng</b> as this group,
default daemon</p>
</dd>
<dt><var class="LITERAL">--with-lockfile=PATH</var></dt>
<dd>
<p>The lockfile path. This will be expanded to
PATH.server or PATH.port allowing multiple <b class=
"APPLICATION">LPRng</b> servers to run on a single
host.</p>
</dd>
<dt><var class="LITERAL">--with-filterdir=PATH</var></dt>
<dd>
<p>Location of the filters installed by <b class=
"APPLICATION">LPRng</b>.</p>
</dd>
<dt><var class="LITERAL">--with-done_jobs=N</var></dt>
<dd>
<p>retain status of last N done jobs.</p>
</dd>
<dt><var class=
"LITERAL">--with-done_jobs_max_age=N</var></dt>
<dd>
<p>remove status of done jobs older than N seconds.</p>
</dd>
<dt><var class=
"LITERAL">--with-chooser_routine=NAME</var></dt>
<dd>
<p>name of chooser routine provided by user</p>
</dd>
<dt><var class=
"LITERAL">--with-order_routine=NAME</var></dt>
<dd>
<p>name of order routine provided by user</p>
</dd>
<dt><var class="LITERAL">--with-user_objs=NAME</var></dt>
<dd>
<p>object file with routines provided by user</p>
</dd>
<dt><var class=
"LITERAL">--with-user_include=NAME</var></dt>
<dd>
<p>include file with templates for routines provided by
user</p>
</dd>
<dt><var class="LITERAL">--disable-strip</var></dt>
<dd>
<p>Do not strip the executables before installing. For
debugging and diagnostic purposes.</p>
</dd>
<dt><var class=
"LITERAL">--with-unixsocketpath=PATHNAME</var></dt>
<dd>
<p>the pathname of the UNIX socket (off or blank to
disable)</p>
</dd>
<dt><var class="LITERAL">--disable-ssl</var></dt>
<dd>
<p>disable ssl support</p>
</dd>
<dt><var class="LITERAL">--with-openssl=DIR</var></dt>
<dd>
<p>root location for OpenSSL</p>
</dd>
<dt><var class="LITERAL">--with-openssl-inc</var></dt>
<dd>
<p>OpenSSL include files</p>
</dd>
<dt><var class="LITERAL">--with-openssl-lib</var></dt>
<dd>
<p>OpenSSL library files</p>
</dd>
<dt><var class=
"LITERAL">--with-ssl_ca_file=FILE</var></dt>
<dd>
<p>ssl Certificate Authority CERT file (default
${sysconfdir}/lpd/ssl.ca/ca.crt)</p>
</dd>
<dt><var class="LITERAL">--with-ssl_ca_key=KEY</var></dt>
<dd>
<p>ssl Certificate Authority private key file (default
${sysconfdir}/lpd/ssl.ca/ca.key)</p>
</dd>
<dt><var class=
"LITERAL">--with-ssl_certs_dir=DIR</var></dt>
<dd>
<p>ssl Certificate Authority certs working directory
(default ${sysconfdir}/lpd/ssl.certs/)</p>
</dd>
<dt><var class=
"LITERAL">--with-ssl_server_cert=FILE</var></dt>
<dd>
<p>ssl server certificate file (default
${sysconfdir}/lpd/ssl.server/server.crt)</p>
</dd>
<dt><var class=
"LITERAL">--with-ssl_server_password_file=FILE</var></dt>
<dd>
<p>ssl server private key in password file (default
${sysconfdir}/lpd/ssl.server/server.pwd)</p>
</dd>
</dl>
</div>
<br>
<br>
<p>It is recommended that you use one of the following
configurations:</p>
<ol type="1">
<li>
<p>If you already have a print spooling system installed
and want to install <b class="APPLICATION">LPRng</b> for
testing purposes or as an alternative to the existing
system and keep your existing print spooling system,
use:</p>
<div class="INFORMALEXAMPLE">
<a name="AEN869"></a>
<pre class="SCREEN">
./configure
use defaults for file locations and permissions:
/usr/local/{bin,sbin,libexec/filters,man}
requires lpd to run on the local host
executables installed setuid ROOT
</pre>
</div>
<br>
<br>
</li>
<li>
<p>If you have manual pages in <tt class=
"FILENAME">/usr/share/man</tt>, your existing print
spooling system has executables in <tt class=
"FILENAME">/usr/bin</tt> and <tt class=
"FILENAME">/usr/sbin</tt>, and you want to replace your
existing print spooling system, use:</p>
<div class="INFORMALEXAMPLE">
<a name="AEN876"></a>
<pre class="SCREEN">
./configure --prefix=/usr --sysconfdir=/etc \
--mandir=/usr/share/man
executables and files in
/usr/{bin,sbin,libexec/filters}
/usr/share/man/man[0-9]
requires lpd to run on the local host
everything installed setuid ROOT
</pre>
</div>
<br>
<br>
</li>
<li>
<p>If you have manual pages in <tt class=
"FILENAME">/usr/share/man</tt> and allow jobs (by
default) to be sent directly to the server host
(lightweight operation), use:</p>
<div class="INFORMALEXAMPLE">
<a name="AEN881"></a>
<pre class="SCREEN">
./configure --prefix=/usr --sysconfdir=/etc \
--mandir=/usr/share/man --disable-force_localhost
executables and files in
/usr/{bin,sbin,libexec/filters}
/usr/share/man/man[0-9]
does not require lpd to run on the local host
everything installed setuid ROOT
</pre>
</div>
<br>
<br>
</li>
</ol>
<br>
<br>
</div>
<div class="NAVFOOTER">
<hr align="LEFT" width="100%">
<table summary="Footer navigation table" width="100%" border=
"0" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" align="left" valign="top"><a href=
"usergroup.htm" accesskey="P">Prev</a></td>
<td width="34%" align="center" valign="top"><a href=
"index.htm" accesskey="H">Home</a></td>
<td width="33%" align="right" valign="top"><a href=
"requireconfig.htm" accesskey="N">Next</a></td>
</tr>
<tr>
<td width="33%" align="left" valign="top">Daemon User and
Daemon Group</td>
<td width="34%" align="center" valign="top"><a href=
"installation.htm" accesskey="U">Up</a></td>
<td width="33%" align="right" valign="top">System and
User Printcap, lpd.conf, and lpd.perms files</td>
</tr>
</table>
</div>
</body>
</html>
syntax highlighted by Code2HTML, v. 0.9.1