...
Table of Contents | ||
---|---|---|
|
...
The Directory Structure
After installing XperienCentral, a directory structure is created. You are free to choose your own structure, but GX Software recommends the following:
<XperienCentral-root>\configuration | ♦ Contains configuration.xml |
\deploy | ♦ Contains the WM deploy (.war file) |
| ♦ Contains the unpacked WM deploy |
\streaming | ♦ Website downloads |
\system | ♦ System files |
\work\deploy | ♦ Directory for deploying plugins |
\edition-bundles | Contains the plugins |
\jcr | Contains the JCR config and index |
\osgi | Contains the cache for OSGI bundles |
\wwwroot\mywebsite\cfg | Flash elements configuration |
\wm | XperienCentral files |
...
Note |
---|
You can create all or part of this directory structure before starting the entire installation process. Create the directories marked with ♦ before starting the installation. The others will be created later in this topic. |
...
Java Development Kit and Apache Maven
...
- Right-click “My Computer” and select “Properties”.
- Select the [Advanced] tab.
- Click the [Environment Variables] button.
- Click the bottom [New] button to create a new
JAVA_HOME
system variable. - Add the path to the Java 8 JDK bin directory to the
Path
system variable. - Save and close the System Properties window.
Note |
---|
If in the "System Properties" window the value is too long, the complete path is not visible. To see the complete values, the |
...
...
Anchor | ||||
---|---|---|---|---|
|
XperienCentral is written in Java and requires a servlet container to run. Apache Tomcat is such a servlet container in which XperienCentral can operate. XperienCentral has been tested with Apache Tomcat 8.5.35. Follow the steps in this section to install and configure it.
Note |
---|
GX Software strongly recommends that if you are doing a clean install of a Tomcat installation that you use version 8.5.35. |
Install Tomcat
Download Tomcat 8.5.35 from the link available at http://tomcat.apache.org/ (download the Windows Service Installer). Double-click the downloaded file and then follow the wizard to install Tomcat.
...
- After activating the Monitor, a pop-up appears. Switch to the [Java] tab.
- Set “Initial memory pool” to 512 and the “Maximum memory pool” to 1024. These are the recommended defaults. However, if performance is too slow, increasing these values might improve the performance.
- Add the following next lines to the “Java Options” input field:
...
Code Block | ||
---|---|---|
| ||
-Dsun.rmi.dgc.server.gcInterval=600000 -Dsun.rmi.dgc.client.gcInterval=600000 -Duser.language=en -Duser.country=US -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -Dwebmanager.clustering.readonly=false -Dsun.net.inetaddr.ttl=300 -Djavax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl -XX:-ReduceInitialCardMarks -Dorg.apache.jasper.runtime.JspFactoryImpl.USE_POOL=false -Dwebmanager.clustering.id=x -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF8 |
Disable the User Account Control (UAC) Settings
...
- Press the Windows key and then click “Control Panel”.
- In “Control Panel”, click “System and Security”.
- In the “System and Security” window, click “Change User Account Control settings”.
- Move the security slider to the bottom (“Never notify”).
- Save this setting and restart the Tomcat server or computer.
...
Create a New server.xml
The applications Tomcat starts are defined in the server.xml
. After installing Tomcat using the installer, Tomcat will not start XperienCentral. Follow the steps below to make sure that Tomcat starts XperienCentral on startup.
- Open the file
D:\Program Files\Tomcat 8.x.x\conf\server.xml
. Remove all content from the
server.xml
and replace it with:Code Block theme Eclipse <?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> <GlobalNamingResources> <!-- Userdatabase is used to secure admin pages! Make sure path is ok otherwise the admin jsps will not work --> <Resource name="WMUserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="XperienCentral user database" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="D:/Program Files/Tomcat 8.5/conf/admin-users.xml" /> </GlobalNamingResources> <Service name="WebManager"> <Connector port="8009" enableLookups="false" redirectPort="8443" debug="1" protocol="AJP/1.3" URIEncoding="UTF-8" connectionTimeout="600000" relaxedQueryChars="|" /> <Engine name="WebManager" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm" > <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="WMUserDatabase"/> </Realm> <Host name="localhost" unpackWARs="true" autoDeploy="false" deployOnStartup="false" appBase="D:/XperienCentral/deploy"> <Valve className="org.apache.catalina.authenticator.SingleSignOn"/> <Context path="/web" docBase="webmanager-backend-webapp-1.0-SNAPSHOT.war"> <Valve className="org.apache.catalina.authenticator.DigestAuthenticator" cache="true" /> <Resource name="jdbc/WebManagerDb" auth="Container" type="javax.sql.DataSource" username="sa" password="admin" driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://localhost:1433/webmanagerdb;useLOBs=false" maxTotal="100" maxIdle="10" maxWaitMillis="10000" testWhileIdle="true" timeBetweenEvictionRunsMillis="900000" removeAbandonedOnBorrow="false" removeAbandonedOnMaintenance="false" removeAbandonedTimeout="30" logAbandoned="true" validationQuery="select 1" /> </Context> </Host> </Engine> </Service> </Server>
...
For debugging purposes, XperienCentral uses the authentication mechanism of Tomcat. The server.xml
contains a reference to the admin-users.xml
file in which one or more users are defined. Create the file D:\Program Files\Tomcat 8.5.35\conf\admin-users.xml
and add the following lines to it:
Code Block | ||
---|---|---|
| ||
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="wmadmin"/> <user username="wmadmin_user" password="MyPassword" roles="wmadmin"/> </tomcat-users> |
Create a New context.xml
Create the file D:\Program Files\Tomcat 8.5.35\conf\context.xml
and add the following lines to it:
...
After following all the steps in this part, the webserver (IIS) will receive all the requests for the website. If it’s a request for an image, the webserver can handle that request on its own and will return the image. If the request is for a page, IIS will request the page from XperienCentral (running inside Tomcat). The communication between IIS and Tomcat is handled by the ISAPI Redirector. The ISAPI Redirector can be downloaded from the Tomcat website (http://apache.mirror1.spango.com/tomcat/tomcat-connectors/jk/binaries/windows/).
Note |
---|
In the code snippets given below, absolute paths are used. Adjust these paths if your folder structure is different. |
- Create the following folder and place the file
isapi_redirect.dll
in it:D:\Program Files\Jakarta Isapi Redirector\bin\
- Create the following file:
D:\Program Files\Jakarta Isapi Redirector\bin\isapi_redirect.properties
Add the following lines to it:
Code Block theme Eclipse extension_uri=/jakarta/isapi_redirect.dll log_file= D:\Program Files\Jakarta Isapi Redirector\logs\isapi_redirect.log # Possible Log levels: debug, info, warn, error or trace log_level=info worker_file=D:/Program Files/Jakarta Isapi Redirector/conf/workers.properties worker_mount_file=D:/Program Files/Jakarta Isapi Redirector/conf/uriworkermap.properties
Create the following folder and file:
D:\Program Files\Jakarta Isapi Redirector\conf\workers.properties
Add the following lines to it:
Code Block theme Eclipse worker.list=ajp13w worker.ajp13w.type=ajp13 worker.ajp13w.host=localhost worker.ajp13w.port=8009 worker.ajp13w.connection_pool_size=250 worker.ajp13w.connection_pool_timeout=600 worker.ajp13w.socket_timeout=600
Create the following file:
D:\Program Files\Jakarta Isapi Redirector\conf\uriworkermap.properties
Add this line to it:
Code Block theme Eclipse /web/*=ajp13w
...
...
Configure the Apache PDFBox Cache Directory
XperienCentral uses the Apache PDFBox library for working with PDF documents. In order for the library to function correctly, you need to configure the directory it uses for caching. To do so set the pdfbox.fontcache
system property to use the Java tmp
directory. Be sure that XperienCentral has sufficient rights to write to the tmp
directory.
...
Security Enhancements
- To enhance security, you should install an active virus scanner in the environment where XperienCentral is running. Because files (images, downloads, etc.) can be uploaded to XperienCentral, it is unwise to rely on the client's virus scanner to detect viruses. The installation of the virus scanner is out of scope for the XperienCentral documentation, therefore only this general recommendation is given.
- To add more security on a DNS level, a DNSSEC (Domain Name Systems Security Extensions) and a CCA (Certification Authority Authorization) should be configured on the domain of a client's website. This must be configured by the hosting company where the domain is registered. Verify that this is activated for the corresponding website domain.
- The XperienCentral environment (including Tomcat/Apache) should be isolated (from a security and performance perspective) from other software installations if they reside on the same server. This prevents unauthorized access between applications. When using a dedicated (virtual) server for the XperienCentral installation, this requirement is automatically fulfilled. This ensures that no access is given to other applications on the same server as XperienCentral, and if the website goes down because of performance issues, the other application(s) are not affected.