Точка распространения пакетов (Package Distribution Point) — это сервер, который хранит установочные файлы приложений (в формате .pkg) и предоставляет к ним доступ через протокол HTTP/HTTPS или SMB. Ринго использует эту точку для автоматической установки приложений на управляемые устройства через политики.
Обновите список пакетов:
apt update
Установите веб-сервер Nginx:
apt install nginx
Создайте файл конфигурации для WebDAV-сервера:
nano /etc/nginx/sites-available/webdav.conf
Добавьте следующее содержимое в файл:
server {
listen 8444;
client_max_body_size 0;
proxy_read_timeout 300; # answer from server, 5 min
proxy_send_timeout 300; # chunks to server, 5 min
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
port_in_redirect off;
access_log /var/log/nginx/webdav.access.log;
error_log /var/log/nginx/webdav.error.log;
location / {
root /var/webdav;
client_body_temp_path /tmp/nginx;
dav_access user:r group:r all:r;
autoindex on;
auth_basic "restricted";
auth_basic_user_file /etc/nginx/.credentials.list;
}
}
Активируйте конфигурацию, создав символическую ссылку:
ln -s /etc/nginx/sites-available/webdav.conf /etc/nginx/sites-enabled/webdav.conf
Установите необходимый пакет для генерации хешей паролей:
apt install apache2-utils
Создайте пользователя для доступа к WebDAV. В этом примере используется логин ringoshare:
htpasswd -c /etc/nginx/.credentials.list ringoshare
Команда htpasswd запросит ввод пароля дважды для подтверждения. Запишите эти учётные данные — они понадобятся при подключении точки распространения в Ринго.
Создайте директорию для хранения пакетов:
mkdir /var/webdav
Установите права доступа на эту директорию:
chmod -R 0755 /var/webdav
Создайте временную директорию для работы Nginx:
mkdir /tmp/nginx
Назначьте владельца временной директории:
chown www-data:www-data /tmp/nginx/
Удалите конфиг по умолчанию, если настраиваете WebDAV на сервере с Ринго, чтобы избежать конфликта из-за использования 80-го порта.
rm sites-enabled/default
Примените все изменения, перезапустив Nginx:
service nginx restart
Проверьте статус сервиса:
service nginx status
Если всё настроено правильно, вы увидите сообщение active (running).
Fail2Ban — это система защиты, которая автоматически блокирует IP-адреса при множественных неудачных попытках авторизации.
Установите пакет Fail2Ban:
apt install fail2ban
Создайте или замените файл конфигурации Fail2Ban:
nano /etc/fail2ban/jail.conf
Добавьте следующее содержимое:
[INCLUDES]
before = paths-debian.conf
[DEFAULT]
bantime = 1440m
findtime = 10m
maxretry = 3
maxmatches = %(maxretry)s
backend = auto
usedns = warn
logencoding = auto
enabled = true
mode = normal
filter = %(__name__)s[mode=%(mode)s]
protocol = tcp
chain = <known/chain>
port = 0:65535
fail2ban_agent = Fail2Ban/%(fail2ban_version)s
banaction = iptables-multiport
action_ = %(banaction)s[port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
action = %(action_)s
[nginx-http-auth]
enabled = true
port = 8444
logpath = %(nginx_error_log)s
Описание ключевых параметров:
bantime = 1440m — время блокировки IP-адреса (1440 минут = 24 часа)findtime = 10m — временное окно для подсчёта неудачных попыток (10 минут)maxretry = 3 — максимальное количество неудачных попыток авторизацииport = 8444 — порт, на котором работает WebDAV-серверlogpath — путь к лог-файлу Nginx для отслеживания попыток авторизацииПримените настройки, перезапустив сервис:
service fail2ban restart
Проверьте статус:
service fail2ban status


В открывшемся окне укажите следующие параметры:
HTTP/HTTPShttp://webdav.ringomdm.ru)8444ringoshare)htpasswdBasic
Используйте тип аутентификации Basic для простых конфигураций. Если требуется повышенная безопасность, рассмотрите использование Digest аутентификации и настройте её на сервере Nginx.

| Поле | Значение |
|---|---|
| Протокол | SMB |
| Сервер | FQDN или IP сервера Samba (без smb:// и без слэшей) |
| Порт | 445 |
| Название точки распространения пакетов | ringo-packages — имя шары в квадратных скобках, не путь |
| Логин на чтение | ringo-ro |
| Пароль на чтение | пароль, заданный через smbpasswd |
| Отображаемое имя | произвольное, для интерфейса |
Пакеты кладите в корень шары, имена файлов — латиницей без пробелов, права
0644; и если между сервером Ринго и точкой распространения есть NAT или firewall, SMB чувствителен к таймаутам — стоит сразу проверить загрузку крупного.pkg, а не только листинг каталога.
Пример настройки Samba для подключения к Ринго доступен по ссылке.
Загрузите установочные пакеты (в формате .pkg) на сервер точки распространения.
Если ваше приложение имеет формат .dmg или .app, обратитесь к этому разделу документации, чтобы преобразовать его в .pkg.
Google Chrome)GoogleChrome.pkg)
Важно! Имя файла должно точно совпадать с именем файла в каталоге
/var/webdavна сервере, включая регистр символов и расширение.pkg.
Теперь зарегистрированный пакет доступен для установки на управляемые устройства через политики Ринго.
Пакеты в Ринго распространяются с использованием политик.
Подробнее о создании и настройке политик для распространения пакетов см. в разделе документации. Руководство по работе с политиками.