Try Free

Custom Installation Package for Unix

  1. Copy actiTIME files onto your machine

    Extract the installation package (a .tar.gz file) into the 'webapps' folder of your Tomcat installation directory. 'actitime' subdirectory will appear.

    Note that if you extract the archive into the '<tomcat home>\webapps', you will only need to restart Tomcat server to make the actiTIME installation available. Otherwise you will have to configure Tomcat to make it able to run actiTIME in another directory.

  2. Enter the 'actitime' subdirectory
  3. Create a MySQL user account

    The account shall have all privileges on the database that will be created later during the installation. The default name of this database is 'actitime'. You can choose any other name, but then you have to specify this name as a parameter for the installation script.

  4. Allow actiTIME to create stored functions in its database

    To do that, run the following query in MySQL under the 'root' user account or under any other user account with SUPER privilege:

    SET GLOBAL log_bin_trust_function_creators = 1;

    If necessary, you can revert this configuration change to the original value after having created and set up the database.

  5. Set up database parameters

    Launch the script provided in the installation package:

    setup.sh

    The script has the following launch format:

    bash ./setup.sh [-mysqlpath <MYSQLPATH>] [-username <USERNAME>] [-password <PASSWORD>] [-host <HOST>] [-port <PORT>] [-dbname <DBNAME>]

    where

    <MYSQLPATH> is the path to the MySQL executables (a directory where the 'mysql' and 'mysqldump' executable files are located). If the path is not specified, installation script will ask for it when running.

    <USERNAME> is the MySQL user name under which actiTIME will create and use the database. If not specified, setup script will ask for it when running.

    <PASSWORD> is the password of user <USERNAME>. If not specified, setup script will ask for it when running.

    <HOST> is the host name of the server where MySQL server is running. If not specified, the local host will be assumed. It is required if actiTIME uses a remote MySQL database.

    <PORT> is the port on which MySQL server is running. If not specified, the default MySQL port will be used.

    <DBNAME> is the name of the database to be created. If not specified, 'actitime' will be used as the database name.

    NOTE: If the script finds the previous version of the actiTIME database, it will back up the database to the actiTIME.mysql4.sql.backup_[current date] file.

  6. Revert the permission to create stored functions to the previous value

    (if necessary):

    To do that, run the following query in MySQL under the 'root' user account or under any other user with SUPER privilege:

    SET GLOBAL log_bin_trust_function_creators = 0;

  7. Configure Tomcat application server

    Make necessary activities to the Tomcat application server if you want to run actiTIME in non-default configuration (different port, virtual host etc.).

    1. If you want to configure actiTIME to work via secure connections (HTTPS) on Unix, you can use Tomcat's facilities, but it may decrease the system performance since Tomcat's HTTPS module is built on Java and requires considerable computational resources.

      It is recommended to use Tomcat together with Apache web server (http://httpd.apache.org/). If you configure your installation this way, secure requests will be processed without serious loss of performance. Apache HTTP server will handle HTTPS requests, decrypt them and then transfer decrypted data forwards to Tomcat. To make it work this way, see Tomcat and Apache documentation at: https://www.javacodegeeks.com/2012/06/apache-http-server-with-tomcat-on-ssl.html.

    2. If you want to run Tomcat with "-security" option on Windows or Unix, you will need to add special permissions to the $CATALINA_HOME/conf/catalina.policy file (or $CATALINA_HOME/conf/tomcat.policy depending on the Tomcat version). The set of permissions depends on Tomcat version and its configuration.

      Examples of lines to add for different server versions are listed below:

      Tomcat 7.0.x:

      grant codeBase "file:<PATH>/actitime/-" { // Access to Tomcat libraries permission java.io.FilePermission "${catalina.home}${file.separator}lib${file.separator}-", "read"; // Access to Tomcat logs (necessary to allow Tomcat to rotate its logs) permission java.io.FilePermission "${catalina.home}${file.separator}logs", "read"; permission java.io.FilePermission "${catalina.home}${file.separator}logs${file.separator}-", "write"; // Database access permissions permission java.net.SocketPermission "<HOST>:<PORT>", "connect,resolve"; // actiTIME requires permissions to access an SMTP server to send email notifications. // Please replace <SMTP_HOST> below with name or IP address of your SMTP server. // It must be equal to the one specified in actiTIME General Settings. permission java.net.SocketPermission "<SMTP_HOST>:25", "connect,resolve"; // Access to system properties permission java.util.PropertyPermission "file.encoding", "read"; permission java.util.PropertyPermission "catalina.home", "read"; permission java.util.PropertyPermission "java.runtime.version", "read"; permission java.util.PropertyPermission "guava.concurrent.generate_cancellation_cause", "read"; permission java.util.PropertyPermission "org.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER", "read"; permission java.util.PropertyPermission "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read"; permission java.util.PropertyPermission "org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH", "read"; // Network and Runtime permissions permission java.net.SocketPermission "www.actitime.com:443", "connect,resolve"; permission java.net.SocketPermission "maps.googleapis.com:443", "connect,resolve"; permission java.net.NetPermission "specifyStreamHandler"; permission java.lang.RuntimePermission "getClassLoader"; permission java.lang.RuntimePermission "accessDeclaredMembers"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.session"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.connector"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.core"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.util"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina"; permission java.lang.RuntimePermission "accessClassInPackage.javax.servlet"; permission java.lang.RuntimePermission "accessClassInPackage.sun.util.logging.resources"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.util.buf"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.coyote"; permission java.lang.RuntimePermission "accessClassInPackage.sun.security.provider"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.jdbc.pool"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.jdbc.pool.jmx"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.jdbc.pool.interceptor"; permission java.lang.RuntimePermission "accessClassInPackage.sun.reflect.generics.reflectiveObjects"; permission java.lang.RuntimePermission "setContextClassLoader"; // MBean management permission javax.management.MBeanServerPermission "createMBeanServer"; permission javax.management.MBeanPermission "com.actimind.common.jmxmanagement.mxbeans.*", "registerMBean"; permission javax.management.MBeanTrustPermission "register"; // Optional permissions that would increase actiTIME performance permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; permission java.lang.RuntimePermission "defineClassInPackage.org.apache.jasper.runtime"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina"; permission java.lang.RuntimePermission "defineClassInPackage.java.lang"; permission java.lang.RuntimePermission "defineClassInPackage.java.util"; };

      Tomcat 8.0.x:

      grant codeBase "file:<PATH>/actitime/-" { // Access to Tomcat libraries permission java.io.FilePermission "${catalina.home}${file.separator}lib${file.separator}-", "read"; // Access to rt.jar permission java.io.FilePermission "${java.home}${file.separator}lib${file.separator}rt.jar", "read"; // Access to Tomcat logs (necessary to allow Tomcat to rotate its logs) permission java.io.FilePermission "${catalina.home}${file.separator}logs", "read"; permission java.io.FilePermission "${catalina.home}${file.separator}logs${file.separator}-", "write"; // Database access permissions permission java.net.SocketPermission "<HOST>:<PORT>", "connect,resolve"; // actiTIME requires permissions to access an SMTP server to send email notifications. // Please replace <SMTP_HOST> below with name or IP address of your SMTP server. // It must be equal to the one specified in actiTIME General Settings. permission java.net.SocketPermission "<SMTP_HOST>:25", "connect,resolve"; // Access to system properties permission java.util.PropertyPermission "file.encoding", "read"; permission java.util.PropertyPermission "catalina.home", "read"; permission java.util.PropertyPermission "java.runtime.version", "read"; permission java.util.PropertyPermission "guava.concurrent.generate_cancellation_cause", "read"; permission java.util.PropertyPermission "org.apache.tomcat.jdbc.pool.onlyAttemptCurrentClassLoader", "read"; permission java.util.PropertyPermission "org.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER", "read"; // Network and Runtime permissions permission java.net.SocketPermission "www.actitime.com:443", "connect,resolve"; permission java.net.SocketPermission "maps.googleapis.com:443", "connect,resolve"; permission java.net.NetPermission "specifyStreamHandler"; permission java.lang.RuntimePermission "getClassLoader"; permission java.lang.RuntimePermission "accessDeclaredMembers"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.session"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.webresources.http"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.connector"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.core"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.util"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina"; permission java.lang.RuntimePermission "accessClassInPackage.sun.util.logging.resources"; permission java.lang.RuntimePermission "accessClassInPackage.sun.security.provider"; permission java.lang.RuntimePermission "accessClassInPackage.javax.servlet"; permission java.lang.RuntimePermission "accessClassInPackage.sun.misc"; permission java.lang.RuntimePermission "accessClassInPackage.sun.reflect.generics.reflectiveObjects"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.jdbc.pool"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.jdbc.pool.jmx"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.jdbc.pool.interceptor"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.util.buf"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.coyote"; permission java.lang.RuntimePermission "setContextClassLoader"; // MBean management permission javax.management.MBeanServerPermission "createMBeanServer"; permission javax.management.MBeanPermission "com.actimind.common.jmxmanagement.mxbeans.*", "registerMBean"; permission javax.management.MBeanTrustPermission "register"; // Optional permissions that would increase actiTIME performance permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; permission java.lang.RuntimePermission "defineClassInPackage.org.apache.jasper.runtime"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina"; permission java.lang.RuntimePermission "defineClassInPackage.java.lang"; permission java.lang.RuntimePermission "defineClassInPackage.java.util"; };

      Tomcat 8.5.x & Tomcat 9.0.x:

      grant codeBase "file:<PATH>/actitime/-" { // Access to Tomcat libraries permission java.io.FilePermission "${catalina.home}${file.separator}lib${file.separator}-", "read"; // Access to rt.jar permission java.io.FilePermission "${java.home}${file.separator}lib${file.separator}rt.jar", "read"; // Access to Tomcat logs (necessary to allow Tomcat to rotate its logs) permission java.io.FilePermission "${catalina.home}${file.separator}logs", "read"; permission java.io.FilePermission "${catalina.home}${file.separator}logs${file.separator}-", "write"; // Database access permissions permission java.net.SocketPermission "<HOST>:<PORT>", "connect,resolve"; // actiTIME requires permissions to access an SMTP server to send email notifications. // Please replace <SMTP_HOST> below with name or IP address of your SMTP server. // It must be equal to the one specified in actiTIME General Settings. permission java.net.SocketPermission "<SMTP_HOST>:25", "connect,resolve"; // Access to system properties permission java.util.PropertyPermission "file.encoding", "read"; permission java.util.PropertyPermission "catalina.home", "read"; permission java.util.PropertyPermission "java.runtime.version", "read"; permission java.util.PropertyPermission "guava.concurrent.generate_cancellation_cause", "read"; permission java.util.PropertyPermission "org.apache.tomcat.jdbc.pool.onlyAttemptCurrentClassLoader", "read"; permission java.util.PropertyPermission "org.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER", "read"; permission java.util.PropertyPermission "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read"; // Network and Runtime permissions permission java.net.SocketPermission "www.actitime.com:443", "connect,resolve"; permission java.net.SocketPermission "maps.googleapis.com:443", "connect,resolve"; permission java.net.NetPermission "specifyStreamHandler"; permission java.lang.RuntimePermission "getClassLoader"; permission java.lang.RuntimePermission "accessDeclaredMembers"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.session"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.webresources.http"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.connector"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.core"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.util"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina"; permission java.lang.RuntimePermission "accessClassInPackage.sun.util.logging.resources"; permission java.lang.RuntimePermission "accessClassInPackage.sun.security.provider"; permission java.lang.RuntimePermission "accessClassInPackage.javax.servlet"; permission java.lang.RuntimePermission "accessClassInPackage.sun.misc"; permission java.lang.RuntimePermission "accessClassInPackage.sun.reflect.generics.reflectiveObjects"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.jdbc.pool"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.jdbc.pool.jmx"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.jdbc.pool.interceptor"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.util.buf"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.coyote"; permission java.lang.RuntimePermission "setContextClassLoader"; // MBean management permission javax.management.MBeanServerPermission "createMBeanServer"; permission javax.management.MBeanPermission "com.actimind.common.jmxmanagement.mxbeans.*", "registerMBean"; permission javax.management.MBeanTrustPermission "register"; // Optional permissions that would increase actiTIME performance permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; permission java.lang.RuntimePermission "defineClassInPackage.org.apache.jasper.runtime"; permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina"; permission java.lang.RuntimePermission "defineClassInPackage.java.lang"; permission java.lang.RuntimePermission "defineClassInPackage.java.util"; };

      where

      <PATH> is the path to the actiTIME directory or '${catalina.home}/webapps' if actiTIME is installed to webapps directory.

      <SMTP_HOST> is the host name or IP of the SMTP server.

      Also add the following permission to 1st block of permissions:

      permission java.net.SocketPermission "<HOST>:<PORT>", "connect,resolve";

      where

      <HOST> is the host name or IP of the server where MySQL server is running.

      <PORT> is the port on which MySQL server is running (MySQL uses port 3306 by default).

  8. Access actiTIME

    Restart Tomcat and check if actiTIME is available.

    Now you can access actiTIME via web browser http://<IP address or server name>:8080/actitime if Tomcat is configured by default and actiTIME is installed into the '<tomcat home>/webapps' directory).

    Enter your license key for the installed version and log in to your actiTIME with username 'admin' and password 'manager'.

    If actiTIME is not available, please check Troubleshooting section for possible error causes.

After having successfully logged in to actiTIME, configure mail server parameters to make actiTIME notifications work properly.

Configuring actiTIME Notifications

After you have successfully logged in to actiTIME, go to Settings → General Settings and scroll down to the end of the page. You will find the Email Settings section. Specify here your mail server parameters in order to make actiTIME email notifications work.

Please enter correct values in the following mandatory fields:

  • Outgoing mail server (SMTP) - name or address of your mail server;
  • Port - mail server port (usually 25);
  • URL of your actiTIME installation - address you used to log in to actiTIME on the previous step (ex. http://<IP address or computer name>:8080/actitime). This address is required to enable links from email messages back to actiTIME;
  • "From" address for email messages - address from which the notifications will be sent;
  • Error Processing  - email address of your system or network administrator who will be notified if actiTIME detects issues when sending email messages.

If you don't know what are the correct values, please consult your System or Network Administrator.

To configure actiTIME and get started with it, refer to the User Guide.