These notes refer to the following environment:
If nothing works, chances are the environment variables haven't been set. The acedb and textdb scripts built by INSTALL wouldn't work due to the differences in shells. acedb sets environment variables called $ACEDB and $DBDIR, and appends your path, then starts the xace graphical interface to ACEDB. textdb sets the environment variables and starts the tace text interface.
I altered my .bash_profile with the following lines:
ACEDB=[pathname to database]
DBDIR=[pathname to database]/database/
PATH=$PATH:[pathname to ace software directory]/bin
export ACEDB
export DBDIR
(PATH was already exported)
Use the echo command to make sure the environment variables are in place. We put our "contacts" database under /home/httpd because that directory is accessible to the web server. This is a requirement of AceBrowser, which we want to use as the primary interface.
A test of the $ACEDB environment variable looks like this:
echo $ACEDB (return)
It returns this:
/home/httpd/database/contacts/
The NOTES file distributed with this version of ACEDB advises you to move the acedb and textace scripts to /usr/local/bin, and using them to start the program. With your environment variables in place, you can simply use xace or tace instead.
Take your permissions seriously. Richard Durbin's Installation Guide is out of date, but gives good advice in this department.
Most documentation dealing with this software simply tells you to get it going. The software comes with no documentation whatsoever. No README at all. There is a manual that comes in /acedocs called aceserver.html. Its installation instructions don't work on version 4.7g.
The best installation information is in the README file for AcePerl-1.54. A few more hints are listed here.
The AcePerl README file implies creating a user called acedb. This creates permissions problems that we haven't solved yet. We are using individual user names instead.
One thing that no documentation mentions is that we had to move gifaceserver.LINUX to /usr/local/bin/gifaceserver. Obvious, but still makes you wonder while you do it.
Our individual inetd.conf files were completely commented out, and the daemon stopped because of our dispersed locations. Append the required line to the file, and enter:
Killall -HUP inetd
The server really wants a server.log file, writable by the user to whom the gifaceserver is assigned in the inetd.conf file. We created one by opening the gifaceserver on a fake port number (12345):
/usr/local/bin/gifaceserver /home/httpd/database/contacts 12345 1200:1200:10
The moviedb database is the best simple example of a database.
ACEDB is picky about its ascii. vi works great. Can't vouch for emacs ;-). Don't use anything nasty like a word processor.
It really likes alignment, and it likes tabs. Combining tabs and spaces kills otherwise perfectly good models every five seconds.