Linux
Варіант 1: CentOS Linux 7
Варіант 2: Ubuntu Server LTS 18.04
Варіант 3: Ubuntu Server LTS 20.04
Варіант 4: Ubuntu Server LTS 22.04
Перш ніж почати
Ви повинні знати, як створювати та редагувати текстові файли в Linux. Наприклад, ви можете використовувати редактор
vim
. Тут ви можете знайти короткий посібник із використання редактора Vim.
1. Підготовка
1.1. Оновлення системи
CentOS
$ sudo yum update -y
Ubuntu
$ sudo apt update
$ sudo apt upgrade -y
Перезавантаження системи
$ sudo reboot
1.2 Вимкнення SELinux (тільки для CentOS)
$ sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
$ sudo reboot
Щоб переконатися, що SELinux вимкнено, ви можете ввести:
$ sudo sestatus
SELinux status: disabled
Примітка: на робочих серверах, зазвичай після інсталяції та верифікації, вам потрібно повторно ввімкнути SELinux і налаштувати його відповідно.
1.3 Конфігурація Firewall (опціонально)
Для доступу до сервера з мережі, порти 80 і 443 і порт 22 (порт за замовчуванням для підключення через ssh) повинні бути відкриті:
CentOS:
$ sudo firewall-cmd --zone=public --permanent --add-port=22/tcp
$ sudo firewall-cmd --zone=public --permanent --add-port=80/tcp
$ sudo firewall-cmd --zone=public --permanent --add-port=443/tcp
$ sudo firewall-cmd --reload
Ubuntu:
$ sudo ufw allow 22
$ sudo ufw allow 80
$ sudo ufw allow 443
$ sudo ufw enable
2. Встановлення передумов (Prerequisites)
2.1. Встановлення додаткових пакетів
Centos 7 :
$ sudo yum install epel-release wget git libgdiplus libicu jq gssntlmssp -y
Ubuntu 18.04:
$ sudo apt install git libgdiplus libicu60 jq gss-ntlmssp-dev -y
Ubuntu 20.04:
sudo apt install libgdiplus libicu66 jq gss-ntlmssp-dev -y
Ubuntu 22.04:
sudo apt install libgdiplus libicu70 jq gss-ntlmssp-dev -y
3. Встановлення HES серверу
3.1. Download HES server
$ cd ~
$ curl -O https://update.hideez.com/hes/linux_x64_latest.tar.gz
3.2. Розпакування файлів і переміщення в директорію /opt
$ tar -xvf linux_x64_latest.tar.gz
$ sudo mv HES /opt/
3.3.Конфігурація HES
Перейдіть до директорії /opt/HES/
і запустіть програму HES.Wizard
$ cd /opt/HES/
$ sudo ./HES.Wizard
Далі дотримуйтесь порад із та налаштуйте сервер.
3.4. Daemonizing of the HES
Ми вже підготували файл конфігурації для запуску та керування сервером HES у директорії /opt/HES/Deploy
. Потрібно скопіювати файл HES.service
в директорію /lib/systemd/system/
:
$ sudo cp /opt/HES/Deploy/HES.service /lib/systemd/system/HES.service
Увімкнення автозапуску:
$ sudo systemctl enable HES.service
$ sudo systemctl restart HES.service
Ви можете переконатися, що сервер HES працює за допомогою команди:
$ sudo systemctl status HES
Результат команди має бути приблизно таким:
● HES.service - Hideez Enterprise Server
Loaded: loaded (/lib/systemd/system/HES.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-05-24 11:00:26 UTC; 1min 16s ago
Main PID: 3451 (HES.Web)
Tasks: 20 (limit: 2314)
CGroup: /system.slice/HES.service
└─3451 /opt/HES/HES.Web
4. Налаштування Reverse Proxy Server
Щоб отримати доступ до свого сервера з локальної мережі, а також з Інтернету, вам потрібно налаштувати зворотний проксі. Для цього ми будемо використовувати сервер Nginx.
4.1. Встановлення Nginx
CentOS 7:
$ sudo yum install nginx -y
$ sudo systemctl enable nginx
Ubuntu:
$ sudo apt install nginx -y
4.2. Створення Self-Signed SSL Certificate для Nginx
$ sudo mkdir /etc/nginx/certs
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/certs/hes.key -out /etc/nginx/certs/hes.crt
Country Name (2 letter code) [AU]:.
State or Province Name (full name) [Some-State]:.
Locality Name (eg, city) []:.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (e.g. server FQDN or YOUR name) []:hideez.example.com
Email Address []:.
4.3. Оновлення конфігурації Nginx
Ми підготували кілька конфігурацій Nginx для різних версій Linux і розмістили їх у каталозі /opt/HES/Deploy
. Ви можете просто скопіювати відповідний файл або переглянути та відредагувати його відповідно до своїх потреб.
CentOS 7:
$ sudo cp /opt/HES/Deploy/CentOS7/nginx.conf /etc/nginx/nginx.conf
Ubuntu 18:
$ sudo cp /opt/HES/Deploy/Ubuntu18/nginx.conf /etc/nginx/nginx.conf
видалити nginx як сайт за замовчуванням:
sudo rm /etc/nginx/sites-enabled/default
Ubuntu 20:
$ sudo cp /opt/HES/Deploy/Ubuntu20/nginx.conf /etc/nginx/nginx.conf
видалити nginx як сайт за замовчуванням:
sudo rm /etc/nginx/sites-enabled/default
Ubuntu 22:
sudo cp /opt/HES/Deploy/Ubuntu22/nginx.conf /etc/nginx/nginx.conf
видалити nginx як сайт за замовчуванням:
sudo rm /etc/nginx/sites-enabled/default
Після копіювання файлу рекомендується перевірити налаштування nginx:
$ sudo nginx -t
Результат має бути приблизно таким:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
В іншому випадку слід уважно переглянути налаштування та виправити помилки.
4.4. Перезавантаження nginx
$ sudo systemctl restart nginx
4.5. Перевірте, чи встановлено та запущено службу nginx
$ sudo systemctl status nginx
Результат має буде приблизно таким:
* nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2020-01-25 08:22:56 UTC; 8min ago
Process: 1702 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 1700 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 1699 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 1704 (nginx)
CGroup: /system.slice/nginx.service
+-1704 nginx: master process /usr/sbin/nginx
+-1705 nginx: worker process