Настройка сервера для реального использования
По умолчанию, установка веб-панели Headwind MDM проходит достаточно просто, и дает возможность изучить возможности MDM-системы. Однако такая установка имеет некоторые недостатки, препятствующие ее использованию в «боевом режиме». Вот какие опции обычно требуются от корпоративного MDM сервера:
- Использование последней версии ОС
- Безопасное подключение через HTTPS
- Установка в корневую директорию домена
- Отсутствие ссылок на внешние ресурсы
Пошаговая инструкция
Требования
- Сервер (можно VM) с Ubuntu 20.10
- Публичный IP адрес
- Доменное имя, соответствующее этому адресу (в примере — build.h-mdm.com)
Настройка производится под учетной записью root.
1. Установка требуемого ПО
# apt update # apt install openjdk-8-jdk aapt tomcat9 postgresql vim
Обратите внимание: версия Tomcat 9, устанавливаемая через apt в Ubuntu 20.04 (9.0.31) содержит баг, связанный с передачей файлов через HTTPS, и Headwind MDM при использовании HTTPS-протокола не будет работать с этой версией.
Решением будет либо использовать Ubuntu 18.04, либо (рекомендуется) обновить Tomcat до последней версии вручную.
Чтобы увидеть версию Tomcat, выполните команду:
# /usr/share/tomcat9/bin/version.sh
Для обновления Tomcat до правильной версии (в примере ниже, будет обновляться до 9.0.40), выполните следующие команды:
# VERSION=9.0.40 # wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.40/bin/apache-tomcat-${VERSION}.tar.gz # tar -zxf apache-tomcat-${VERSION}.tar.gz # cd apache-tomcat-${VERSION} # chmod a+x bin # chmod a+x lib # chmod -R a+r bin # chmod -R a+r lib # chmod a+x bin/*.sh # mv /usr/share/tomcat9/bin /usr/share/tomcat9/bin~ # mv /usr/share/tomcat9/lib /usr/share/tomcat9/lib~ # cp -r bin /usr/share/tomcat9 # cp -r lib /usr/share/tomcat9 # service tomcat9 restart
Обратите внимание, что apt на Ubuntu 20.10 устанавливает Tomcat version 9.0.37-3, которая не содержит этого бага и работает корректно.
2. Настройка базы данных
# su postgres # psql postgres=# CREATE USER hmdm WITH PASSWORD 'topsecret'; postgres=# CREATE DATABASE hmdm WITH OWNER=hmdm; # exit
Внимание: для большей безопасности, используйте свой пароль. Этот пароль будет использоваться на 4-м шаге при запуске скрипта установки Headwind MDM.
3. Сборка Headwind MDM
# git clone https://github.com/h-mdm/hmdm-server.git # cd hmdm-server/ # apt install maven # mvn install
Альтернатива: загрузите инсталлятор
URL последней версии инсталлятора Headwind MDM можно найти на странице «Загрузки».
# wget https://h-mdm.com/files/hmdm-3.31-install-ubuntu.zip # apt install unzip # unzip hmdm-3.31-install-ubuntu.zip # cd hmdm-install/
4. Установка Headwind MDM
# ./hmdm_install.sh
Важно: на Tomcat 9 нужно использовать специальную директорию вместо предлагаемой инсталлятором, так как Tomcat 9 имеет ограниченный доступ к файловой системе.
Для установки в корневую директорию домена, наберите ROOT, когда инсталлятор спросит про поддиректорию. А чтобы использовать на HTTPS порту (443), оставьте поле «порт» пустым.
На этом этапе вы можете уже проверить, что веб-панель Headwind MDM работает, попытавшись открыть http://build.h-mdm.com:8080 в браузере. Это финальный шаг «тестовой» установки, но для настройки «боевого» сервера нужно выполнить еще несколько действий.
Если же на этом этапе возникли проблемы, то для диагностики нужно посмотреть журнал Tomcat — в версии 9 он выводится в системный журнал Linux:
journalctl -u tomcat9.service
5. Настройка HTTPS через LetsEncrypt
Внимание: LetsEncrypt — это бесплатный сертификат, который требует обновления каждые 3 месяца. Вы можете использовать иной HTTPS сертификат: посмотрите, как установить его, здесь.
5.1. Получение сертификата
# apt install certbot # vim ./letsencrypt-ssl.sh
Мы предполагаем, что вы знаете, как использовать текстовый редактор vim. Вы можете использовать любой другой текстовый редактор, а также прочитать про использование vim здесь.
Измените одну строчку в скрипте letsencrypt-ssl.sh:
DOMAIN=your-domain.com -> DOMAIN=build.h-mdm.com
После обновления скрипта, запустите его и получите сертификат (ответьте на вопросы LetsEncrypt, которые он задаст в процессе получения сертификата).
# ./letsencrypt-ssl.sh
5.2. Настройте HTTPS в конфигурации Tomcat
Скрипт letsenscrypt-ssl.sh выводит требуемый блок конфигурации. Конфигурационный файл server.xml уже содержит блок для настройки HTTPS в закомментированном виде. Вам нужно раскомментировать его, а также настроить путь к файлу сертификата и пароль.
vim /var/lib/tomcat9/conf/server.xml
После внесения изменений в конфигурацию, перезапустите Tomcat для применения настроек.
# service tomcat9 restart
Чтобы протестировать этот этап, откройте в браузере https://build.h-mdm.com:8443.
5.3. Настройка автоматического обновления сертификата
LetsEncrypt требует обновления сертификата раз в три месяца. Чтобы избежать проблем с сервисом, лучше проверять необходимость обновления более часто. Мы рекомендуем запускать скрипт обновления сертификатов раз в неделю (он автоматически определит, требует ли сертификат обновления, и обновит его).
Для запуска скрипта автоматического обновления раз в неделю, добавьте в crontab строку (используйте команду «crontab -e»):
0 5 * * 1 /root/hmdm-server/letsencrypt-ssl.sh
Числа в этой строке обозначают минуту, час и день недели, когда запускается скрипт. В этом примере, скрипт запускается в понедельник, в 5 часов утра.
Внимание: проверьте путь к скрипту! Можно скопировать скрипт в общую директорию, например, /usr/local/bin
6. Настройка работы по стандартному HTTPS порту
Томкат принимает HTTPS запросы на порту 8443. Чтобы перенаправить запросы со стандартного HTTPS порта (443) на 8443, можно использовать iptables.
Внимание: эти инструкции будут работать только в случае, если ваш сервер имеет публичный IP-адрес. Если сервер находится за NAT, то необходимо настраивать перенаправление на вашем брандмауэре (инструкция здесь).
6.1. Определение внешнего сетевого интерфейса
# ifconfig
Эта команда выводит информацию о всех сетевых интерфейсах на сервере. Как правило, это внешний сетевой интерфейс, LAN интерфейс (по соглашению, он имеет вид 192.168.x.x или 10.x.x.x), а также локальный интерфейс (по соглашению, 127.0.0.1). Вам нужно найти внешний сетевой интерфейс и использовать его в настройке iptables.
6.2. Настройка iptables
Создайте файл, например, /etc/iptables-tomcat.sh и добавьте туда следующие строки.
/sbin/iptables -A PREROUTING -t nat -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443 /sbin/iptables -A OUTPUT -t nat -o lo -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443
Предоставьте файлу разрешение на исполнение, и выполните его:
# chmod +x /etc/iptables-tomcat.sh # /etc/iptables-tomcat.sh
Чтобы сделать настройку iptables перманентной, сделайте, чтобы скрипт запускался при загрузке системы, добавив следующую строку в crontab:
@reboot /etc/iptables-tomcat.sh
Для модификации crontab, используйте команду «crontab -e».
7. Откройте веб-панель Headwind MDM
Этот шаг завершает установку. Вам нужно провести тесты, чтобы проверить, что Headwind MDM работает, а также перенести требуемые файлы мобильных приложений (APK) из внешнего источника на ваш сервер.
7.1. Проверьте, что URL работает
https://build.h-mdm.com должен открывать веб-панель Headwind MDM.
Логин и пароль по умолчанию admin:admin (не забудьте изменить пароль, нажав admin в правом верхнем углу, и затем Профиль!)
7.2. Перенесите APK файлы на ваш сервер
Инсталлятор Headwind MDM по умолчанию загружает требуемые APK файлы с веб-сайта https://h-mdm.com. Вы можете изменить это поведение, разместив файлы на вашем сервере.
Выберите вкладку Приложения и снимите флажок «Показывать системные приложения». Вы увидите ссылки, ведущие на h-mdm.com. Скопируйте ссылку и сохраните файл APK на ваш компьютер.
Нажмите Добавить, чтобы загрузить APK на ваш сервер.
После нажатия «Сохранить», Headwind MDM спросит вас, что вы хотите добавить, новое приложение или новую версию. Выберите «Новая версия», чтобы изменить местоположение файла по умолчанию (h-mdm.com).
На последнем экране добавления приложения ничего изменять не требуется, просто нажмите «Сохранить».
Повторите эту процедуру для каждого APK файла.
7.3. Проверьте QR код инициализации устройств
Откройте вкладку Устройства и нажмите на иконку QR кода.
Если QR код открывается, установка Headwind MDM завершена, поздравляем!
Следующий шаг — настройка мобильного устройства. Посмотрите видео, как это делается: