Installing EIEvent

Setting up the Mongo Database

Installing and Launching Mongo

First, install and configure the mongo database server. Instructions can be found at https://docs.mongodb.com/manual/installation/ .

Next, make sure the mongo database server is running.

You can either do this each time you want to run the server.

sudo systemctl start mongod
sudo systemctl enable mongod

Or else you can do this once.

sudo systemctl status mongod

Create /usr/local/share/Proc4

The directory /usr/local/share/Proc4 is used to store the configuration information for the four processes. A different directory can be substituted, but that requires modifying the scripts (generally only in a few places) to point to the alternate directory.

First create the directory and give ownership to the account which will run the four processes.

sudo mkdir /usr/local/share/Proc4
sudo useradd -s /usr/bin/nologin -d /usr/local/share/Proc4 proc4
sudo chown -R proc4:proc4 /usr/local/share/Proc4
sudo chmod 775 proc4

This sets up the target directory, and creates a user proc4 to control it. Any user in the group proc4 should be able to modify the files. Next add the administrator accounts to the proc4 group.

sudo usermod -a -G proc4 username

This command adds the user username to the proc4 group, allowing me to add files to that directory without worry. Note: you will not show up as belonging to the group until you logout and log back in again. You can use su username to get around that problem.

Now, copy the files Proc4.ini and Proc4.js from the config directory of the Proc4 package to the target directory. Then edit them to respect the local configuration.

## su username
cd Proc4/inst/config
cp Proc4.ini Proc4.js Proc4.json /usr/local/share/Proc4

Next, edit the newly created files following the templates.

Each file has a section marked “apps” which gives the short and long (url-like) names of the apps. Keep the long names private, as that is used as a kind of a password for web-based interfaces.

Each file as a section marked “pwds” which gives database passwords for the various systems. Edit this for your local configuration.

Configuring the Mongo database

There are a number of “.js” scripts which build and configure the databases. These can be found in the config directory of the Proc4, EIEvent and EABN packages (or the inst/config directory of the package sources.)

Setup the databases and premissions.

cd Proc4/inst/config
mongosh <setupDatabses.js

Setup the admin (Proc4) database collections and indexes:

cd Proc4/inst/config
mongosh <setupProc4.js
mongosh <setupApps.js

Setup the EIRecords (EIEvent) database collections and indexes:

cd EIEvent/inst/conf
mongosh <setupMongo.js