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 |