Setup - Intrexx portal server headless installation on Linux

1. General

The installation described here is performed on the Ubuntu distribution 16.04.4 LTS (GNU/Linux 4.4.0-116-generic x86_64). The following are utilized as tools:

2. The "intrexx" user

So that the role of administrating Intrexx is independent from the root, it is best to create an "intrexx" user. The Intrexx installation is performed with this user. This user is then configured to administrate the Intrexx installation and services. At the time of installation, a user with root permissions is required or the permissions of the "intrexx" user are extended with root permissions. After the installation, the permissions of the "intrexx" user can be limited to specific administrative permissions such as starting and stopping the Intrexx services. The "intrexx" user needs to be provided with all permissions for the directories, files and services created for Intrexx, so that they can administrate these without root permissions.

2.1. Create "intrexx" user

sudo useradd -m intrexx
The home directory (/home/intrexx) is created with the parameter -m.
sudo passwd intrexx
The password is provided with this command.

2.2. Provide "intrexx" user with root permissions

With the following command, the "intrexx" user is added to the "sudo" group. All other group memberships of the "intrexx" user are not changed.
sudo usermod -aG sudo intrexx
With this command, you can identify which groups the "intrexx" user belongs to:
groups intrexx
The sudo permission is required for the installation and can be removed with the following command after the installation:
sudo deluser intrexx sudo

2.3. Switch to "intrexx" user

Switch to the home directory with the following command:
sudo su intrexx
cd /home/intrexx

3. Intrexx portal server installation - Preparations

3.1. Copy the installation package

The installation package can be copied to the home directory /home/intrexx of the "intrexx" user via Winscp.



It can then be extracted using the command
tar -xvzf intrexx.8.0.0.0-linux-x86_64.tar.gz


The generated directory "IX_" contains all installation files.

3.2. Prepare the software update

The online update can be downloaded here. Copy the package for your Intrexx version into the home directory /home/intrexx on the Linux server.

3.3. Create installation directory

Before performing the installation, create the Intrexx target directory that the "intrexx" user has all permissions for (e.g. /opt/applications/intrexx). The ownership is modified with this command:
sudo chown -R intrexx:intrexx /opt/applications/intrexx/
The permissions are modified with the following command. The "intrexx" user is provided with all permissions:
sudo chmod 777 -R /opt/applications/intrexx/

3.4. Define setup permissions for the "intrexx" user

Switch to the folder where the installation files are located. Provide the permissions for performing the setup.sh with this command:
sudo chmod 777 setup.sh
A password should not be requested during the execution as sudo.

4. Intrexx portal server headless installation

On Linux, the installation is performed without the GUI via the console (headless). Switch to the directory with the installation files and perform the setup with root permissions.

4.1. Start the installation

The installation is started with this command:
cd IX_8.0.0.0
sudo ./setup.sh –console

4.2. Confirm license




Confirm the license with "Y" (Yes).

4.3. Installation package

So that only the portal server without the Portal Manager is installed on the Linux server, select package 2 here.



Confirm this with "Yes".

4.4. Installation directory

Specify the installation directory created earlier.



Confirm the installation instance with the Enter key. Select the correct Oracle driver if you are using an Oracle database. If you are not using an Oracle database, enter 1 here.

4.5. Tomcat




Confirm the default port with "Yes".

4.6. Daemon account




Specify the "intrexx" user here. Accept the supervisor and Solr port.

4.7. Update directory

It is best to perform the software update on Linux via the file option.



Decline the default settings with "no" here. As the source, select 2 (File). Under "File" specify the online update file with its path (/home/intrexx/<version number>.zip). Accept the settings with "yes".

4.8. Installation starts




The installation starts. Online updates are also installed.

4.9. Configured services

There are 3 services after the installation:


The installed shell scripts for the services can be viewed here: /opt/applications/intrexx/bin/linux.
ls  -la /opt/applications/intrexx/bin/linux/upix*

4.10. Service units

The configured services for this purpose can be found here: /etc/systemd/system. The default owner of the services is "root".
ls  -la /etc/systemd/system/upix*


The following commands are available for administrating the services: The services contain the user who the service runs under. Here is an example of the supervisor service:
[Unit]
Description=Intrexx Supervisor
After=syslog.target

[Service]
Type=forking
ExecStart=/opt/applications/intrexx/bin/linux/upixsupervisor start sysd
ExecStop=/opt/applications/intrexx/bin/linux/upixsupervisor stop sysd
User=intrexx

[Install]
WantedBy=multi-user.target
Once started, it runs under the "intrexx" user.
systemctl status upixsupervisor


Command:
ps -aux | grep upix
Displays all active services with upix.

4.12. Configure services for the "intrexx" user

So that the "intrexx" user does not need root permissions for the administration, but can still stop and start all services, the following modifications are required.

Supervisor service

No modifications required.

Tomcat service

The owner permissions of the shell need to be changed to "intrexx" here:
sudo chown intrexx:intrexx upixtomcat

Solr service

The owner permissions need to be changed to "intrexx" here: In the directory: cd /opt/application/intrexx/bin/linux
sudo chown intrexx:intrexx upixsolr
Modify "run as" in Solr in the "upixsolr" file:





Change user to upixsolr.service:
cd /etc/systemd/system
sudo vi  upixsolr.service

Provide the "intrexx" user with permissions for stopping and starting services

Specific sudo permissions are stored in the file /etc/sudoers. The file can be edited with visudo (command: sudo visudo). Enter the following commander in the sudoer:
# User alias : 
User_Alias INTREXXMASTER = intrexx
# User priviledge
INTREXXMASTER ALL=NOPASSWD: /bin/systemctl *  upix*


The "intrexx" user now has the ability to stop and start the upix services, even though they are not a member of the sudo group. Sudo is entered before the command and performed without a password request:
sudo systemctl start/stop upixp*.service
Example:
sudo systemctl start upixpsupervisor.service
Starts the supervisor service.

5. Manage Intrexx portal server services

sudo /bin/systemctl status upix*.service
sudo /bin/systemctl start/stop upix*.service
Query active services:
ps -ef | grep upix

6. Troubleshooting

If the keyboard shortcuts do not work, switch shell:
echo $0
Displays used shell -> -sh
Switch to bash
chsh -s /bin/bash intrexx
After logging our and logging in, the default shell for intrexx is then bash.

7. More information

PostgreSQL installation
PostgreSQL configuration
Linux with GUI