Ранее "Инструмент управления Android устройствами в ЛВС" я уже разворачивал Headwind MDM на Ubuntu 22.04 Server где все расписал от и до, но это было год назад и тогда была версия 5.25, сейчас на 28.04.2025 уже версия 5.33 – и хочу посмотреть что изменилось может все же стоит приобщиться к использованию. Если вспомнить что я тестировал, то функционал даже бесплатного впечатляет, ведь управлять всем парком мобильных устройств, да еще где все под Вашим контролем – это то, о чем может мечтать нормальный системный администратора. Что ж пора вспомнить и потестить обновленную версию.

На заметку: Заметка пишется в первую очередь для себя для своего в последующем практического применения.

Шаг №1: На своем тестовом полигоне под управлением Debian 10 + Proxmox 6.4-13 создаю виртуальную машину опираясь на минимальные требования к системе:

  • Name: srv-mdm
  • OS: Ubuntu 22.04 Server
  • IP&DNS: Статический (фиксирую его на своем домашнем роутере Mikrotik rb2011UiAS-2Hnd-IN)
  • RAM: 4Gb
  • CPU: 2
  • SSD: 20Gb

На заметку: У системы должен быть выход в интернет для скачивания пакетов.

Шаг №2: Обновляю установленную систему до самого последнего релиза в рамках текущего LTS релиза для Ubuntu 22.04 Server на момент написания заметки:

ekzorchik@srv-mdm:~$ sudo nano /etc/update-manager/release-upgrades

[DEFAULT]

Prompt=never

ekzorchik@srv-mdm:~$ sudo rm -rf /var/lib/apt/lists

ekzorchik@srv-mdm:~$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo apt-get autoremove -y

ekzorchik@srv-mdm:~$ sudo reboot

ekzorchik@srv-mdm:~$ uname -a && lsb_release -a

Linux srv-mdm 5.15.0-138-generic #148-Ubuntu SMP Fri Mar 14 19:05:48 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 22.04.5 LTS

Release:        22.04

Codename:       jammy

ekzorchik@srv-mdm:~$

Шаг №3: Настройки синхронизации времени и настройки локали:

см заметку: "Настраиваем службу времени в Ubuntu 22.04 Server"

Шаг №4: Произвожу установку пакетов перед установкой:

ekzorchik@srv-mdm:~$ sudo apt install -y aapt tomcat9 postgresql vim certbot unzip net-tools unzip

Шаг №5: Поднимаю сервис базы данных Postgres:

ekzorchik@srv-mdm:~$ sudo su - postgres

postgres@srv-mdm:~$ psql

psql (14.17 (Ubuntu 14.17-0ubuntu0.22.04.1))

Type "help" for help.

postgres=#

postgres=# CREATE USER us_hmdm WITH PASSWORD 'Aa1234567aA';

CREATE ROLE

postgres=# CREATE DATABASE db_hmdm WITH OWNER=us_hmdm;

CREATE DATABASE

postgres=# exit

postgres@srv-mdm:~$ logout

ekzorchik@srv-mdm:~$

Шаг №6: Скачиваю самую последнюю версию hmdm (Headwind MDM) на момент написания текущей заметки и устанавливаю на текущей системе Ubuntu 22.04 Server:

ekzorchik@srv-mdm:~$ wget https://h-mdm.com/files/hmdm-5.33-install-ubuntu.zip

ekzorchik@srv-mdm:~$ unzip hmdm-5.33-install-ubuntu.zip

ekzorchik@srv-mdm:~$ ls -l hmdm-install/hmdm_install.sh

-rwxr-xr-x 1 ekzorchik ekzorchik 19439 Mar 25 15:05 hmdm-install/hmdm_install.sh

ekzorchik@srv-mdm:~$

ekzorchik@srv-mdm:~$ cd hmdm-install/

ekzorchik@srv-mdm:~/hmdm-install$ sudo ./hmdm_install.sh

Please choose the installation language (en/ru) [en]: ru

PostgreSQL database setup

=========================

Make sure you've installed PostgreSQL and created the database.

If you didn't create a database yet, please click Ctrl-C to break,

then execute the following commands:

-------------------------

su postgres

psql

CREATE USER hmdm WITH PASSWORD 'topsecret';

CREATE DATABASE hmdm WITH OWNER=hmdm;

\q

exit

-------------------------

PostgreSQL host [localhost]: localhost

PostgreSQL port [5432]: 5432

PostgreSQL database [hmdm]: db_hmdm

PostgreSQL user [hmdm]: us_hmdm

PostgreSQL password: Aa1234567aA

File storage setup

==================

Please choose where the files uploaded to Headwind MDM will be stored

If the directory doesn't exist, it will be created

##### FOR TOMCAT 9, USE SANDBOXED DIR: /var/lib/tomcat9/work #####

Headwind MDM storage directory [/var/lib/tomcat9/work]: /var/lib/tomcat9/work

Please choose the directory where supply scripts will be located.

Headwind MDM scripts directory [/opt/hmdm]: /opt/hmdm

Web application setup

=====================

Headwind MDM requires access from Internet

Please assign a public domain name to this server

Protocol (http|https) [https]: http

Domain name or public IP (e.g. example.com): 172.33.33.125

Port (e.g. 8080, leave empty for default ports 80 or 443):

Project path on server (e.g. /hmdm) or ROOT: ROOT

To enable password recovery function, Headwind MDM must be connected to SMTP.

Password recovery is an optional but recommended feature.

Setup SMTP credentials [Y/n]?: n

Ready to install!

Location on server: /var/lib/tomcat9/work

URL: http://172.33.33.125

Is this information correct [Y/n]? Y

Waiting for undeploying the previous version

..........

Tomcat config file created: /var/lib/tomcat9/conf/Catalina/localhost/ROOT.xml

Deploying hmdm-5.33.2-os.war to Tomcat: /var/lib/tomcat9/webapps/ROOT.war

............

ожидаю…

Deploying hmdm-5.33.2-os.war to Tomcat: /var/lib/tomcat9/webapps/ROOT.war

........................................................................................................................

ERROR: failed to deploy WAR file!

Please check /var/lib/tomcat9/logs/catalina.out for details.

ekzorchik@srv-mdm:~/hmdm-install$

как и в прошлый раз запускаю установку заново

ekzorchik@srv-mdm:~/hmdm-install$ sudo ./hmdm_install.sh

Minimal installation of Headwind MDM has been done!

At this step, you can open in your web browser:

http://172.33.33.125:8080

Login: admin:admin

======================================

Setup HTTPS via LetsEncrypt [Y/n]?: n

Use iptables to redirect port 443 to 8443 [Y/n]?: n

Move required APKs from h-mdm.com to your server [Y/n]?: Y

и начинается процесс скачивания и установки, а по итогу получаем:

======================================

Headwind MDM installation is completed!

To access your web panel, open in the web browser:

http://172.33.33.125

Login: admin:admin

======================================

ekzorchik@srv-mdm:~/hmdm-install$

Шаг №7: Проверяю, на какие порты развернутый сервис ожидает подключения с учетом выполненного выше:

ekzorchik@srv-mdm:~/hmdm-install$ cd ~

ekzorchik@srv-mdm:~$ sudo netstat -tulpn

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name

tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      558/systemd-resolve

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      3745/postgres

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      663/sshd: /usr/sbin

tcp6       0      0 :::8080                 :::*                    LISTEN      5476/java

tcp6       0      0 172.33.33.125:31000     :::*                    LISTEN      5476/java

tcp6       0      0 :::22                   :::*                    LISTEN      663/sshd: /usr/sbin

udp        0      0 127.0.0.53:53           0.0.0.0:*                           558/systemd-resolve

udp        0      0 172.33.33.125:68        0.0.0.0:*                           511/systemd-network

ekzorchik@srv-mdm:~$

Из вывода выше вижу, как и было в прошлый раз, сервис слушает порт 8080, но если вспомнить, то все ссылки в нем работают если порт 80 и нужно настроить обратный прокси.

Шаг №8: Применяем заметку: "Обратный прокси для Headwind MDM"

Шаг №9: Первый вход в сервис осуществляется через URL ссылку вида: http://172.33.33.125

  • Имя пользователя или email: указываю admin (по дефолту)
  • Пароль: указываю admin (по дефолту)

Авторизуюсь с дефолтной связкой аутентификации на Headwind MDM.

и нажимаю "Войти", после мастер предлагает установить новый пароль

  • Новый пароль: указываю 712mbddr@
  • Подтверждение: подтверждаю 712mbddr@

Задаю новый пароль для входа в Headwind MDM.

и нажимаю "Установить пароль"

Вижу, что Web-интерфейс администрирования выглядит точно так же, как и в той версии с которой я начинал свое знакомство. С одной стороны, это хорошо, можно вспомнить или ориентироваться на свои заметки быстро начать тестировать и применять:

Web-интерфейс Headwind MDM вроде аналогичен той версии что я использовал ранее.

По итогу, буду тестировать на новой версии все то что смотрел ранее и уже с учетом наработок составлять практические заметки.

На этом пока заметку завершаю, с уважением автор блога Олло Александр aka ekzorchik.