Thu, 02. May 24




















Home > Documentation > Installing servers

Installing Servers

Configuration file

For the Ballot Distributor, Administrator, Anonymizer and Counter servers there should be a configuration file defining the server and database addresses. The configuration file is a text file that should look like this:

SERVER <address (//host/service_name)>

DATABASE <address (//host/database)>

Example: 

SERVER //localhost/administrator

DATABASE //localhost/adm_database

 Setting up servers

We have separated REVS in two jar files (revs_servers.jar and revs_voter.jar ). For setting up the servers we use the revs_servers.jar file. To set up one REVS servers follow these steps: 

1. Create the server's database in MySQL.

2. Copy the revs_servers.jar to the installation directory.

3. Create the subdirectories conf and ext.

4. Copy to the conf subdirectory the following files:

(a) kstore.ks file: containing the key of the server, the signed public key certificate by the CA and the CA public key certificate (cf. Key Management).

(b) tstore.ks file: containing the CA public key certificate (only for Anonymizers and Counters).

(c) commissioner.crt file: The commissioner public key certificate signed by the CA.

(d) server.cfg file: the server configuration file (cf. Section 3.1).

(e) policy.txt : this file is a Java policy file; for more information about it consult the Java documentation. An example of a policy file is available at the downloads page.

5. Copy to the ext subdirectory the following files:

(a) soap.jar : available at the downloads page.

(b) mysql-connector-java.jar : available at the downloads page.

 

Now we are ready to start the server. To start a Ballot Distributor, Administrator, Anonymizer or Counter server just type the following command:

java -classpath "revs_server.jar;ext/soap.jar;ext/mysql-connector-java.jar;" -Djava.security.policy=conf/policy.txt -Djava.rmi.server.codebase=file:/ <full_directory_path>/revs_servers.jar inescID.revs.servers.StartServer

If everything is ok it should appear a menu to choose the server's type: 

Select server type

0 - Distributor

1 - Administrator

2 - Anonymizer

3 - Counter

Server type:

After selecting the server's type it will be asked for the passwords for the database authentication, the keystore and the private key: 

Press Enter for defaults.

user: REVSuser

password:REVSpassDB

KeyStore

password: REVSpassKS

Private key

password: REVSpassPK

The default values are only for the database authentication (user: sa, password: <no_password>). Finally, there should appear a list of actions allowed by the selected server: 

K - Create signing keys (only Administrator)

F - Forward Counter selection (only Anonymizer)

G - Gather votes (only Counter)

T - Tally votes (only Counter)

C - Create database

D - Delete database

R - Redo database

U - Update database

S - Start server

E - Exit

Option:

To start the Commissioner server type the following command: 

java -classpath "revs_servers.jar;ext\mysql-connector-java.jar;" -Djava.security.policy = conf/policy.txt inescID.revs.commissioner.Commissioner

First it will be asked for the authentication information: 

Press Enter for defaults.

user: REVSuser

password:REVSpassDB

KeyStore

password: REVSpassKS

Private key

password: REVSpassPK

And then the actions menu should appear: 

C - Create tables

D - Delete tables

R - Redo tables

F - Fill tables

G - Graphic mode

E - Exit

Option:

All servers have three database management actions: create, delete and redo. Before we can start using a server for the first time we must create the database tables. The remaining actions of each server will be explained in the next steps



INESC-ID - IST - UTL