Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
710:configure_stages [2024/03/08 10:13] – Weinlein, Thomas | 710:configure_stages [2024/10/30 11:27] (current) – [Configuring TLS/SSL Certificate] Weinlein, Thomas | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Configure the Stages server | + | ====== Configure the Stages server ====== |
- | * [[: | + | ===== Stages installation location ===== |
- | * [[:710: | + | The Stages installation location is referenced in this document as ''< |
- | * [[: | + | |
- | * [[: | + | |
- | * [[: | + | |
- | * [[: | + | |
- | * [[: | + | |
- | * [[: | + | |
- | * [[: | + | |
- | * [[: | + | |
- | * [[: | + | |
- | * [[: | + | |
- | * [[: | + | |
- | * [[: | + | |
- | === === | + | Windows: |
+ | |||
+ | <code -> | ||
+ | C: | ||
+ | </ | ||
+ | |||
+ | Linux: | ||
+ | |||
+ | <code -> | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | ===== Stages file structure ===== | ||
+ | |||
+ | In the '' | ||
+ | |||
+ | ^ Directory ^ Usage ^ customizations possible ^ | ||
+ | | bin | Commandline tools | **✘**(( | ||
+ | with exception of rc.conf on Linux | ||
+ | )) | | ||
+ | | cmd-lib | Libraries for commandline tools | **✘** | ||
+ | | conf | Configuration files directory referenced as '' | ||
+ | | data-cache | ||
+ | could be deleted and will be recreated automatically | ||
+ | )) | | ||
+ | | elasticsearch | Local Elastic search server used for Stages full text search feature | **✘** | ||
+ | | lib | Customer specific libraries, i.e. JDBC database driver and custom integrations. Directory is referenced as '' | ||
+ | | local | internal use | **✔** | ||
+ | | logs | Stages log files for error analysis. Directory is referenced as '' | ||
+ | | tomcat | Tomcat application server with Stages application | **✘** | ||
+ | |||
+ | ==== Important configuration files ==== | ||
+ | |||
+ | ^ File ^ Usage ^ Shareable ^ | ||
+ | | Global ||| | ||
+ | | '' | ||
+ | | Basic configuration ||| | ||
+ | | '' | ||
+ | by using variable replacement | ||
+ | )) | | ||
+ | | '' | ||
+ | by using variable replacement | ||
+ | )) | | ||
+ | | '' | ||
+ | by using variable replacement | ||
+ | )) | | ||
+ | | '' | ||
+ | property values are server specific | ||
+ | )) | | ||
+ | | '' | ||
+ | property values are server specific | ||
+ | )) | | ||
+ | | '' | ||
+ | | '' | ||
+ | | [[# | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | [[# | ||
+ | | '' | ||
+ | | [[kerberos_autologin|Kerberos SSO]] ||| | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | Metamodels and customisations ||| | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | |||
+ | **Shareable** files can be shared between a test and a production server without modifications, | ||
+ | |||
+ | ===== Apply configuration changes ===== | ||
+ | |||
+ | For the configuration changes to take effect you need to run the following commands which will also restart Stages, so plan for a short downtime: | ||
+ | |||
+ | **Windows: | ||
+ | |||
+ | < | ||
+ | net stop stages | ||
+ | $STAGES_ROOT\bin\update.bat | ||
+ | net start stages | ||
+ | </ | ||
+ | |||
+ | **Linux: | ||
+ | < | ||
+ | stages reload | ||
+ | </ | ||
+ | |||
+ | ===== Best practice for managing configurations ===== | ||
+ | |||
+ | Especially for administration of multiple Stages servers - i.e. for test and production - it is important to keep the configurations in sync to ensure results from one server are reproducible on the other server. | ||
+ | |||
+ | We therefore strongly recommend to use the variable replacement feature to extract all server specific configuration values into the config.properties and secret.properties files. | ||
+ | |||
+ | ==== Variable replacement ==== | ||
+ | |||
+ | - requires Stages '' | ||
+ | |||
+ | This allows to keep the critical configuration files '' | ||
+ | |||
+ | A property in config.properties or secret.properties in the format | ||
+ | |||
+ | <code properties> | ||
+ | key = value | ||
+ | </ | ||
+ | |||
+ | . E.g. | ||
+ | |||
+ | <code properties> | ||
+ | general.external.hostname = stages.example.com | ||
+ | </ | ||
+ | |||
+ | The property can be used as a variable in '' | ||
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | < | ||
+ | [...] | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | In case the same property is defined in '' | ||
+ | |||
+ | ===== General Configuration of Stages ===== | ||
+ | |||
+ | ==== Configuration File ==== | ||
+ | |||
+ | Stages can be configured in the '' | ||
+ | |||
+ | The following code configures a value of “value.of.property” for the configuration property “name.of.property”: | ||
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | Please read also [[#Best practice for managing configurations]] | ||
+ | |||
+ | ==== Configuration of Stages Service Parameters ==== | ||
+ | |||
+ | For configuring Stages service please proceed as follows. In this example the max heap memory is changed. | ||
+ | |||
+ | * Windows: | ||
+ | * Open file " | ||
+ | * Modify the setting: //set TOMCAT_OPTS=–JvmMx=< | ||
+ | * Open a cmd with administrative permissions and navigate to folder " | ||
+ | * Reinstall the Stages service: **reinstallService.bat** | ||
+ | * Restart Stages service: **net start stages** | ||
+ | * Linux: | ||
+ | * Open file " | ||
+ | * Modify the value: // | ||
+ | * Restart the Stages service:** stages restart** | ||
+ | |||
+ | You can configure additional Java start parameter for Stages that are listed below: | ||
+ | |||
+ | * -Xmx (Max memory pool): 4048 MB | ||
+ | * -Xms (Initial memory pool): 4048 MB | ||
+ | |||
+ | ==== Java Garbage Collection Strategies ==== | ||
+ | |||
+ | The JavaVM provides a variety of different garbage collection strategies (algorithms). These different algorithms can have a huge impact on the performance of Java applications. Our internal tests have shown that for most customer scenarios the default garbage collector gives the best results. Therefore we advice our customers to leave the garbage collector settings for Stages unchanged. | ||
+ | |||
+ | ==== Configuring the TCP Ports ==== | ||
+ | |||
+ | Stages comes with HTTPS configured by default. | ||
+ | The server.xml for new installations looks as follows: [[server.xml]] | ||
+ | |||
+ | Stages is started on TCP/IP port 80, 443 and 8085 and enforces usage of HTTPS by default. Thus, it can be accessed via the URL [[https://< | ||
+ | |||
+ | When you try to access Stages via HTTP the client will be redirect to HTTPS instead. | ||
+ | |||
+ | To change the HTTPS port, change the port number within the following statement: | ||
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | port=" | ||
+ | protocol=" | ||
+ | URIEncoding=" | ||
+ | maxHttpHeaderSize=" | ||
+ | maxThreads=" | ||
+ | minSpareThreads=" | ||
+ | enableLookups=" | ||
+ | [...] | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | For example, to use HTTPS on port 8443, comment out the statement above and enable the statement below: | ||
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | protocol=" | ||
+ | URIEncoding=" | ||
+ | maxHttpHeaderSize=" | ||
+ | maxThreads=" | ||
+ | minSpareThreads=" | ||
+ | enableLookups=" | ||
+ | [...] | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | === Port 8085 for internal communication === | ||
+ | |||
+ | Please ensure the connector for port 8085 is always available, as it will be used for internal communication of Stages to deliver the reports and PDF print features. In the default configuration port 8085 is not reachable from other machines. | ||
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | protocol=" | ||
+ | proxyName=" | ||
+ | proxyPort=" | ||
+ | secure=" | ||
+ | scheme=" | ||
+ | URIEncoding=" | ||
+ | maxHttpHeaderSize=" | ||
+ | maxThreads=" | ||
+ | minSpareThreads=" | ||
+ | enableLookups=" | ||
+ | acceptCount=" | ||
+ | connectionTimeout=" | ||
+ | disableUploadTimeout=" | ||
+ | address=" | ||
+ | /> | ||
+ | </ | ||
+ | |||
+ | Please configure the Stages hostname as it is used by the end users in '' | ||
+ | <code properties> | ||
+ | general.external.hostname = stages.example.com | ||
+ | </ | ||
+ | |||
+ | In case you use a IPv6 only configuration please replace '' | ||
+ | |||
+ | Further explanations of the connector attributes are available at [[https:// | ||
+ | |||
+ | ==== Configuring TLS/SSL Certificate ==== | ||
+ | |||
+ | Stages comes with a self signed certificate for [[https:// | ||
+ | * Register a DNS alias for the server, e.g. “stages.company.com” | ||
+ | * Apply for a TLS/SSL certificate for the server which refers to the above alias. Depending on your local procedures, this might require creating a certificate request (e.g. see https:// | ||
+ | * Store your PKCS#12 (requires JDK 8u301 or newer) or JKS keystore file in '' | ||
+ | |||
+ | '' | ||
+ | <code properties> | ||
+ | general.external.hostname = stages.example.com | ||
+ | general.keystore.path = conf/ | ||
+ | </ | ||
+ | '' | ||
+ | <code properties> | ||
+ | general.keystore.keyAlias = stages | ||
+ | general.keystore.password = SECRET | ||
+ | </ | ||
+ | |||
+ | [[# | ||
+ | ==== Configuration for usage with Reverse Proxy ==== | ||
+ | |||
+ | in case you want to terminate the TSL connection on a reverse proxy ([[https:// | ||
+ | |||
+ | E.g. | ||
+ | <code xml> | ||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | > | ||
+ | </ | ||
+ | </ | ||
+ | or for AJP | ||
+ | <code xml> | ||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | /> | ||
+ | </ | ||
+ | In case the reverse proxy runs on a separate machine replace the address attribute by '' | ||
+ | Please also make sure websocket connections ('' | ||
+ | |||
+ | Here is an example for Apache HTTP server configuration using an HTTP connector for Stages on port 8081: | ||
+ | < | ||
+ | < | ||
+ | ServerName {{ general_external_hostname }} | ||
+ | |||
+ | Redirect permanent / https://{{ general_external_hostname }}/stages | ||
+ | ProxyPass / | ||
+ | ProxyPassReverse / | ||
+ | ProxyPass /stages http://{{ internal_hostname }}: | ||
+ | |||
+ | SSLEngine on | ||
+ | [...] | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | ServerName {{ general_external_hostname }} | ||
+ | |||
+ | Redirect permanent / https://{{ general_external_hostname }} | ||
+ | |||
+ | [...] | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== Use the system trust store ==== | ||
+ | |||
+ | Stages should trust the certificates and CAs in the systems trust store, to be able to access Cloud Services like Sharepoint Online and other systems in a secure manner. | ||
+ | |||
+ | Windows: | ||
+ | |||
+ | Please ensure the following properties are configured in '' | ||
+ | < | ||
+ | set JAVA_OPTS=[...] -Djavax.net.ssl.trustStoreType=Windows-ROOT -Djavax.net.ssl.trustStore=NUL | ||
+ | </ | ||
+ | This is the default for new installations of Stages 7.10.5.0 or newer. | ||
+ | |||
+ | Linux: | ||
+ | |||
+ | Please ensure to use the proper '' | ||
+ | |||
+ | |||
+ | ===== Licenses ===== | ||
+ | |||
+ | Stages is delivered with a temporary license that allows running Stages on any machine. Running Stages with a permanent license requires the Stages server machine to have a fixed IP address. To request a permanent license for running Stages on a specific server, please follow these steps: | ||
+ | |||
+ | * Install Stages on the server | ||
+ | * Log in as root or equivalent admin permissions | ||
+ | * Go to the Administration menu | ||
+ | * Click on " | ||
+ | * An email with all the necessary information will be opening | ||
+ | * Send the email to the Stages Customer Care team | ||
+ | |||
+ | |||
+ | ===== Local Message Customization ===== | ||
+ | |||
+ | The messages shown on the Stages Graphical User Interface (GUI) can be customized to the terminology used within an organization. This also applies to the textual representations for the configured news application categories. | ||
+ | |||
+ | Each message possesses a standard definition which can be overwritten by local definitions. These local messages can be configured in the file '' | ||
+ | |||
+ | The format of the message files conforms to the Java property files standard ("name = value" | ||
+ | |||
+ | ===== CMS Configuration ===== | ||
+ | |||
+ | Stages can interact with configuration management systems to work with remotely stored files. Please find the details of the configuration [[cms_configuration|here]]. | ||
+ | |||
+ | ==== CMS Prefetch configuration ==== | ||
+ | |||
+ | Please find the details [[cms_prefetch|here]]. | ||
+ | |||
+ | ==== Document Lifecycles ==== | ||
+ | |||
+ | Please find the details [[document_lifestyles|here]] | ||
+ | |||
+ | ===== Email Notifications ===== | ||
+ | |||
+ | Please find the details [[email_notification|here]]. | ||
+ | |||
+ | ===== LDAP Synchronization ===== | ||
+ | |||
+ | Please find the details [[ldap|here]]. | ||