Installation

Installation for X-PUSH consists of the following three steps:

Operating Environment

The recommended operating environment for X-PUSH is as follows:

Minimum System Requirements

JDK(Java Development Kit)

Oracle JDK 8 or later.

Memory

1 GB RAM

Free disk space

HDD 500 MB

Processor

400MHz CPU

Supported Operating Systems

Most operating systems that can run JVM (Java Virtual Machine)

OS

Linux , Windows , UNIX , macOS

Databases

Oracle

10g, 11g, 12c, 18c

SQL Server

2008, 2012, 2014, 2016

MySQL

5.6, 5.7

PostgreSQL

9.5, 9.6 , 10, 11

DB2

10.5

firewall

Firewall policy is required to access X-PUSH from outside (inbound policy)

10080

Web browser access port (client)

10081

Dedicated browser access port (client)

10082

Provider access port (message provisioning)

Java and Environment Variables Check

JDK 1.8.x or higher must be installed for the X-PUSH server to operate.

You must install the JDK - not a JRE - to run X-PUSH as a HotSpot Server.

Java installation status and environment variable settings can be verified using the following method:

In the Windows environment, run "java –version" in the command window.

java –version

In the Unix/Linux environment, run "java –version" in the shell.

java –version

If you do not see the above outputs, you must install Java. Please refer to https://www.oracle.com/technetwork/java/javase/overview/index.html for Java installation details.

Network Setup

An X-PUSH Server uses a single network connection for one client access. To allow simultaneous access for multiple clients, the network properties in the operating system must be set to allow for the simultaneous socket connections of the message provider, monitoring access, etc. The default setting value for Windows and Linux operating systems is generally 1,000. Therefore, the desired value must be set to support more than 1,000 client connections.

Network-related parameter setting methods vary by operating system. Contact your server administrator for detailed setting methods.

X-PUSH Installation

The following information denotes $XPUSH_HOME as the location of an X-PUSH Server installation regardless of the operating system.

Windows Environment Installation

Extract the xpush-2.8.x.zip file to the path where X-PUSH is to be installed.

Open the $xpush-2.8.x/bin/set_xpush.bat file and set JAVA_HOME and XPUSH_HOME.

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_XX
set XPUSH_HOME=I:\xpush-2.8.x
@echo off

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131
set XPUSH_HOME=D:\xpush\xpush-3.0.0

rem JAVA_OPTS_JMX_SSL=
rem JAVA_OPTS_JMX=%JAVA_OPTS_JMX_SSL% 

if not "%JAVA_HOME%" == "" goto java_home_checked
	echo environment variable JAVA_HOME is not defined.
	goto end

:java_home_checked

if not "%XPUSH_HOME%" == "" goto xpush_home_checked
	set XPUSH_HOME=%cd%\..
	echo WARNING! environment variable XPUSH_HOME is not defined. %XPUSH_HOME% will be used for XPUSH_HOME

:xpush_home_checked

rem JSEXE=%XPUSH_HOME%\bin\javaservice\32\JavaService.exe
set JSEXE=%XPUSH_HOME%\bin\javaservice\64\JavaService.exe

:end

Be sure to exclude the final backslash "\" when setting "C:\xpush-2.8.0" as the XPUSH_HOME value.

Unix/Linux Environment Installation

Extract the xpush-2.8.x.tar.gz file to the path where X-PUSH is to be installed.

tar zxvf xpush-2.8.x.tar.gz
or
gzip -d xpush-2.8.x.tar.gz
tar xvf xpush-2.8.x.tar.gz

Open $xpush-2.8.x/bin/set_xpush.sh file and set JAVA_HOME and XPUSH_HOME.

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64
XPUSH_HOME=/home/xpush/xpush-2.8.0
#!/bin/sh
JAVA_HOME=/home/xpush/jdk8u252-b09
XPUSH_HOME=/home/xpush/xpush/xpush-3.0.0
#JAVA_OPTS=
#CLASSPATH=

#JAVA_OPTS_JMX_SSL=
#JAVA_OPTS_JMX="$JAVA_OPTS_JMX_SSL"

if [ -z "$JAVA_HOME" ] ; then
    echo environment variable JAVA_HOME is not defined.
    exit;
fi

if [ -z "$XPUSH_HOME" ] ; then
    XPUSH_HOME=`cd .. ; pwd`
    echo WARNING! environment variable XPUSH_HOME is not defined. $XPUSH_HOME will be used for XPUSH_HOME
fi

Make sure that the value set in the environment variable XPUSH_HOME does not end with “\” like C:\xpush-2.8.0\.

X-PUSH License

An X-PUSH license is required to run X-PUSH. Copy the X-PUSH license file (X-PUSH_Server_License.xml) to the "$XPUSH_HOME/conf" directory.

Copy the license file to the "conf" directory regardless of the OS.

Directory Structure

The directory structure in XPUSH_HOME is as follows:

Directory

Included files

api

X-PUSH API related library file is located.

bin

Contains the run/quit script files.

conf

X-PUSH environment setting file and license file



are located.

doc

Contains documents.

lib

Contains the library files required to run X-PUSH.

lib_monitor

Library files required to run the Monitor are located.

log

The X-PUSH log files are generated in this location.

sample

Contains sample code.

Database Table Creation

A database is required to use the reliability message and mobile notification features.

The databases currently supported by X-PUSH are as follows:

Five database tables need to be created by default. The table creation query can be found in the following file:

$XPUSH_HOME\sample\sql\xpush-2.8.x.sql

Database Table

Description

T_TOPIC

User topic information.

T_MESSAGE

Reliability message information.

T_USER_MESSAGE

User message status management.

T_MOBILE

User device token information.

T_NOTIFICATION

Mobile notification history management.

The database Character Set must be set to UTF-8.