As was mentioned earlier, Rekall can store forms and reports and so forth either in a server database, or in the file system (or both). If they are stored in the file system then each form, report, etc., will be stored in a separate file, and these files will be located in the same directory as the database file (this is why you will probably want to place the database file in a new directory). The dialog will always show an entry called !Files, which corresponds to forms, etc., that are stored in the file system. However, we need to specify at least one server database, otherwise there will not be any tables that Rekall can access!
At this point you have two choices. If you decide to store forms, etc., in the file system, then you can add a server database to the !Files entry. To do this, highlight the !Files entry and click Edit (or double-click the entry); this pops up a dialog into which database connection information is entered; this is shown below:
First, select the required type of database server, and then enter the details for your server database. The exact details depend on the actual database server (and fields which are not relevant to the selected type of server database will be greyed out), but generally they are as follows:
Host is the machine where the server database is running. If this is the same machine as you are running Rekall on, then this entry can probably be left empty or set to localhost, otherwise it needs to be the name or IP address of the server.
Database is the database name within the server database. Servers like MySQL and PostgreSQL support multiple logical databases, so you need to name the one you want.
User and Password need to be set if you have to give these to access the database.
Port, Socket and Flags are dependant on the server database. The first is typically used for TCP/IP connections when the server database is listening on a non-standard port; the second is similarly used for local connections. Usually, you won't need to set any of these.
In addition, other tabs will appear depending on the choice of database type. You can ignore these for the moment.
The Disabled checkbox can be set if you need to temporarly prevent Rekall from trying to access the server database. This may be useful if the database file specifies more than one server database and one of them is unavailable. Note that Rekall will set this automatically if it cannot connect to the server. The AutoStart option is used to arrange that a form is automatically opened when Rekall is started up, and is explained in the chapter on forms.
A special case is the XBase server database, which does not have a separate server process, and has no notion of users or passwords. In this case, Database is the name of the directory in which the XBase table files will be stored. As a special case, a period (.) can be used, meaning the same directory as the database file itself is located in.
If you leave the user or password settings empty (and the server database requires these values) then a dialog box will appear when Rekall first tries to connect to the server database. This is useful where you want to be sure that the user or password values cannot be discovered by someone else, since the values you enter are stored in plain text
Once you are happy with the settings, click OK.
The second option is to store the forms, reports, etc., in a server database, in which case you need to click New. This shows the same dialog, with the difference that this time the Name name field is also enabled. The server name is any name you care to use to identify the entry; you might for instance set it to be the same as the database name, but any value will do, Rekall isn't fussy. This time, when you save the settings, a new entry will appear with the server name.
The next screenshot shows the screen with two entries, one for !Files and a second named MySQL which accesses a database named RekallDemo with user name orders on a MySQL server database.
The effect of these choices will become more apparent when you move to one of the other tabs, such as Forms or Reports. Looking ahead slightly, this will show a tree view (in the manner of a file browser) with two levels; the top level comprises the servers defined here, and the next level shows the object - forms or reports or whatever - in that server.
There are two points to bear in mind. Firstly, Rekall cannot create databases nor users with MySQL and PostgreSQL database servers, so you will need to do this yourself. The details of how you do this is outside the scope of this manual. Secondly, for security reasons, some server databases may not be installed out-of-the-box to accept all types of connections. For instance, PostgreSQL is generally not installed to accept TCP/IP connections, so if you want to connect Rekall to a PostgreSQL database on a remote machine, you may well need to change some settings on that machine (clue: on most Linux distributions, have a look at the /var/lib/pgsql/data/pg_hba.conf file).