QDBMには、データベースファイルを管理するためのCGIスクリプトが付属する。すなわちWWWを介してデータベースファイルの管理を行うことができる。CGIスクリプトは基本APIと拡張APIと上級APIのデータベースファイルを扱うことができる。レコードのキーと値は文字列であるものとする。上級APIの比較関数は辞書順である。利用できる操作は、データベースの一覧、データベースの作成、データベースの削除、データベースのダウンロード、レコードの一覧、レコードの追加、およびレコードの削除である。
Webサーバ上でCGIが利用でき、QDBMが `/usr/local' 以下にインストールされていることが必要である。
インストール作業は、サブディレクトリ `cgi' をカレントディレクトリにして行う。
cd cgi
ビルド環境を設定する。
./configure
プログラムをビルドする。
make
一連の作業が終ると、`qadm.cgi' が生成されているはずである。
CGIが利用できるディレクトリに `qdbm.cgi' と `qadm.conf' をコピーする。また、同じディレクトリの直下に `data' という名前のディレクトリを作成する。例えば、CGIを置くディレクトリが /home/mikio/public_html の場合、以下のようにする。
cp qadm.cgi qadm.conf /home/mikio/public_html mkdir /home/mikio/public_html/data
`data' ディレクトリは `qadm.cgi' のプロセスが読み書きおよび実行できるパーミッションである必要がある。最も簡単には、以下のようにする。他にも、CGIスクリプトにsetuidビットを立てたり、いわゆるsuExecのような機能を用いる方法もある。
chmod 1777 /home/mikio/public_html/data
`qadm.conf' は設定ファイルである。デフォルトでは以下のような内容を持つが、ユーザが任意に修正することができる。
encoding: UTF-8 lang: en title: Administration CGI of QDBM dbdir: data keychop: true valchop: false
`encoding' はCGIスクリプトによって表示されるページおよびデータベースファイル内のレコードの文字コードを指定する。`lang' は表示されるページの言語を指定する。`title' は表示されるページのタイトルを指定する。`dbdir' はデータベースファイルが格納されるディレクトリのパスを指定する。`keychop' と `valchop' は、レコードのキーと値の内容を正規化するか否かを指定する。`true' の場合は、末尾の空白を取り除き、かつ改行コードが内容に含まれないようにする。
設置された `qadm.cgi' のURLにWebブラウザを用いてアクセスする。あとは、表示された案内にしたがってデータベースの管理を行えばよい。
自動化されたエージェントがデータベースに登録されたレコードを検索するために、URLで直接レコードを指定し、その値の内容そのものをプレーンテキストとして取得する機構もある。例えばCGIスクリプトのURLが `http://a.b.c/qadm.cgi' であり、`staff' という名前のデータベースに格納された `mikio' というキーのレコードの値を取り出すには、エージェントは `http://a.b.c/qadm.cgi/staff/mikio' を参照すればよい。すなわち、CGIスクリプトのURLの後ろに、`/' で区切ってデータベース名(接尾辞は不要)とキーを指定すればよい。
既存のデータベースファイルを管理対象にしたい場合は、`data' ディレクトリの中にそれを置けばよい。ただし、基本APIによるデータベースファイルの名前には接尾辞として `.dp' をつけ、拡張APIによるデータベースディレクトリの名前には接尾辞として `.cr' をつけ、上級APIによるデータベースファイルの名前には接尾辞として `.vl' をつける必要がある。例えば `foo.dp'、`bar.cr'、`baz.vl' などとする。また、各データベースファイルまたはディレクトリはCGIスクリプトのプロセスによって読み書き可能である必要がある。
ユーザ認証をする機能は備えていないので、Webサーバの機能によってHTTPの基本認証やSSLのクライアント認証を行うべきである。
キーと値の内容として扱えるのは文字列のみである。