Hide last authors
gru 15.1 1 A frontend server is optional and is responsible for serving forms to users. There are several reason to setup a frontend server, including:
gru 1.1 2
gru 15.1 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.
gru 1.1 5
gru 15.1 6 == Requirements ==
gru 1.1 7
gru 15.1 8 To use a frontend server, make sure that:
gru 1.1 9
gru 15.1 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).
gru 1.1 12
gru 15.1 13 == Step 1: Install the frontend server ==
gru 1.1 14
15 {{warning}}
gru 15.1 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]].
gru 1.1 17 {{/warning}}
18
gru 15.1 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.
gru 1.1 20
gru 15.1 21 === Using the Apache Tomcat manager ===
gru 1.1 22
gru 15.1 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:
gru 1.1 27
28 {{code language="none"}}
29 OK - Deployed application at context path /frontend-server
30 {{/code}}
31
gru 15.1 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]].
gru 1.1 33
gru 15.1 34 === Manual installation ===
gru 1.1 35
gru 15.1 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.
gru 1.1 37
gru 15.1 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
gru 1.1 41
gru 15.1 42 === Test the installation ===
gru 1.1 43
gru 15.1 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
gru 1.1 46 {{figure image="frontend_server_503.png"}}
gru 15.1 47 The status page of the frontend server. The logical_status is either NOT_CONNECTED or WAIT_FOR_CONNECTION.
gru 1.1 48 {{/figure}}
49
gru 15.1 50 == Step 2: Connect the master server to the frontend server ==
gru 1.1 51
gru 15.1 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.
gru 1.1 54 {{/figure}}
55
gru 15.1 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.
gru 1.1 57
gru 15.1 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.
gru 1.1 59
gru 15.1 60 == Step 3: Allow access to the frontend server for a client ==
gru 1.1 61
gru 15.1 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.
gru 1.1 64 {{/figure}}
65
gru 15.1 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]].
gru 1.1 67
gru 15.1 68 == Step 4: Setup an encrypted communication ==
gru 1.1 69
gru 15.1 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.
gru 1.1 72 {{/figure}}
73
gru 15.1 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:(((
gru 1.1 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 )))
gru 15.1 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