Linux

Щоб оновити сервер HES для Linux, вам потрібно зробити наступне:

1. Відключити захист даних на HES.

2. Оновити сервер, використовуючи інструкцію нижче.

3. Знову увімкніть захист даних.

Варіант 1 (за допомогою скрипту)

Щоб оновити сервер, ви можете використовувати скрипт update.sh, який знаходиться в каталозі HES (за замовчуванням /opt/HES). Ви можете запустити його вручну або через веб-інтерфейс (натиснувши на версію сервера). Якщо оновлення доступне, вам буде запропоновано оновити сервер за допомогою сценарію. Якщо ви змінили розташування сервера, назву служби для запуску, ви можете вручну оновити необхідні параметри в скрипті.

Сценарій має такі параметри командного рядка:

--dir - шлях до бінарної директорії HES. За замовчуванням /opt/HES

--service - ім'я HES-сервісу. За замовчуванням HES

--url - URL для завантаження файлу оновлення. За замовчуванням, URL-адреса буде взята з https://update.hideez.com/hes/build.json

Але ви можете змінити ці параметри. Наприклад, щоб оновити HES в офлайн режимі, з файлу «linux_x64_latest.tar.gz», розташованого в домашній директорії користувача, ви можете запустити сценарій таким чином:

/opt/HES/update.sh --url file://~/linux_x64_latest.tar.gz

або, якщо оновлення знаходиться на іншому вашому ресурсі: update.ps1 --url https://<your_resource/linux_x64_latest.tar.gz

Варіант 2 (без використання скрипту)

2.1. Зупинення служби HES

  $ sudo systemctl stop HES

2.2. Резервне копіювання бінарного і конфігураційного файлів HES

  $ sudo mv /opt/HES /opt/HES.old

2.3. Резервне копіювання бази даних

  • Для MySQL:

Наступна команда створить копію (dump) бази hesdb у файлі hesdb.sql у директорії /opt/HES.old:

  $ sudo mysqldump -uroot -p<MySQL_root_password>  hesdb > /opt/HES.old/hesdb.sql

Змініть <MySQL_root_password> на ваш реальний пароль.

  • Для Microsoft SQL Server:

Наступна команда створить резервну копію бази даних hesdb у файлі hesdb.bak у директорії /var/opt/mssql/data:

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.Завантажте нову версію HES

$ cd ~
$ curl -O https://update.hideez.com/hes/linux_x64_latest.tar.gz
$ tar -xvf linux_x64_latest.tar.gz
$ sudo mv HES /opt/

2.5. Відновіть конфігураційний файл

  $ sudo cp /opt/HES.old/appsettings.Production.json /opt/HES/appsettings.Production.json

2.6. Перезапустіть HES і перевірте його статус

  $ sudo systemctl restart HES
  $ sudo systemctl status HES

  
  ● HES-hideez.example.com.service - Hideez Enterprise Service
   Loaded: loaded (/usr/lib/systemd/system/HES-hideez.example.com.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2020-03-25 10:48:12 UTC; 16s ago
 Main PID: 4657 (HES.Web)
   CGroup: /system.slice/HES.service
           └─4657 /opt/HES/HES.Web

Mar 25 10:48:12 hesservertest systemd[1]: Started Hideez Enterprise Service.

Перевіривши, що оновлення пройшло успішно і все працює нормально, ви можете видалити копії бази даних і сервера:

$ sudo rm -rf /opt/HES.old

Якщо щось піде не так, ви можете відновити сервер HES за допомогою наступних команд

Відновити директорію з попередньою версією HES:

$ sudo systemctl stop HES
$ sudo mv /opt/HES.old /opt/HES

Відновити базу даних:

  • Для MySQL database:

$ sudo mysql -uroot -p<MySQL_root_password> hesdb < /opt/HES.old/hesdb.sql

Змінити <MySQL_root_password> на ваш реальний пароль.

  • Для Microsoft SQL Server:

$ 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"

Потім перезапустіть HES:

$ sudo systemctl start HES