This file is indexed.

/usr/share/doc/refdb/refdb-manual/re02.html is in refdb-doc 1.0.2-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>refdbd</title><link rel="stylesheet" type="text/css" href="manual.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="RefDB handbook" /><link rel="up" href="ch12.html" title="Chapter 12. The application server" /><link rel="prev" href="re01.html" title="refdbctl" /><link rel="next" href="re03.html" title="refdb" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">refdbd</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re01.html">Prev</a> </td><th width="60%" align="center">Chapter 12. The application server</th><td width="20%" align="right"> <a accesskey="n" href="re03.html">Next</a></td></tr></table><hr /></div><div class="refentry"><a id="refentry-refdbd"></a><div class="titlepage"></div><div class="refnamediv"><a id="refdbd-name"></a><h2>Name</h2><p>refdbd — the application server of RefDB</p></div><div class="refsynopsisdiv"><a id="refdbd-synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">refdbd</code>  [<code class="option">-b</code> <em class="replaceable"><code>dbs-port</code></em>] [<code class="option">-d</code> <em class="replaceable"><code>default-database</code></em>] [<code class="option">-D</code> <em class="replaceable"><code>dbserver</code></em>] [<code class="option">-e</code> <em class="replaceable"><code>log-destination</code></em>] [<code class="option">-E</code> <em class="replaceable"><code>encoding</code></em>] [<code class="option">-h</code> ] [<code class="option">-i</code> <em class="replaceable"><code>IP-address</code></em>] [<code class="option">-I</code> ] [<code class="option">-k</code> ] [<code class="option">-K</code> ] [<code class="option">-l</code> <em class="replaceable"><code>log-level</code></em>] [<code class="option">-L</code> <em class="replaceable"><code>log-file</code></em>] [<code class="option">-p</code> <em class="replaceable"><code>port</code></em>] [<code class="option">-P</code> <em class="replaceable"><code>PID-file</code></em>] [<code class="option">-q</code> ] [<code class="option">-r</code> ] [<code class="option">-s</code> ] [<code class="option">-S</code> <em class="replaceable"><code>note-share-mode</code></em>] [<code class="option">-T</code> <em class="replaceable"><code>time</code></em>] [<code class="option">-U</code> ] [<code class="option">-v</code> ] [<code class="option">-V</code> ] [<code class="option">-x</code> ] [<code class="option">-y</code> <em class="replaceable"><code>confdir</code></em>] [<code class="option">-Y</code> <em class="replaceable"><code>libdbidir</code></em>]</p></div><div class="cmdsynopsis"><p><code class="command">refdbd</code>  {[<code class="option">-a</code>] |  [<code class="option">-c</code>]} [<code class="option">-b</code> <em class="replaceable"><code>dbs-port</code></em>] [<code class="option">-D</code> <em class="replaceable"><code>dbserver</code></em>] [<code class="option">-e</code> <em class="replaceable"><code>log-destination</code></em>] [<code class="option">-E</code> <em class="replaceable"><code>encoding</code></em>] [<code class="option">-h</code> ] [<code class="option">-i</code> <em class="replaceable"><code>IP-address</code></em>] [<code class="option">-l</code> <em class="replaceable"><code>log-level</code></em>] [<code class="option">-L</code> <em class="replaceable"><code>log-file</code></em>] [<code class="option">-p</code> <em class="replaceable"><code>port</code></em>] [<code class="option">-P</code> <em class="replaceable"><code>PID-file</code></em>] [<code class="option">-q</code> ] [<code class="option">-u</code> <em class="replaceable"><code>username</code></em>] [<code class="option">-v</code> ] [<code class="option">-V</code> ] [<code class="option">-w</code> <em class="replaceable"><code>password</code></em>] [<code class="option">-x</code> ] [<code class="option">-y</code> <em class="replaceable"><code>confdir</code></em>] [<code class="option">-Y</code> <em class="replaceable"><code>libdbidir</code></em>]</p></div></div><div class="refsect1"><a id="refdbd-description"></a><h2>Description</h2><p>refdbd is the application server of RefDB(7). refdbd contains most of the application logic of RefDB and interacts with the database engine. refdbd must run somewhere in your network to do anything useful with the RefDB clients. refdbd usually runs as a daemon and responds to client requests, but it can be started as a regular process for debugging purposes. To start refdbd as a server, use the first command synopsis shown above.</p><p>It is recommended to use a wrapper script to start and stop refdbd. If you want to start and stop refdbd manually, use refdbctl(1). If you want to run refdbd as a daemon, use refdb(8). Edit the configuration file (see below) to permanently configure refdbd.</p><p>In addition to being run as a server, refdbd can also be invoked to check, install, or upgrade the main database. Refer to the second command synopsis shown above.</p></div><div class="refsect1"><a id="refdbd-options"></a><h2>Options</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">-a</code></span></dt><dd><p>Runs refdbd to install or upgrade the main database. refdbd will exit after performing the maintenance tasks. In order to perform the maintenance tasks you have to provide a database administrator username and password using the <code class="option">-u</code> and <code class="option">-w</code> options, respectively, if your database engine uses access control. Some database configurations (e.g. PostgreSQL on Debian) further require you to run the administrative tasks from a special privileged user account (often called pgsql or postgres). If you use one of the file-based engines (SQLite or SQLite3), you must run the tool from an account which has write permissions in the database folder. refdbd first checks whether a main database already exists. If not, it will attempt to install it. Otherwise, it will upgrade the database to the current version if required. refdbd will print an error message to stderr if the maintenance job fails, and exit with a non-zero exit code.</p></dd><dt><span class="term"><code class="option">-b</code> <em class="replaceable"><code>dbs-port</code></em></span></dt><dd><p>Set the port on which the database server listens for incoming connections. The default is 3306 for MySQL and 5432 for PostgreSQL. This option does not apply if you use SQLite as your database engine.</p></dd><dt><span class="term"><code class="option">-c</code></span></dt><dd><p>Runs refdbd to check the main database version and the database engine connection. refdbd will exit after performing the maintenance tasks. In order to perform the maintenance tasks you have to provide a database administrator username and password using the <code class="option">-u</code> and <code class="option">-w</code> options, respectively, if your database engine uses access control. If you use one of the file-based engines (SQLite or SQLite3), you must run the tool from an account which has read permissions for the main database file. refdbd will print an error message to stderr if the check fails, and exit with a non-zero exit code.</p></dd><dt><span class="term"><code class="option">-d</code> <em class="replaceable"><code>default-database</code></em></span></dt><dd><p>Set a default database to be used for all client queries that do not specify a database.</p></dd><dt><span class="term"><code class="option">-D</code> <em class="replaceable"><code>dbserver</code></em></span></dt><dd><p>Select the database server. Currently the values mysql, pgsql, and sqlite are supported to select MySQL, PostgreSQL, and SQLite, respectively.</p></dd><dt><span class="term"><code class="option">-e</code> <em class="replaceable"><code>log-destination</code></em></span></dt><dd><p>This specifies the destination of the log information. If destination is 0 or "stderr", the log output is sent to stderr. This should only be used for debugging purposes when refdbd is not run as a daemon.
	  If destination is 1 or "syslog", the syslog facility of the system is used. syslog has to be configured properly to accept refdb's log output. Consult the syslogd(8) man page how to achieve this.
	  If destination is 2 or "file", a custom log file as defined by the -L switch is used instead. If this log file cannot be written to, refdbd falls back to using syslog.</p></dd><dt><span class="term"><code class="option">-E</code> <em class="replaceable"><code>encoding</code></em></span></dt><dd><p>Select the default character encoding for new reference databases. Specify the IANA name of the encoding. You can override this default by using the -E option of the createdb command.</p></dd><dt><span class="term"><code class="option">-h</code></span></dt><dd><p>Displays help and usage screen, then exits.</p></dd><dt><span class="term"><code class="option">-i</code> <em class="replaceable"><code>IP-address</code></em></span></dt><dd><p>For external database servers, set the IP address of the box which is running the database server. Instead of the IP address you can also specify the hostname as long as it can be properly resolved by your system. If the database server runs on the same box as refdbd, use the string <span class="emphasis"><em>localhost</em></span>.
	  Note: If <span class="emphasis"><em>localhost</em></span> does not seem to work, try specifying the real IP address of the box instead - some database client libraries refuse to use TCP/IP for local connections which may cause mayhem on particular systems.
	  For embedded database engines, this option sets the directory which contains the database files. The default is <code class="filename">/usr/local/share/refdb/db</code>.
	  Note: SQLite on Cygwin has a bug which prevents the use of absolute paths. Use a relative path instead by leaving out the leading slash. This assumes that refdbd is started from the root directory. The start script refdbctl does this automatically.</p></dd><dt><span class="term"><code class="option">-I</code></span></dt><dd><p>Set this switch to allow remote connections to refdbd. Otherwise only connections from localhost (127.0.0.1) will be answered.</p></dd><dt><span class="term"><code class="option">-k</code></span></dt><dd><p>refdb stores up to four names (full name, official abbreviation, and two user-defined abbreviations) of each periodical. These synonyms are shared by all references that use one of these periodical names. As it sometimes requires some effort to get at the synonyms (public reference data often contains only the official abbreviation), it is desirable to keep these synonyms even if you remove the last reference that uses a particular periodical name. If you use the -k option, the synonyms will not be removed from the database and will be available immediately if you add a new reference using that particular periodical name.</p></dd><dt><span class="term"><code class="option">-K</code></span></dt><dd><p>If this option is used, refdbd will run an automatic keyword scan each time you add or update references. refdbd will scan the title fields and the abstract field of the modified references for any keywords already present in the database but not in the particular reference. This increases the usability of keywords in queries. There is no speed decrease for the user interaction as the keyword scan is performed in the background. See also the related refdba command scankw which performs a more thorough manual keyword scan.</p></dd><dt><span class="term"><code class="option">-l</code> <em class="replaceable"><code>log-level</code></em></span></dt><dd><p>Set the log level to a value between 0 and 7 or to a string value as described in log level definitions. 0 means that only critical log messages will be logged, while a value of 7 means that every log message will be logged. Set level to -1 to disable logging.</p></dd><dt><span class="term"><code class="option">-L</code> <em class="replaceable"><code>log-file</code></em></span></dt><dd><p>This switch specifies a custom log file (full path please). This will only be used if the -e switch is set accordingly.</p></dd><dt><span class="term"><code class="option">-p</code> <em class="replaceable"><code>port</code></em></span></dt><dd><p>Set the port on which refdbd listens for incoming connections. The default is 9734.</p></dd><dt><span class="term"><code class="option">-P</code> <em class="replaceable"><code>PID-file</code></em></span></dt><dd><p>Specify the full path of the file that refdbd writes its process ID to. This PID simplifies stopping and reconfiguring the application server from the command line. The default value is /var/log/refdbd.pid.</p></dd><dt><span class="term"><code class="option">-q</code></span></dt><dd><p>Start without reading the configuration file. Useful for debugging purposes</p></dd><dt><span class="term"><code class="option">-r</code></span></dt><dd><p>Enables remote administration via refdba.</p></dd><dt><span class="term"><code class="option">-s</code></span></dt><dd><p>Starts as a standalone application, not as daemon.</p></dd><dt><span class="term"><code class="option">-S</code> <em class="replaceable"><code>note-share-mode</code></em></span></dt><dd><p>Set the default extended note share mode to either public or private. This setting affects the accessibility of extended notes if they do not explicitly carry a share attribute. See the section about notes sharing for more information.</p></dd><dt><span class="term"><code class="option">-T</code> <em class="replaceable"><code>time</code></em></span></dt><dd><p>Set the timeout for client/application server dialogue in seconds.</p></dd><dt><span class="term"><code class="option">-u</code> <em class="replaceable"><code>name</code></em></span></dt><dd><p>Set the username of the database administrator account.</p></dd><dt><span class="term"><code class="option">-U</code></span></dt><dd><p>This switch causes refdbd to automatically uppercase all citation keys of newly added references. This makes it more convenient to work with SGML bibliographies.</p></dd><dt><span class="term"><code class="option">-v</code></span></dt><dd><p>Prints version and copyright information, then exits.</p></dd><dt><span class="term"><code class="option">-V</code></span></dt><dd><p>Switches to verbose mode. To be honest, currently this doesn't make much of a difference.</p></dd><dt><span class="term"><code class="option">-w</code> <em class="replaceable"><code>password</code></em></span></dt><dd><p>The password of the database administrator account. You can pass an asterisk to let refdbd ask for a password interactively. This keeps your password from showing up in the process list. Keep in mind that you have to protect the asterisk on the command line by surrounding it with single quotes.</p></dd><dt><span class="term"><code class="option">-x</code></span></dt><dd><p>Assume incoming passwords are unencrypted.</p></dd><dt><span class="term"><code class="option">-y</code> <em class="replaceable"><code>confdir</code></em></span></dt><dd><p>Specify the directory where the global configuration files are
	  Note: By default, all RefDB applications look for their configuration files in a directory that is specified during the configure step when building the package. That is, you don't need the <code class="option">-y</code> option unless you use precompiled binaries in unusual locations, e.g. by relocating a rpm package.</p></dd><dt><span class="term"><code class="option">-Y</code> <em class="replaceable"><code>libdbidir</code></em></span></dt><dd><p>Specify the directory where the libdbi drivers are
	  Note: By default, libdbi (the database abstraction library used by refdbd) looks for its driver files in a directory that is specified during the configure step when building the package. That is, you don't need the <code class="option">-Y</code> option unless you use precompiled libdbi binaries in unusual locations, e.g. by relocating a rpm package.</p></dd></dl></div></div><div class="refsect1"><a id="refdbd-configuration"></a><h2>Configuration</h2><div class="table"><a id="idp69280896"></a><p class="title"><strong>Table 12.1. refdbdrc</strong></p><div class="table-contents"><table summary="refdbdrc" border="1"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Variable</th><th>Default</th><th>Comment</th></tr></thead><tbody><tr><td>refdblib</td><td>
	      <code class="filename">/usr/local/share/refdb</code>
	    </td><td>The path of the directory containing shareable refdb files like DTDs, HTML templates etc. Actually, most of the files are in subdirectories of refdblib.</td></tr><tr><td>dbsport</td><td>3306</td><td>The port on which the database server listens. Use either 3306 or 5432 for MySQL and PostgreSQL, respectively. This variable is ignored if you use SQLite as your database engine.</td></tr><tr><td>dbserver</td><td>sqlite</td><td>The database server you want to connect to. Use one of mysql, pgsql, or sqlite to select MySQL, PostgreSQL, or SQLite as your database engine, respectively.</td></tr><tr><td>dbpath</td><td>/usr/local/var/lib/refdb/db</td><td>The directory that contains the database files of an embedded database engine. Leave out the leading slash if you use SQLite on Cygwin.</td></tr><tr><td>logdest</td><td>2</td><td>The destination of the log information. 0 = print to stderr (for debugging only, don't use when running as a daemon); 1 = use the syslog facility; 2 = use a custom logfile. The latter needs a proper setting of logfile.</td></tr><tr><td>logfile</td><td>/var/log/refdbd.log</td><td>The full path of a custom log file. This is used only if logdest is set appropriately. If you start refdbd from the command line as a regular user, you should specify a file that you have write access to (you may not be allowed to create <code class="filename">/var/log/refdbd.log</code> or write to this file as a regular user).</td></tr><tr><td>loglevel</td><td>6</td><td>The log level up to which messages will be sent. A low setting (0) will notify you only in case of a meltdown, whereas a high setting (7) allows all messages including debug messages (this is <span class="emphasis"><em>a lot</em></span>). -1 means nothing will be logged.</td></tr><tr><td>pidfile</td><td>/var/log/refdb.pid</td><td>The file refdbd writes its process ID to. If you start refdbd from the command line as a regular user, you should specify a file that you have write access to (you may not be allowed to create <code class="filename">/var/log/refdbd.pid</code> or write to this file as a regular user).</td></tr><tr><td>port</td><td>9734</td><td>The port on which refdbd listens. The server and all clients that are supposed to connect to it must agree on the same port. Obviously, this option allows to run several instances of refdbd on the same box if there is a good reason to do so. In this case you should also use separate log and pid files.</td></tr><tr><td><a id="app-d-switch-remote"></a>remoteadmin</td><td>f</td><td>Set this to 't' to allow remote administration via refdba. Be aware that this is a security risk.</td></tr><tr><td>serverip</td><td>localhost</td><td>The IP address or hostname of the machine where the database server runs. Use the default (localhost) address if the database server and refdbd run on the same machine.</td></tr><tr><td>timeout</td><td>180</td><td>The timeout in seconds. After this time has elapsed, a stalled connection is taken down. Increase this value if you encounter frequent timeout errors due to high network traffic.</td></tr><tr><td>keep_pnames</td><td>t</td><td>Set this to 't' to keep periodical names and synonyms if you remove references. If set to 'f', the names will be removed from the database if the last reference using these names is deleted.</td></tr><tr><td>db_encoding</td><td>(none)</td><td>Specify the default character encoding for new refdb reference databases. If the database server supports this feature (currently only PostgreSQL does), all new databases will use this encoding unless a different one is specified with the <a class="link" href="re06.html#app-a-command-createdb" title="createdb">createdb</a> command.</td></tr><tr><td>in_encoding</td><td>ISO-8859-1</td><td>Specify the default character encoding for RIS data being added to databases.</td></tr><tr><td>dbi_driverdir</td><td>(none)</td><td>Specify the directory containing the libdbi driver files. As mentioned above, this is only necessary if you use precompiled libdbi binaries in funny locations.</td></tr><tr><td>keyword_scan</td><td>t</td><td>Set this to 't' to allow an automatic keyword scan after references are added or updated. 'f' will switch off this feature.</td></tr><tr><td>upper_citekey</td><td>f</td><td>Set this to 't' to uppercase all citation keys of newly added references (this makes sure they work with SGML bibliographies).</td></tr><tr><td>share_default</td><td>public</td><td>Whether ("public") or not ("private") to share extended notes between users by default. See the section about <a class="link" href="ch09s06.html" title="To share or not to share extended notes">notes sharing</a> for more information.</td></tr><tr><td>remoteconnect</td><td>f</td><td>Set this to 't' to allow remote connections to refdbd. By default, refdbd accepts only local connections due to security concerns.</td></tr><tr><td>no_decrypt</td><td>f</td><td>If set to 't', incoming passwords are assumed to be unencrypted. The default is to expect encrypted passwords.</td></tr></tbody></table></div></div><br class="table-break" /></div><div class="refsect1"><a id="refdbd-files"></a><h2>Files</h2><p><code class="filename">PREFIX/etc/refdb/refdbdrc</code></p><p>The global configuration file of refdbd.</p></div><div class="refsect1"><a id="refdbd-see_also"></a><h2>See also</h2><p><span class="emphasis"><em>RefDB</em></span> (7),
    <span class="emphasis"><em><a class="link" href="re03.html" title="refdb">refdb</a></em></span> (8), 
    <span class="emphasis"><em><a class="link" href="re01.html" title="refdbctl">refdbctl</a></em></span> (1), 
    <span class="emphasis"><em><a class="link" href="re06.html" title="refdba">refdba</a></em></span> (1), 
    <span class="emphasis"><em><a class="link" href="re11.html" title="refdbc">refdbc</a></em></span> (1).</p><p><span class="emphasis"><em>RefDB manual (local copy) </em></span> PREFIX/share/doc/refdb-&lt;version&gt;/refdb-manual/index.html</p><p><span class="emphasis"><em>RefDB manual (web) </em></span> &lt;<a class="ulink" href="http://refdb.sourceforge.net/manual/index.html" target="_top">http://refdb.sourceforge.net/manual/index.html</a>&gt;</p><p><span class="emphasis"><em>RefDB on the web </em></span> &lt;<a class="ulink" href="http://refdb.sourceforge.net/" target="_top">http://refdb.sourceforge.net/</a>&gt;</p></div><div class="refsect1"><a id="refdbd-author"></a><h2>Author</h2><p>refdbd was written by Markus Hoenicka &lt;markus@mhoenicka.de&gt;.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch12.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="re03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">refdbctl </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> refdb</td></tr></table></div></body></html>