Installing InterFormNG2 on Linux

Installing InterFormNG2 on Linux

The following is a suggestion on how to set up InterFormNG2 on Linux. This has been tested on Ubuntu v20 and it also runs on e.g. Red Hat Linux 8, as long it is not the headless version.

 

Run as a service with systemd (HTTPS version)

 

If not already installed, install Java runtime v8 (Ubuntu example):

 sudo apt install openjdk-8-jre

 

 

For optimal security, it is recommended (but not required) to create a new user that is used exclusively to run InterFormNG:

To create a new user, run these commands:

 sudo useradd -m ifng

sudo passwd ifng

 

Enter password when prompted

sudo usermod -aG sudo ifng

 

Switch to the newly created user:

sudo -u ifng -s

cd ~

 

Alternatively, log in as an existing user.

 

Download the application zip file:

 wget http://download.interform400.com/shares/SW/InterFormNG2_Linux.zip

 

Unzip to an appropriate folder, in the example /opt/InterFormNG2_Linux is used:

 sudo mkdir /opt/InterFormNG2_Linux

 sudo chown ifng /opt/InterFormNG2_Linux/

 unzip InterFormNG2_Linux.zip -d /opt/InterFormNG2_Linux

 

Within the folder, move the keystore to the correct location:

 cd /opt/InterFormNG2_Linux

 mkdir keystore

 mv interformng2.p12 keystore/

 

Edit the file /opt/InterFormNG2_Linux/application-default.properties and add this line:

 interformng2.privateKey=<RANDOM-STRING>

 

Where it says <RANDOM-STRING> insert your own randomly generated string of at least 32 characters. This is used as an encryption key, so it is very important to choose a long unique value for each installation.

Note: Instead of setting this value in application-default.properties, you can also set it as an environment variable. However the use of a dot (.) in the name may cause problems.

 

Ensure that only the user running the application can read the files:

 chmod -R 500 /opt/InterFormNG2_Linux/

 

 

Create a new file /etc/systemd/system/iformng2.service with the following content (if using a text editor, run it with sudo since this location requires root access):

 

 [Unit]

 Description=InterFormNG2

 After=syslog.target

 

 [Service]

 User=ifng

 Environment="INTERFORMNG2_HOME=/home/ifng/NG2Home"

 WorkingDirectory=/opt/InterFormNG2_Linux

 ExecStart=/bin/java -Xms256M -Xmx4096M -jar /opt/InterFormNG2_Linux/InterformNG2-1.5.1.jar

 SuccessExitStatus=143

 

 [Install]

 WantedBy=multi-user.target

 

 

Finally set it to start up automatically after a system restart, and then start the service:

 sudo systemctl enable iformng2

 sudo service iformng2 start

 

In case of startup problems, view the console log:

 sudo journalctl --unit=iformng2

 

Additional consideration

It should be considered what users need access to the INTERFORMNG2_HOME directory, and file permissions should be set accordingly for optimal security.

In the example, the ifng user's home folder is used for the InterFormNG home folder (/home/ifng/NG2Home). This may not be a good choice if other users are meant to be able to access this via the file system.

 

In the example, the maximum memory allocation for InterFormNG2 is set to 4GB via -Xmx4096M. This can be adjusted as needed.

 

Upgrading an existing installation

To upgrade the Linux installation to a newer version of InterFormNG2, without touching any configuration changes made to application-default.properties or keystores, follow this procedure (this assumes that the recommended installation procedure was followed):

 

Log in as the user running the application (typically user ifng).

 

Download the latest version of InterFormNG2:

 wget http://download.interform400.com/shares/SW/InterFormNG2_Linux.zip

 

Unzip to a temporary folder:

 unzip InterFormNG2_Linux.zip -d temp/

 

Stop the running service:

 sudo service iformng2 stop

 

Make the installation folder writable:

 chmod -R 700 /opt/InterFormNG2_Linux/

 

Delete old files (only these files, do not remove other files in the folder):

 rm /opt/InterFormNG2_Linux/InterformNG2-x.y.z.jar

     (replace x.y.z with the OLD InterFormNG2 version)

 rm -r /opt/InterFormNG2_Linux/modules

 

Copy the new files from the temporary folder:

 cp temp/InterformNG2-X.Y.Z.jar /opt/InterFormNG2_Linux/

     (replace X.Y.Z with the NEW InterFormNG2 version)

 cp -r temp/modules /opt/InterFormNG2_Linux/

 

Make the files read-only again:

 chmod -R 500 /opt/InterFormNG2_Linux/

 

Edit the existing /etc/systemd/system/iformng2.service (with sudo) and change the version number on InterformNG2-x.y.z.jar to the new version number.

 

Start the service again:

 sudo systemctl daemon-reload

 sudo service iformng2 start

 

 

Setup of temporary work files on the Linux platform

On the Linux setup above you can change the recommended iformng2.service description above to include temp directory with the highlighted/bold text below:

ExecStart=/bin/java -Xms256M -Xmx4096M -Djava.io.tmpdir=/home/ifng/NG2Home/temp -jar /opt/InterFormNG2_Linux/InterformNG2-1.5.1.jar

    • Related Articles

    • Installing InterFormNG2 on IBM i

      Installing InterformNG2 on IBM i: Installation of InterFormNG2 on the IBM i platform is described below. Please notice the prerequisites - especially for OS400 and Java 8. You can also view this video: Please refer to Spool2XML for details regarding ...
    • Installing InterFormNG2 on Windows

      Installing InterformNG2 on Windows:A video, that covers the installation on the Windows platform is included below: In order to install, you first need to unzip the distribution file, and then run the unzipped installation file. Now you will see ...
    • Installing the preview client

      As an aid to the designer you can choose to install a preview client. The preview client works together with the designer and constantly merge the current template with the selected sample file in the designer. The preview client can e.g. be used, if ...
    • HTTPS enabling

      During installation you were asked to select the access protocol for the application as either HTTP or HTTPS. If you selected HTTPS then all communication between the browser and the application will be encrypted. Using HTTPS is recommended when ...
    • Connecting to AS400 from another platform

      Connecting to AS400 from another platform : The section below describes the steps to go through, if you want to monitor output queues with spooled files on the IBM i platform from an InterFormNG2 installation on another platform e.g. Windows or ...