---
name: "fdserver"
section: "1"
platform: "linux"
package: "framerd"
version: "2.4.1-1.1"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/fdserver"
---

# fdserver(1)

start a FramerD server

## NAME

fdserver - start a FramerD server

## SYNOPSIS

**fdserver \[--local\] \[--read-only\] \[--log** *log\_file* **\] \[--trace** *trace\_file* **\] \[--access read-only \| locking \| run-with-scissors\] \[-m** *module* **\]\* \[-c** *config\_file* **\]\* \[-f** *scheme\_file* **\]** **\] \[** *var* **=** *val* **\]\* \<** *control\_file* **\>**

The module, file, config, and variable binding options may be intermixed and are processed from left to right before the *control\_file* is loaded.

## DESCRIPTION

**fdserver** starts a FramerD server which is initialized by loading *control\_file* which typically has the suffix **.fdz**

The various options to **fdserver** set up the environment into which the control file is loaded.  The server generally listens on one particular port on all of the network addresses associated with the specified host (see below).  Once started, the server can be accessed from any FramerD application, including [**fdscript**(1)](/fdscript/1.md) or from the command line using [**dtcall**(1)](/dtcall/1.md)

If **fdserver** is started as root, it does a setuid to the value of the environment variable **FDSERVER\_USER** and will setgid to the value of the environment variable **FDSERVER\_GROUP.** If these variables are not defined, "nobody" and "nogroup" are used instead.  This happens after the server initialization file is loaded. If you really want to live dangerously, you can call the FDScript primitive **(SET-UID! root )** to keep the server running as root.

## OPTIONS

- \-f scheme-file

  Load the scheme file *scheme-file* into the default environment

- \-m module

  Load the FDScript module *module* and have its exported symbols accessible to the interpreter environment.

- \-g config\_file

  Load the config file *config\_file* into the global environment.  See **fdconfig**(2) for more details.

- var=val

  - \-Dvar=val

  Bind the global variable *var* to *val*

- \--local

  Runs the server only on the localhost (127.0.0.1)

- \--access read-only \| locking \| run-with-scissors

  declares the kind of access control used for the data provided by this server.  If the argument is **read-only** no modifications are permitted; if the argument is **locking** served indices may be modified and served pools may be locked on an OID-by-OID basis, depending on whether the underlying database (typically the file pool or file index) is writable.  If the value is  **run-with-scissors** the system performs no locking on individual OIDs, but provides write access provided that the underlying database is writable.

- \--log file

  Writes log information, mostly connection opening and closing, to  *file*

- \--trace file

  Writes detailed transaction records, including every remote call and response, to *file*

## FILES

The  *server\_base* is the name of the control file without the  **.fdz** suffix.  It is used to generate several status files.

*server\_base* **.pid** Contains the process id of the started server and is deleted when the server exists normally. *server\_base* **.nid** Contains the server spec of the started server; this can be used as an argument to [**dtcall**(1)](/dtcall/1.md)**or**within**other**FramerD**applications.**It is deleted when the server exists normally.

## ENVIRONMENT

- FRAMERD\_CONFIG

  Overrides the default location of the system configuration file

- DEBUG\_FRAMERD

  Output a backtrace when an error occurs.

- FDSERVER\_USER

  When started as root, this environment variable specifies the user which fdserver will actually run under.

- FDSERVER\_GROUP

  When started as root, this environment variable specifies the group which fdserver will actually run under.

## CONFIG VARIABLES

- %DEBUG

  Output a backtrace when an error occurs.

## BUGS

None known.

## Revision Info

**$Id: fdserver.1,v 1.3 2002/07/10 00:13:11 haase Exp $**

## AUTHOR

Ken Haase \< kh@beingmeta.com \>

## SEE ALSO

**framerd**(7) [**dtcall**(1)](/dtcall/1.md) **fdmanager**(1)
