Installation

The DAV Web Service is available to download from a gsd-dav folder.

Requirements


Linux

  • 64 bits version

Windows

  • 64 bits version

Service

WebDav Service configuration should begin with double installation of provided file **ma-dav.exe**. After performing this procedure in the folder where the **ma-dav.exe** is located, configuration file: **dav-service-config.json**, will be created. The necessary configuration of this file is possible in any text editor.


In the dav-service-config.json file:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{
  "port": 8888,
  "ip": "127.0.0.1",
  "debugMode": true,
  "ssl": {
    "enabled": true,
    "privateKeyPath": "./certifcate/localhost.key",
    "certificatePath": "./certifcate/localhost.crt"
  },
  "session": {
    "secret": "vqCsY!fgcetMoHi4eWgQQq64LkPNlvJ*J#nOpOQADYDbeLrVwCA^rR&AFlaDG6%25VQuobVTCtXOI8H0KSfNKcWnBV6E*BaL2^jF",
    "duration": "14400000",
    "activeDuration": "300000"
  },
  "databases":[
    {
    "rasServerIP": "127.0.0.1",
    "databaseServerIP": "127.0.0.0",
    "databaseName": "DAVDB",
    "databaseAlias": "",
    "timeout": 900,
    "readTimeout": 10,
    "maxNumOfInstances": 15
  }],
  "proxyConfig": {
    "proxyServerAddressWS": "ws://127.0.0.1:8081",
    "enabled": false
  },
  "loginLimitterConfig": {
    "enabled": false,
    "limitDBOpen": true,
    "limitDBExecute": false,
    "maxRequest": 1000,
    "timeFrameMS": 300000,
    "delayMs": 100
  },
  "limitterConfig": {
    "enabled": false,
    "limitDBOpen": true,
    "limitDBExecute": false,
    "maxRequest": 1000,
    "timeFrameMS": 300000,
    "delayMs": 100
  }
}

the following items should be filled:

Field Description
ip address bound to WebDAV service
port port bound to WebDAV service
ssl/enabled boolean which tells that ssl is enabled (default true)
ssl/privateKeyPath path to ssl private key
ssl/certificatePath path to ssl certification key (.crt file)
databases/rasServerIP ip of the remote access server
databases/databaseServerIP ip of the database server
databases/databaseName database name
databases/databaseAlias database alias, default value can by empy: ""
databases/timeout timeout
databases/readTimeout readTimeout
databases/maxNumOfInstances maximun number of open connection
proxyConfig/proxyServerAddressWS address of the proxy server
proxyConfig/enabled true/false
dfRASConfig in the "host" field, specify the server address to which the remote access server is running

Info

Fields which are shown below are not required and should be left as default.

Field Description
loggerConfig Dispatch logs to console / file
loggerConfig/targetConfigs/name Logs target
loggerConfig/targetConfigs/enabled false / true
loggerConfig/targetConfigs/enabled/logFileLocation Location of the log file
proxyConfig Configuration of proxy server
proxyConfig/proxyServerAddressWS Proxy server address
proxyConfig/enabled false / true
limitterConfig configuration of requests throttling
limitterConfig/enabled false / true
limitterConfig/limitDBOpen does not concern dav web service
limitterConfig/limitDBExecute does not concern dav web service
limitterConfig/maxRequest does not concern dav web service
limitterConfig/timeFrameMS time frame in ms
limitterConfig/delayMs delay of each subsequent requests in time frame
loginLimitterConfig does not concern dav web service


After configuring ma-dav.json web service can be run again in order to start up the application.

Multiple database configuration

In default configuration there exist only one entry with empty databaseAlias field. In this case all http routes will be available without databaseAlias prefix value. In order to configure multiple databases for one web service one has to add additional entries to databases array in dav-service-config.json file. Every entry should have an unique databaseAlias value. For example, let's use following configuration:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
  ...
  "databases":[
    {
    "rasServerIP": "192.168.1.20",
    "databaseServerIP": "192.168.1.20",
    "databaseName": "DAVDB",
    "databaseAlias": "",
    "timeout": 900,
    "readTimeout": 10,
    "maxNumOfInstances": 15
  },
  {
    "rasServerIP": "192.168.1.20",
    "databaseServerIP": "192.168.1.20",
    "databaseName": "AnotherDAVDB",
    "databaseAlias": "db1",
    "timeout": 900,
    "readTimeout": 10,
    "maxNumOfInstances": 15
  }
  ]
  ...
}

In above example database DAVDB will be available without databaseAlias prefix value. For instance: https://192.168.1.20:8888/p/userName. However, so as to synchronize AnotherDAVDB one has to add db1 prefix to all http requests. For instance https://192.168.1.20:8888/db1/p/userName.

Service startup


Since version 1.1.14

To run application as a service, we need to run run.service.bat (Web Service location) as administrator and answer for questions:
Do you want send statistic to GSD?[Y/N] - If you agree for sending statistic to GSD, we will be able to get better diagnostic information about possible WebService's problems and update licenses automatically.
Enter the service identifier [GSD-service-name(-yourId)] - If you want run more than one service on the system, you must add a unique ID for everyone. [default=GSD-service-name]

To version 1.1.13 or older

To run Web Service as a service, it is necessary to use external software. Recommended software is Non-Sucking Service Manager. To install the service, you need to go to the folder where the software NSSM is installed. Then hold down the CTRL+Shift keys, use mouse right click and from the context menu select position „Open command window here”. In the command window that opens, type the following command:

1
$ nssm install <service name>

Confirm by clicking the Enter button. This command opens the service editor dialog shown below:

Screenshot


In the editor dialog, you need to fill the path to the application that runs the project. The application name is ma-dav.exe. The second field is the path to the folder with ma-dav.exe file. The last field is the service name. Other settings should remain by the default. To install this configured service click „Install service” button.