DotGNU Project - GNU Freedom for the Net








DotGNU Execution Environment - RPM Packages

Right now only RPM packages for GNU/Linux on i386-based CPUs are available.



With the dependencies ..

Getting started after installing the binary packages

Quickstart and Installing Webservices

1. Setup your environment

The DGEE needs some environment variables set for it to find its resources,
and to help this an env script is provided that should be sourced as required.

If you use the DGEE supplied commands (dgadmin, dgeestart, csdgmx, dginstallws,
dgremovews etc) to administer the system then the environment will not need
setting manually.  However if you need to change the runtime configuration
file at any time then the environment will need setting. See the FAQ for
further details.

If you want to sent the environment perminantly for a user then the env script
should be sourced by the .profile of the dgee 'user'.

By default the DGEE runs as the nobody user which does not have a home
directory, starting the dgee as root will see it switching to the configured
user (nobody unless otherwise configured).

So before running as root, execute the command:

shell> . /usr/local/share/dgee/dgeeenv.sh

If you're running the DGEE as another user, then edit that users 
~/.bash_profile or ~/.profile depending on which you use and add the following

. /usr/local/share/dgee/dgeeenv.sh

(You'll have to log out and back in again as this user for the change to take

2. Checking the System Configuration is correct

Run the command dgeediagnose.

This will check and report on may configuration issues that may affect the 
running of the DGEE.

3. Starting DGEE

Run the command dgeestart

(See the README for further information)

4. Configure Apache

Add the following to your apache httpd.conf at the appropriate locations (the
apache src directory contains an example httpd.conf):

LoadModule dgee_module     /usr/local/libexec/mod_dgee.so
AddModule mod_dgee.c

include /usr/local/etc/mod_dgee.conf

# Optional 'directory' based DGEE association 
# allows http://url/dgee/test in addition to the default 
# http://url/test.dgmx
<Location /dgee>
  include /usr/local/etc/mod_dgee.conf

Apache needs to run as either the user who started the DGEE or the DGEE needs
to run as the Apache user.

The following settings in httpd.conf file are suggested:
User nobody
Group nobody

or, if these are not appropriate and you are building the DGEE yourself, then
you may use the --with-username and --with-usergroup configure options (see
./configure --help for details).

If you did not build mod_dgee.so yourself then you will need to copy the
precompiled version from src/apache/precompiled/mod_dgee.so to

(See INSTALL for details on Apache2).

5. Start Apache

Start apache in the usual way

6. You may now install a webservice

cd examples

This will create wstest.dll, state.dll and math.dll

Generate a dgmx files for each of these webservices:

csdgmx wstest.dll
csdgmx state.dll
csdgmx math.dll

Now install the webservice into the dgee by running dgeeinstallws script:

dgeeinstallws wstest
dgeeinstallws state
dgeeinstallws math

(Or you can copy the dll files directly into /usr/local/var/dgee/data and the
dgmx files into /usr/local/var/dgee/index - make sure the ownership on the
directory and files is correct).

You can now view the web service documentation for this webservice by pointing
your browser at:


If you want to see the documentation in XML form, use the following:


XML-RPC access to the webservice is enabled by POSTing your XML-RPC request
to http://my.local.apache.webserver/wstest.dgmx

The perl directory contains a simple XMLRPC test client.  
It requires XMLRPC::Lite which is part of SOAP::Lite.


Shutting down the DGEE before Apache will leave Apache hanging onto system
IPC resources.  This can be cleaned up by stopping Apache and running
dgeestop again.

Please see the README and INSTALL files and examples/readme for further

Use examples/wstest.cs as a guide to writing your own webservices.

If you're really Interested...
Investigate the following administrative commands:

dgadmin pl      # DGEE Process List
dgadmin sl      # DGEE Service List

You can enter these commands interactively by typeing dgadmin directly.
Type help to get a full list of commands available.

(dgadmin is an alias for goldwater, using 'goldwater' will produce the same

Chris Smith - 26/03/2003




Verbatim copying and distribution of this entire article are permitted in any medium or format, provided this notice is preserved.

This page is maintained by Norbert Bollow <nb@SoftwareEconomics.biz> with support from the DotGNU Developers mailing list.