Show last authors
1 A frontend server is optional and is responsible for serving forms to users. There are several reason to setup a frontend server, including:
2
3 * Isolate the intranet with {{formcycle/}} backend from the internet.
4 * Load balancing. But note that all the form data is still processed on the master server.
5
6 == Requirements ==
7
8 To use a frontend server, make sure that:
9
10 * a master server was installed successfully and has got a license that allows for frontend servers
11 * the master can access the frontend server via the network. Also make sure that the port is open (default port is 4753).
12
13 == Step 1: Install the frontend server ==
14
15 {{warning}}
16 If you are using Tomcat, make sure you configured it properly. In particular, the encoding should be set to UTF-8. See also [[Tomcat settings>>doc:Formcycle.SystemSettings.TomcatSettings.WebHome]].
17 {{/warning}}
18
19 The following describes the installation for the application server Apache Tomcat. If you are using another application server, refer to the corresponding documentation of that server.
20
21 === Using the Apache Tomcat manager ===
22
23 1. Start Apache Tomcat.
24 1. Invoke the Tomcat manager and login with the corresponding data, if neccessary.
25 1. In the surface of the Tomcat manager you can find the section //Upload local War file for installation//. Choose the installation file //frontend-server.war// on your local system via the button //searching..//. Afterwards approve the selection via the button //install// below the textfield.
26 1. After the successful installation, the entry //xima formcycle frontend-server// in the table //application// and a report similar to the following:
27
28 {{code language="none"}}
29 OK - Deployed application at context path /frontend-server
30 {{/code}}
31
32 If an error message shows up that reads //SizeLimitExceededException//, the maximum upload size of the manager must be adjusted in the //web.xml//. See also the Tomcat documentation and the help pages on [[Tomcat settings>>doc:Formcycle.SystemSettings.TomcatSettings.WebHome]].
33
34 === Manual installation ===
35
36 You can also install the frontend server manually. Just copy the file //frontend-server.war// to the webapp directory. You can find this directory inside the folder where Tomcat is installed.
37
38 1. Copy the provided file //frontend-server.war// to the directory //webapps//
39 1. Restart the Appache Tomcat application server
40 1. Tomcat unpacks the war file, completing the installation
41
42 === Test the installation ===
43
44 Go to the {{smallcaps}}Url{{/smallcaps}} http:~/~/meinServer/frontend-server. An HTML page with the current status of the connection should be displayed.
45
46 {{figure image="frontend_server_503.png"}}
47 The status page of the frontend server. The logical_status is either NOT_CONNECTED or WAIT_FOR_CONNECTION.
48 {{/figure}}
49
50 == Step 2: Connect the master server to the frontend server ==
51
52 {{figure image="system_frontend_server_en" width="400"}}
53 To use the frontend server, you first need to configure it in the system menu.
54 {{/figure}}
55
56 Login as the system administrator (username //sadmin//). Go to the system menu frontend server and add a new frontend server. See the help pages on the [[frontend server menu>>doc:Formcycle.SystemSettings.UserInterface.FrontendServer]] for futher details.
57
58 Now the system can connect to the frontend server. To use it with a form, you first need to allow the client of that form access to the frontend server.
59
60 == Step 3: Allow access to the frontend server for a client ==
61
62 {{figure image="client_frontend_server_en.png" width="400"}}
63 By default, no client is granted access to the frontend server. You need to explicitly allow them access to the frontend server.
64 {{/figure}}
65
66 Now you need to grant a client access to the frontend server. Log in as a client administrator. Go to frontend server menu and configure the frontend server connection. For more details, see the help pages on the [[frontend server menu>>doc:Formcycle.UserInterface.Client.FrontendServer]].
67
68 == Step 4: Setup an encrypted communication ==
69
70 {{figure image="system_frontend_server_ssl_en.png" width="400"}}
71 Encrypt the communication between the master server and the frontend server via SSL.
72 {{/figure}}
73
74 1. Create a new keystore (type: JKS) with a key pair. For example, keystore name: //fs.keystore//) There are several tools available for creating the keystore, such as the freely available //KeyStore Explorer// tool.
75 1. Export the certificate chain, based on the generated key pair. Import the certificate into a new keystore (type: JKS). For example, keystore name: //ms.keystore//
76 1. Put the keystore (//fs.keystore//) with the key pair in the configuration directory of the frontend server.
77 1. On the frontend server, open the file //application.properties// (this is created automatically after installation) and add or edit the following entries:(((
78 {{code language="properties"}}
79 fs.settings.authKey=...
80 fs.settings.port=...
81 fs.settings.ssl.use=true
82 fs.settings.ssl.keystore.path=<Pfad zum Keystore>\\fs.keystore
83 fs.settings.ssl.keystore.pass=<Keystore Passwort>
84 {{/code}}
85 )))
86 1. Restart the {{fserver/}}
87 1. Storing the keystore key certificate (//ms.keystore//) in the configuration directory of {{mserver/}}
88 1. Customizing the {{fserver/}} configuration on the {{mserver/}}
89 1. Check the connection