<!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>&nbsp;</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