Чтобы клиенты могли увидеть DLNA-сервер, необходимо, чтобы они находились в одном широковещательном домене. qBittorrent NOX позволит через веб-интерфейс скачивать необходимые файлы. Хранилище под файлы будет на HDD, система на SSD.
Стенд:
Все это настраивалось на следующих версиях ПО:
- Debian: Bullseye;
- qBittorrent-NOX: 4.2.5;
- MiniDLNA: 1.3.0;
Подготовка:
Создаем раздел под хранилище:
Определяемся какой диск будем разбивать на разделы:
# lsblk
Разбиваем на разделы нужный диск:
# fdisk /dev/sdb
# n
# p
- Проверяем
# p
- Записываем изменения:
# w
# q
Формантируем раздел:
# mkfs.ext4 -L dlna /dev/sdb1
Обновляемся до актуального состояния:
# apt update && apt upgrade
Создаем пользователя:
C отключенным шелом и одноименной группой.
# useradd dlna -b /home/ -m -U -s /bin/false
- задаем пароль
# passwd dlna
Создаем директорию куда будет монтироваться HDD диск:
# mkdir /home/dlna/share
Узнаем UUID диска и монтирум:
# lsblkid
# nano /etc/fstab
# dlna
UUID= /mnt/data ext4 noatime,defaults 0 0
Перезагружаемся.
qBittorrent NOX:
# apt install qbittorrent-nox
Автостарт демона с помощью systemd:
# nano /etc/systemd/system/qbittorrent-nox.service
Показать листинг:
[Unit]
Description=qBittorrent Daemon Service
After=network.target
[Service]
#Do not change to "simple"
Type=forking
User=dlna
Group=dlna
UMask=007
ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8081
Restart=on-failure
[Install]
WantedBy=multi-user.target
- Управление демоном:
# systemctl daemon-reload
# systemctl start qbittorrent-nox
# systemctl enable qbittorrent-nox
# systemctl status qbittorrent-nox
Автостарт демона с помощью init.d:
Показать листинг:
# wget -O /etc/init.d/qbittorrent-nox-daemon https://launchpadlibrarian.net/38905385/qbittorrent
# chmod 755 /etc/init.d/qbittorrent-nox-daemon
# update-rc.d qbittorrent-nox-daemon defaults
- Удалить,
# update-rc.d -f qbittorrent-nox-daemon remove
# nano /etc/init.d/qbittorrent-nox-daemon
DAEMON_ARGS="--webui-port=8081"
USER=dlna
- Управление демоном:
# service qbittorrent-nox-daemon start
# service qbittorrent-nox-daemon stop
# service qbittorrent-nox-daemon restart
# service qbittorrent-nox-daemon status
Обычный запуск:
# qbittorrent-nox
Конфигурационный файл:
# nano ~/.config/qBittorrent
Включаем поддержку HTTPS:
С помощью самоподписанного сертификата.
# mkdir /home/dlna/.config/qBittorrent/ssl
# openssl req -x509 -nodes -days 1095 -newkey rsa:2048 -keyout /home/dlna/.config/qBittorrent/ssl/dlna.int.lan.key -out /home/dlna/.config/qBittorrent/ssl/dlna.int.lan.crt
# chown -R dlna:dlna /home/dlna/.config/qBittorrent/
- Настройка key и .crt:
# nano /home/dlna/.config/qBittorrent/qBittorrent.conf
WebUI\HTTPS\Enabled=true
WebUI\HTTPS\CertificatePath=/home/dlna/.config/qBittorrent/ssl/dlna.int.lan.crt
WebUI\HTTPS\KeyPath=/home/dlna/.config/qBittorrent/ssl/dlna.int.lan.key
- Перезапускаем сервис:
# service qbittorrent-nox restart
MiniDLNA:
# apt install minidlna
Настройка демона:
# nano /etc/init.d/minidlna
USER=dlna
GROUP=dlna
# systemctl daemon-reload
# chown -R dlna:dlna /var/cache/minidlna/
Конфигурационный файл:
# cp /etc/minidlna.conf{,.bkp}
# nano /etc/minidlna.conf
user=dlna
media_dir=A,/home/dlna/share/music
media_dir=P,/home/dlna/share/pictures
media_dir=V,/home/dlna/share/videos
media_dir=AV,/home/dlna/share/bit-torrent
log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=error
friendly_name=Media-Server
Создаем каталоги под наши файлы:
# mkdir -p /mnt/data/dlna/{music,pictures,videos,bit-torrent}
- Устанавливаем права:
# chown -R dlna:dlna /mnt/data/dlna/
- Рестартуем демон:
# /etc/init.d/minidlna restart
Для принудительного повторного сканирования:
Удалит кэшированные данные и базу из "/var/cache/minidlna/".
# minidlnad -R
Правим sysctl.conf:
Иначе будет ругаться в логах на эту настройку.
# nano /etc/sysctl.conf
# MiniDLNA
fs.inotify.max_user_watches = 100000
# sysctl -p
Проверяем логи и смотрим статистику:
# less /var/log/minidlna/minidlna.log
http://dlna.int.lan:8200/
Автосгенерированный systemd сервис:
# find /etc/systemd/system/ -name "*minidlna*"
# nano /etc/systemd/system/multi-user.target.wants/minidlna.service
User=dlna
Group=dlna
# systemctl daemon-reload
# systemctl status minidlna.service
Настройка ротации логов:
# nano /etc/logrotate.d/minidlna
create 0644 dlna dlna
Полезные ссылки: