Installation for X-PUSH consists of the following three steps:
Operating environment check
X-PUSH Server installation
Database table generation
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:
MsSQL http://www.microsoft.com/en-us/server-cloud/products/sql-server/
MySQL http://www.oracle.com/us/products/mysql/overview/index.html
tibero http://www.tibero.com/
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.