Skip to main content
Help Center

Installing teamspace on Windows

Complete installation of teamspace/projectfacts under Windows Server: packages, paths, web.xml, MySQL, Tomcat Manager, Jasper font and updating via the Tomcat service.

Prerequisites

  • Administrator rights on a Windows Server (see System requirements)
  • A teamspace-classic account for the installation files
  • A database template (dump) – available on request through teamspace-classic

This guide takes you through a complete Windows installation of projectfacts/teamspace. Carry out the steps with administrator rights. You then set up the reverse proxy (Apache) separately.

The guide uses the name projectfacts. If you have teamspace, replace it. The paths may differ on existing installations.

1. Download & install packages

PurposePath
projectfactsC:\projectfacts
userfilesC:\projectfacts\userfiles
Tomcat server.xmlC:\Program Files\Apache Software Foundation\Tomcat 10\conf\server.xml
MySQL my.ini%programdata%\MySQL\MySQL Server 8.0
web.xmlC:\projectfacts\webapp\WEB-INF\web.xml
data-source.xmlC:\projectfacts\webapp\WEB-INF\conf\data-source.xml
Apache ports/SSL/modsC:\Apache24\conf\httpd.conf
Apache sitesC:\Apache24\conf\extra\projectfacts.conf

3. Installation

  1. Create the following folders:
    • C:\projectfacts
    • C:\projectfacts\logs
    • C:\projectfacts\webapp
    • C:\projectfacts\userfiles
  2. Copy the deploy-war.bat and the projectfacts.war into C:\projectfacts.
  3. Run the deploy-war.bat with administrator rights – the .war is unpacked.
  4. Copy the ZIP file for the userfiles to C:\projectfacts\userfiles and unpack it.

4. Adjust web.xml

Adjust the installation paths in C:\projectfacts\webapp\WEB-INF\web.xml:

<context-param>
  <param-name>path.htdocs.directory</param-name>
  <param-value>/srv/projectfacts/webapp/htdocs/</param-value>
</context-param>
<context-param>
  <param-name>path.data.directory</param-name>
  <param-value>/srv/projectfacts/webapp/WEB-INF/data/</param-value>
</context-param>
<context-param>
  <param-name>timer.mailfetcher</param-name>
  <param-value>30</param-value>
</context-param>
<context-param>
  <param-name>mail.positive_mail_list</param-name>
  <param-value>.*</param-value>
</context-param>
<context-param>
  <param-name>server.url</param-name>
  <param-value>https://projectfacts.mycompany.de</param-value>
</context-param>
<context-param>
  <param-name>webdav.url</param-name>
  <param-value>https://projectfacts.mycompany.de</param-value>
</context-param>
  • Enter your Windows paths under path.htdocs.directory and path.data.directory.
  • timer.mailfetcher: mail is fetched/sent every 30 seconds (0 disables mail traffic).
  • mail.positive_mail_list with .* allows sending to all email addresses.
  • Set server.url and webdav.url to your URL.

5. Configure MySQL 8

Database user: projectfacts · Database name: projectfacts · Password: your choice. The user needs full access.

Import the time zones first, otherwise the MySQL server cannot start (you can find the timezone_posix.sql in teamspace-classic):

mysql -u root -p mysql < timezone_posix.sql

Then edit %programdata%\MySQL\MySQL Server 8.0\my.ini:

[mysqld]
bind-address = 127.0.0.1
skip-name-resolve
skip-log-bin
default-time-zone       = Europe/Berlin
innodb_buffer_pool_size = 1G
max_heap_table_size     = 512M
tmp_table_size          = 512M
innodb_log_file_size    = 256M
group_concat_max_len    = 4096
character-set-server    = utf8mb4
collation-server        = utf8mb4_unicode_ci
sql-mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

Restart the MySQL server.

Import the MySQL database

Contact us to obtain a template of the database structure.

Adjust context.xml

Copy the file webapp\META-INF\context.xml to tomcat10\conf\Catalina\localhost\ROOT.xml. The directory is created automatically the first time the Tomcat starts. In the copied file, adjust docBase, username, password and url.

Contents of context.xml / ROOT.xml with the database connection parameters docBase, username, password and url
The context.xml/ROOT.xml with the database parameters to be adjusted

The time zone of the database must match the operating system on which the Tomcat runs. If the database and Tomcat are on the same system, this is normally already the case.

6. Set up Tomcat

From Tomcat version 9.0.92 onwards, your projectfacts/teamspace must be updated to at least 2024.2.68 or 2024.1.72, otherwise you will receive an error message.

In C:\Program Files\Apache Software Foundation\Tomcat 10\conf\server.xml, adjust or add the following lines:

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
[…]
<Host name="localhost" appBase="webapps" unpackWARs="false" autoDeploy="false">

Open the Tomcat Manager and adjust the memory and the default encoding:

  • Java Virtual Machine: specify the path to the OpenJDK.
  • Java Options: add -Dfile.encoding=UTF8.
  • Maximum memory pool: adjust the memory (depending on the server resources).
Tomcat Manager on Windows with the Java Virtual Machine, Java Options and Maximum memory pool fields
Tomcat Manager (Windows): Java path, UTF-8 encoding and memory

Nightly Tomcat restart

Create a batch file tomcat_restart.bat in the folder C:\projectfacts\scripte:

@echo off
net stop "Tomcat10"
timeout 30
net start "Tomcat10"

The name of the Tomcat service can differ from system to system – adjust it accordingly.

Create a scheduled task that runs the script daily (e.g. at 04:00). When you do so, tick »Run whether user is logged on or not« – otherwise the script will not run.

Add the Jasper font

  1. Download the jasper-font-default-1.2.0.jar from teamspace-classic and place it in C:\Program Files\Apache Software Foundation\Tomcat 10\lib.
  2. Create the folder C:\projectfacts\jasper-font, copy the .jar into it and create an mklink:
    mklink /d "C:\Program Files\Apache Software Foundation\Tomcat 10\lib\Jasper-Font-default-1.2.0.jar" "C:\projectfacts\jasper-font\Jasper-Font-default-1.2.0.jar"
  3. Restart the Tomcat.

7. projectfacts update

Create a backup before every update. Only one .war file may ever be present; a downgrade is not permitted.

  1. Download the current projectfacts-x.x.xx.war from teamspace-classic (» Main folder → Current version → READ THE UPDATE NOTES! «) and observe the version notes.
  2. Copy the file to C:\projectfacts\.
  3. Stop the Tomcat service: press Windows key + R, enter services.msc, find the Tomcat service and stop it.
  4. Right-click the deploy-war.bat»Run as administrator«.
  5. Start the Tomcat service again.
  6. Check in the projectfacts.log (at C:\Program Files\Apache Software Foundation\Tomcat 10\logs\) whether the update was successful, and then remove the .war from C:\projectfacts\.

Common questions & needs

You want to …How to
Special characters are displayed incorrectlyAdd -Dfile.encoding=UTF8 under Java Options in the Tomcat Manager.
Give the Tomcat more RAMIncrease the “Maximum memory pool” in the Tomcat Manager.
MySQL won’t startImport the timezone_posix.sql before adjusting the my.ini.
The nightly restart script doesn’t runActivate »Run whether user is logged on or not« in the scheduled task.
Set up the reverse proxyContinue with Apache as a reverse proxy.