Wiki source code of Installation eines Frontend-Servers
Show last authors
author | version | line-number | content |
---|---|---|---|
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 |