Zephyr Production Installation for Linux

Linux Installation Steps



Prerequisites


Install Software Dependencies


The following software will need to be installed:

  1. Install Oracle JAVA JDK 1.8: Please review the Oracle website or documentation for your Linux distribution for JAVA installation instructions.  

  2. Install MySQL 5.6 or 5.7:  A database server is required to use Zephyr, and MySQL is the default for single server installations. If you plan to use MS SQL or Oracle, please review our Zephyr Data Center installation instructions.

  3. Configure MySQL:  See the recommended database settings below.

  4. Install Elasticsearch 5.5.0:  It is now a requirement to install Elasticsearch as a separate process. Zephyr Server installations allow you to install this on the same VM as the Zephyr server application. 

  5. Upload Zephyr License: The Zephyr installer requires access to the license file provided. It will need to be first uploaded to the file system of the server

  6. Upload the MySQL Connector: The Zephyr installer requires access to the MySQL connector jar file downloaded. It will need to be first uploaded to the file system of the server.

  7. Install / Configure Zephyr server: The installer will guide you through the application configuration options necessary for a new installation.

  8. Setting ulimit in Linux: Increase ulimit on the server to 65535

Install & Configuring MySQL


  1. Install MySQL Server according to the instructions for your Linux distribution: https://dev.mysql.com/downloads/mysql/5.6.html or https://dev.mysql.com/downloads/mysql/5.7.html

  2. Configure MySQL with the following settings below and after configuration, restart the MySQL service. You will need to edit the my.cnf file and add the following configuration settings.  Depending on your linux distribution, this may be in the /etc folder. 

[mysqld]
user=mysql
max_allowed_packet = 150M
max_connections = 600
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_unicode_ci
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_unicode_ci

[mysql]
max_allowed_packet = 150M

[mysqldump]
quick
max_allowed_packet = 150M


NOTE: You may run into an issue where the "max_connections" setting does not actually reflect in MySQL. This could be due to a file open limit built into the Linux operating system. Please see these instructions for how to setup MySQL and Systems to adjust for the "LimitNOFILE" setting.  https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html



Install & Configure Elasticsearch


Elasticsearch is required to be installed as a separate system service. 

  1. Download Elasticsearch 5.5.0https://www.elastic.co/downloads/past-releases

  2. Install Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/5.5/_installation.html

  3. Navigate to the Elasticsearch installation path: etc/elasticsearch

  4. Edit the elasticsearch.yml file to match the parameters below and then save the file:

    1. Zephyr Server and Elastic Search in same Server

      Single node Elastic Search
      cluster.name: zephyr
      node.name: "Node1"
      node.master: true
      node.data: true
      transport.tcp.port: 9300
      http.port: 9200
      script.inline: true
      script.stored: true
      indices.query.bool.max_clause_count: 9012
    2. Zephyr Server and Elastic Search on Different Servers

      Single node Elastic Search
      cluster.name: zephyr
      node.name: "Node1"
      node.master: true
      node.data: true
      script.inline: true
      script.stored: true
      network.bind_host: (IP of the server elasticsearch is installed)
      network.publish_host: (IP of the server elasticsearch is installed)
      network.host: (IP of the server elasticsearch is installed)
      transport.tcp.port: 9300
      http.port: 9200
      discovery.zen.ping.unicast.hosts: ["(IP of the server elasticsearch is installed):9300"]
  5. Restart the Elasticsearch system service.


Install Zephyr


Please ensure you have installed Elasticsearch prior to installing Zephyr.

  1. Ensure the installer file has the proper permissions to be executed:

    shell> chmod +x zephyr_(Build Number)_linux_setup.sh
  2. Launch the setup file with the '-c' command line option as shown below, and ensure you launch it as sudo or root: 

    shell> sudo ./zephyr_(Build Number)_linux_setup.sh
  3. You will be prompted to continue with the installer.

    Starting Installer...
    This will install Zephyr X.X on your computer
    OK [o, Enter], Cancel [c]
  4. You may be prompted to choose between a new install or upgrade.

    Choose type:
    Install [1, Enter], Upgrade [2]
  5. You will be prompted to confirm your system meets the Zephyr Server Requirements. Please review that your system meets the requirements before proceeding.

    Requirements
    Server
    OS:               RedHat Enterprise
                         CentOS
                         Ubuntu/Debian
                         SUSE/openSUSE
    CPU:            Quad-core CPU Intel Pentium or AMD Opteron (2Ghz or higher)
    RAM:            Minimum 16GB; Preferred 16GB
    Disk Space:   At least 5GB Free
    Networking:   Wired Ethernet
                         Static IP address
                         If Firewall exists, please allow ports
                         80, 443, 8005, 8009 , 3306
    Account:       Superuser (root) access to the machine
                         Installer and services need to be installed as "root"
  6. You will be prompted to agree to the Zephyr EULA.

    License Agreement
    D Software End User License Agreement
    IMPORTANT - PLEASE READ CAREFULLY:
    
    This End User License Agreement ("Agreement") constitutes a valid and
    binding agreement between D Software, INC. (”d software,” ”WE” or ”US”) and
    you, as either an individual or a single business entity ("you," "your" or
    "user") for the use of the Zephyr x.x software, ANY files that are delivered
    to you by d software to modify the Zephyr x.x software product, any online
    or enclosed documentation, and any updates, fixes and upgrades provided to
    you (collectively, the ”Software”). You must FIRST READ AND ACCEPT THE TERMS
    OF THIS LICENSE AGREEMENT by clicking on the ”i agree” checkbox below in
    order to install and use the Software. 
    
  7. Use the enter key until you see the following then enter '1' to agree to the terms.

    I accept the terms of this license agreement [1], I do not accept the terms of this  license agreement [2, Enter]
  8. You will then be prompted to enter the path to place the Zephyr home directory.  

    Select Destination Location
    Setup will install Zephyr into the following folder.
    To continue click Next. If you would like to select a different folder, click Browse
    [/usr/local/zephyr]
  9. You will then be prompted to choose an installation type. For information on how to deploy Data Center, see Set Up Zephyr Data Center.

    Choose deployment type:
    Server deployment [1, Enter], Data Center deployment [2]
  10. You will then be prompted to locate your license file.

    License File
    License Key File:
    [/home/zephyr/license.lic]
    
  11. You will then be prompted to choose a port to run Zephyr on. By default, Zephyr runs on port 80.

    Customization
    Server Port :
    [80]
    
  12. You will then be prompted to choose a Tomcat Server Shutdown Port.  We recommend you leave it to the default port.

    Tomcat Server Shutdown Port:
    [8005]
    
  13. You will then be prompted to choose a database system. Use the default MySQL.

    Note: If you had just uninstalled. Please wait few miniutes for the port to get free and try again.
    Configure Database
    Database Type:        
    MySQL [1, Enter]
    
    
  14. You will then be prompted to provide a database username. Note: The database user must be able to create, update, and alter permissions in the database.

    Database Character Set:  utf8
    Username:
    []
    
  15. You will then be prompted to provide a database password. 

    Password:                 
    []
    root
    
  16. You will then be prompted to provide a database connection string. If you installed MySQL on the same server as Zephyr, you can use "jdbc:mysql://localhost:3306/"

    Database URL Configuration:
    Sample URL:               jdbc:mysql://localhost:3306/
    Database URL:
    []
    
  17. You will then be prompted to provide a connection string for Elasticsearch.  By default, Elasticsearch will bind to the IP configured in the elasticsearch.yml file edited earlier in the installation instructions. For example: "192.168.56.101:9300"

    Configure Elasticsearch
    Enter the hostname or IP address and port used by Elasticsearch. For example: localhost:9300.
    Multiple Elasticsearch nodes should be separated by comma. For example: localhost:9300,localhost:9301
    ES Host URL
    []
    
  18. Zephyr will now install the required files and setup the MySQL database.

    Extracting files ..
    # ************************************************************
    
  19. Zephyr installation is now complete and the service should have started. You can choose 'N' when prompted to Launch Zephyr Desktop and connect to Zephyr from your desktop machine.

    ZephyrService.sh may or may not start automatically. Please check and start manually if not started.
    Done!
    
    Zephyr x.x has now been installed on your computer.
    
    Zephyr Desktop will now be launched automatically.
    You can access additional help from the Zephyr installation.
    
    Click Finish to exit setup.
    
    Launch Zephyr Desktop?
    Yes [y, Enter], No [n]
    
    

To start Zephyr you can:

cd /usr/local/zephyr/tomcat/bin

sudo ./startup.sh

To stop Zephyr you can:

cd /usr/local/zephyr/tomcat/bin

sudo ./shutdown.sh

Setting ulimit in Linux


Increase ulimit on the server to 65535

  1. Stop the Zephyr Service.
  2. As root user, open the file /etc/security/limits.conf for editing and add a line at the end.
<zephyr_user> soft nofile 65535
<zephyr_user> hard nofile 65535
replacing <zephyr_user> with the user used to install Zephyr


3. Start a new session and then start the Zephyr service.