Die Konfiguration des Servers erfolgt vollständig über eine Konfigurationsdatei. Es sind keinerlei Umgebungsvariablen erforderlich. Wenn dennoch das Arbeiten mit Umgebungsvariablen gewünscht ist, können diese in Form von Makros in die Konfigurationsdatei eingesetzt werden, für die dann durch den Inhalt der entsprechenden gesetzten Umgebungsvariable die Ersetzung erfolgt.
Die Konfigurationsart folgt dem Beispiel von zahlreichen unter UNIX bekannten Dämonen (daemons), wie beispielsweise named, inetd oder auch httpd. Der VDM Server kann sowohl als Daemon im Hintergrund ablaufen, als auch auf einem Terminal bzw. Terminalfenster, was jedoch nach Beenden der Terminalsitzung auch die Beendigung des VDM Servers zur Folge hat.
Üblicherweise wird ein Daemon beim Hochfahren des Systems durch die rc-Skripte gestartet und bleibt bis zum Herunterfahren, also auf Lebenszeit aktiv. Da sich der Daemon von seinem aufrufenden Prozess als auch von seinem Steuerterminal abkoppelt, wäre ein Setzen von Umgebungsvariablen zur Vornahme der Einstellungen, die nach dem Start nie wieder benötigt werden, auch im Hinblick auf die zahlreichen Konfigurationsoptionen ein schlechter Ansatz.
Die Verwendung einer Konfigurationsdatei erlaubt nicht nur die Kommentierung der Optionen in der Datei selbst, sondern auch eine außerordentliche Flexiblität bei Anwendung und Entwicklung. Die einzigste Kommandozeilenoption des VDM Servers ist die Angabe der Konfigurationsdatei, die für die Initialisierung verwendet werden soll:
vdmd -c <dateiname>
Wird diese Option nicht angegeben, so wird eine Konfigurationsdatei mit dem Namen vdmd.conf im gleichen Verzeichnis erwartet und verwendet, in der sich auch der Server vdmd befindet.
Bei dem Datenbankmanager bzw. VDM-Server handelt es sich um eine TCL-Shell, mit problemorientierten Hochsprachenerweiterungen. Ursprünglich wurde eine Zeichenkette, welche TCL-Kommandos für das Booten des Datenbankmanagers enthielt, in den Hochsprachencode implementiert und beim Start des Shell ausgeführt. Im Anschluß an die Vorkonfigurationen durch den Bootcode wurde der Code eine externen TCL-Datei ausgeführt, in der weitere Einstellungen hinterlegt sind.
Die Methode zur Initialisierung wurde geändert, sowohl für den Datenbankmanager, als auch den VDM-Server. Der TCL-Datei config.tcl im TCL-Quellverzeichnis des Servers kommt eine besondere Bedeutung zu. Der Inhalt dieser Datei wird mit Hilfe des Stream-Editors sed in eine Zeichenkette gewandelt, und anschließend im Teilmodul tclconfig.cc als Hochsprachen-Stringdefinition festgeschrieben. Diese Datei wird übersetzt und mit dbm gebunden. Anstelle des ursprünglichen Boot-Codes wird diese Zeichenkette in die TCL-Shell aufgenommen. In diesem TCL-Code wird auch anhand des Namens ermittelt, ob es sich um den Datenbankmanager oder den VDM-Server handelt, und im letzteren Fall die Konfigurationsdatei eingelesen umgesetzt. Der ursprüngliche Boot-Code wurde unverändert in die Datei config.tcl übertragen, und nach wie vor für den Datenbankmanager ausgeführt.
In der Datei config.tcl sind neben den Funktionen zur Bearbeitung der Konfigurationsdatei auch die Standardwerte in einem TCL-Array, dem Konfigurationsprofil, hinterlegt. Dieses kann und muß zum Hinzufügen neuer Optionen ergänzt werden, bevor eine Eintragung in der Konfigurationsdatei zulässig ist.
Einträge in der Konfigurationsdatei unterliegen einigen einfachen Regeln, die Gestaltungsmöglichkeiten in jeglicher Hinsicht ermöglichen:
Zur Verarbeitung der Konfigurationsdatei können ferner eine Reihe von Substitutionen vorgenommen werden, als auch Vorgaben gesetzt werden. Dies geschieht durch einen Eintrag in das Konfigurationsprofil in der Datei config.tcl. Das Profil die Verarbeitung der Einträge fest, und wird als Zeichenkette angegeben.
Die Syntax und Bedeutungen für einen Profilstring sind wie folgt:
Eine Option, die in der Konfigurationdatei nicht fehlen darf, wird durch ein Ausrufezeichen gekennzeichnet.
Vorgaben für Optionen werden im Profil als Zeichenkette angegeben. Auch der Leerstring ist zulässig. Fehlt eine Option in der Konfigurationsdatei, wird die Option aus dem Profil verwendet.
Festlegungen von Pfaden im Profil, die durch ein Doppelkreuz getrennt sind, führen zur Zusammensetzung von Pfaden. Die beispielhafte Angabe von VdmRoot#./ bewirkt, daß der Pfad aus dem durch die Option VdmRoot spezifizierten, und dem Kreuz folgenden zusammengesetzt wird, also in diesem Fall identisch mit dem Eintrag für VdmRoot ist. Die Angabe eines relativen Pfades in der Konfigurationsdatei verwendet ebenfalls VdmRoot als Basis, fügt diesen jedoch nur dann hinzu, wenn es sich nicht um einen absoluten Pfad handelt. Die Angabe von VdmRoot#./bin in dem Profil würde entsprechend als Standardwert ein Unterverzeichnis zu VdmRoot bezeichnen.