Linux
To update the IES server for Linux, you have to:
Disable the Data Protection on the IES.
Update the server using the following instruction.
Enable Data Protection again.
Option 1 (using a script)
To update the server, you can use the update.sh
script, which is located in the IES directory (/opt/IES
default). You can run it either manually or through the web interface (by clicking on the server version). If an update is available, you will be prompted to update the server using a script. If you have changed the location of the server, the name of the service to run, you can manually update the necessary parameters in the script.
The script has the following command line parameters:
--dir - path to IES bin directory. Default /opt/IES
--service - name of IES-service. Default IES
--url - url to download the update file. Default, url will be taken from https://update.ipi.com/hes/build.json
But you can override these parameters. For example, to update IES offline, from the file "linux_x64_latest.tar.gz", located in the user's home directory, you can run the script as follows:
/opt/IES/update.sh --url file://~/linux_x64_latest.tar.gz
or, if the update is on another of your resources:
update.ps1 --url https://<your_resource/linux_x64_latest.tar.gz
Option 2 (without using a script)
2.1. Stopping IES Service
$ sudo systemctl stop IES
2.2. Backup the IES binaries and the configuration file
$ sudo mv /opt/IES /opt/IES.old
2.3. Backup the Database
For MySQL database:
The following command will create a copy (dump) of the database hesdb
in file hesdb.sql
in /opt/IES.old
directory:
$ sudo mysqldump -uroot -p<MySQL_root_password> hesdb > /opt/IES.old/hesdb.sql
change <MySQL_root_password>
with your real password.
For Microsoft SQL Server database:
The following command will create a backup of the database hesdb
in file hesdb.bak
in /var/opt/mssql/data
directory:
sqlcmd -S localhost -U SA -Q "BACKUP DATABASE [hesdb] TO DISK = N'/var/opt/mssql/data/hesdb.bak' WITH NOFORMAT, NOINIT, NAME = 'db-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
2.4. Download a new version of the IES
$ cd ~
$ curl -O https://update.ipi.com/hes/linux_x64_latest.tar.gz
$ tar -xvf linux_x64_latest.tar.gz
$ sudo mv IES /opt/
2.5. Restore the configuration file
$ sudo cp /opt/IES.old/appsettings.Production.json /opt/IES/appsettings.Production.json
2.6. Restart the IES and check its status
$ sudo systemctl restart IES
$ sudo systemctl status IES
● IES-ipi.example.com.service - IPI Enterprise Service
Loaded: loaded (/usr/lib/systemd/system/IES-ipi.example.com.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2020-03-25 10:48:12 UTC; 16s ago
Main PID: 4657 (IES.Web)
CGroup: /system.slice/IES.service
└─4657 /opt/IES/IES.Web
Mar 25 10:48:12 hesservertest systemd[1]: Started IPI Enterprise Service.
After checking that the update was successful and everything works fine, you can delete copies of the database and server:
$ sudo rm -rf /opt/IES.old
If something goes wrong, you can restore the IES server using the following commands
Restore the folder with previous IES version:
$ sudo systemctl stop IES
$ sudo mv /opt/IES.old /opt/IES
Restore the Database:
For MySQL database:
$ sudo mysql -uroot -p<MySQL_root_password> hesdb < /opt/IES.old/hesdb.sql
change <MySQL_root_password>
with your real password.
For Microsoft SQL Server database:
$ sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [hesdb] FROM DISK = N'/var/opt/mssql/data/hesdb.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
then restart IES:
$ sudo systemctl start IES
As an alternative, you can make updates via a web interface on your IES server
Open the IES server.
Open section Settings → Parameters on the sidebar → Server Update
Type address in the field Service Name (by default “IES.service”)
In the section with available updates, Click Update
Last updated