Часть 1: Предыстоия и настоящее.
Часть 2: Подготовка среды. Установка и первоначальная настройка Debian 12
Часть 3: Носители информации. RAID. Создание файловой структуры.
Часть 4: Установка компонентов WEB-сервера. Let’s Encrypt.
Часть 5: Samba и Webdav
Часть 6: Home Assistant Supervised
Часть 7: NEXTCLOUD - персональное облако.
Часть 8: Медиа-сервер. MiniDLNA/PLEX
Часть 9: Torrent-клиент. Transmission/Deluge
Часть 10: Яндекс-Диск
Часть 11: Переезд на новое железо.
Ниже описан порядок установки двух медиа-серверов MiniDLNA и Plex Media Server.
MiniDLNA дает весьма минималистичный функционал, а именно только возможность подключиться к серверу по протоколу DLNA с другого устройства, например с телевизора. Графический и webинтерфейсы отсутствуют. Настройки производятся путем редактирования config-файла. Служба MiniDLNA не требовательна к ресурсам, что важно для совсем слабых конфигураций. Кроме того в MiniDLNA бывали проблемы с обновлением базы данных при добавлении нового фильма.
Plex Media Server – это практически полноценный онлайн-кинотеатр, с функцией поиска метаданных фильмов в сети. Т.е. подключившись к нему вы увидите не список файлов, а обложки фильмов с правильными названиями, а для большинства фильмов и актерский состав и пр. информацию. Plex Media Server позволяет подключаться к себе из вне, т.е. вы можете предоставить доступ к контенту своим друзьям. Он имеет массу настроек, возможность подключения с телевизора как по протоколу DLNA, так и полноценного подключения через установленное на телевизоре приложение. Существует также мобильное приложение для просмотра на телефоне или планшете. Plexболее требователен к ресурсам, хотя моя весьма скромная конфигурация его вполне тянет.
Выбор за вами. Лично у меня установлены оба медиасервера. Они друг другу совершенно не мешают, а в ряде случаев, когда плеер Plex вдруг отказывается воспроизводить какой-то формат, собственный плеер, телевизора справляется с задачей через MiniDLNA. Редко, но бывает.
8.1. Установка и настройка MiniDLNA
8.1.1. Установка MiniDLNA:
Добавляем в исключения UFW порт 8200/tcp необходимый для работы MiniDLNA:
sudo ufw allow 8200/tcp
Устанавливаем
sudo apt install minidlna -y
Включаем автозапуск службы:sudo service minidlna enable
sudo service minidlna enable
8.1.2. Настройка конфигурации
Правим файл /etc/minidlna.conf
nano /etc/minidlna.conf
Здесь нужно прописать пуки к нашим коллекциям и снять комментарии с ряда строк.
# Путь к папке с медиа-файлами
media_dir=A,/mnt/raid_md0/Yandex/Music
media_dir=P,/mnt/raid_md0/Yandex/Foto_and_Video
media_dir=V,/mnt/raid_md0/Kino
# Путь к папке для хранения базы данных и кэша обложек альбомов
db_dir=/var/cache/minidlna
# Путь к папке с лог-файлами
log_dir=/var/log/minidlna
# Имя DLNA-сервера, отображаемое клиентом
friendly_name=My_MiniDLNA
# Автообнаружение новых файлов
inotify=yes
И сохраняем (Ctrl +O).
Перезапускаем службу.
sudo service minidlna restart
Проверяем параметры init-скрипта /etc/default/minidlna:
nano /etc/default/minidlna
Обычно корректировка не требуется. Если файл отсутствует или пустой, вставляем в него текст:
# Запускать демон, если задано "yes"
START_DAEMON="yes"
# Путь к файлу конфигурации
#CONFIGFILE="/etc/minidlna.conf"
# Путь к лог-файлу
#LOGFILE="/var/log/minidlna.log"
# Запуск от имени заданного пользователя и группы
# По умолчанию: minidlna
#USER="minidlna"
#GROUP="minidlna"
# Дополнительные ключи запуска
DAEMON_OPTS="-r"
И сохраняем (Ctrl +O).
Обращаем внимание на опцию:
DAEMON_OPTS="-r"
Опция применяет параметр при запуске службы:
-r — добавляет новые объекты в базу, удаляет несуществующие.
-R — удаляет базу и формирует заново.
Если опция отключена база данных при добавлении новых файлов обновляться не будет.
Перезапускаем службу:
sudo service minidlna restart
Проверяем статус службы:
sudo systemctl status minidlna
Должно быть что-то вроде:
Проверяем, порт:
sudo ss -4lnp | grep minidlna
Смотрим лог:
cat /var/log/minidlna/minidlna.log
В случае успешного старта, лог должен быть примерно следующим:
[2014/04/07 22:00:48] minidlna.c:1000: warn: Starting MiniDLNA version 1.1.2.
[2014/04/07 22:00:48] minidlna.c:354: warn: Creating new database at /var/lib/minidlna/files.db
[2014/04/07 22:00:48] minidlna.c:1039: warn: HTTP listening on port 8200
[2014/04/07 22:00:48] scanner.c:702: warn: Scanning /var/lib/minidlna
[2014/04/07 22:00:55] scanner.c:789: warn: Scanning /var/lib/minidlna finished (25 files)!
[2014/04/07 22:00:55] playlist.c:125: warn: Parsing playlists...
[2014/04/07 22:00:55] playlist.c:256: warn: Finished parsing playlists.
[2014/04/07 22:00:55] inotify.c:198: warn: WARNING: Inotify max_user_watches [8192] is low or close to the number of used watches [14] and I do not have permission to increase this limit. Please do so manually by writing a higher value into /proc/sys/fs/inotify/max_user_watches.
Если видим: "WARNING: Inotify max_user_watches [. . .] is low." то необходимо внести изменения в sysctl.conf
sudo nano /etc/sysctl.conf
добавим строки:
#MiniDLNA warning fix
fs.inotify.max_user_watches = 100000
Изменение параметра вступит в силу после перезагрузки системы.
reboot
После этого вы увидите в меню своего телевизора соответствующий пункт. В LG это выглядит так:
8.1.3. Сканирование медиа-библиотеки MiniDLNA
При появлении ошибок в каталоге, необходимо выполнить повторное сканирование файлов.
Для этого удалим базу Minidlna
rm /var/cache/minidlna/files.db
и перезапустим службу:
sudo minidlnad -R && systemctl restart minidlna
8.2. Установка Plex Media Server
8.2.1. Добавление в исключения UFW порты необходимые для работы Plex:
sudo ufw allow 1900/udp
sudo ufw allow 3005/tcp
sudo ufw allow 5353/udp
sudo ufw allow 8324/tcp
sudo ufw allow 32400
sudo ufw allow 32410:32414/udp
sudo ufw allow 32469/tcp
Краткое объяснение портов и их назначения:
- 1900/udp: Используется для обнаружения Plex Media Server клиентами по сети.
- 3005/tcp: Необходим для Plex Companion, функции, позволяющей управлять воспроизведением Plex с мобильного устройства.
- 5353/udp: Используется для mDNS (Multicast Domain Name System), чтобы помочь Plex обнаружить устройства в локальной сети.
- 8324/tcp: Требуется для сервера Plex DLNA.
- 32400: Порт Plex Media Server по умолчанию
- 32410:32414/udp: Используется для потоковой передачи мультимедиа клиентам.
- 32469/ tcp: Используется для потоковой передачи мультимедиа клиентам по протоколу DLNA.
8.2.2. Установка необходимых пакетов для Plex
Для установки Plex требуется установить дополнительные пакеты:
sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https curl -y
Эти пакеты предоставят инструменты для работы с репозиторием Plex, включая безопасные соединения и управление ключами GPG. Скорее всего мы их уже установили ранее, но для проверки запускаем еще раз.
Импортируем GPG-ключ Plex:
curl -fsSL https://downloads.plex.tv/plex-keys/PlexSign.key | gpg --dearmor | sudo tee /usr/share/keyrings/plex.gpg > /dev/null
Добавляем репозиторий Plex:
echo "deb [signed-by=/usr/share/keyrings/plex.gpg] https://downloads.plex.tv/repo/deb public main" | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
8.2.3. Установка и запуск Plex Media Server
Обновляем индекс пакетов, чтобы включить в него добавленный репозиторий Plex:
sudo apt update && apt upgrade -y
Устанавливаем Plex Media Server:
sudo apt install plexmediaserver
По умолчанию служба Plex Media должна запускаться автоматически. Чтобы убедиться в этом, выполним следующую команду:
systemctl status plexmediaserver
Должно появиться что-то вроде этого:
Если служба не активна, запускаем Plex Media Server:
sudo systemctl start plexmediaserver
Включаем автозапуск:
sudo systemctl enable plexmediaserver
Для перезапуска службы можно использовать команду:
sudo systemctl restart plexmediaserver
8.2.4. Настройка SSH-туннеля и первый доступ к Plex Media Server
Следующую команду нужно выполнять из-под обычного пользователя, а не из-под root.
Если в данный момент находитесь под root:
su username
где username – имя пользователя которого вы создали при установке Debian. Под root не получится.
Создаем тунyель:
ssh 192.168.2.11 -L 8888:localhost:32400
На заданный вопрос отвечаем «yes» (не «y»)и вводим свой пароль.
Непосредственно в графической оболочке сервера открываем браузер и производим первоначальную настройку. (Это можно сделать через remote desktop который мы настроили в начале).
Открываем следующий адрес:
http://localhost:8888/web
Или используйте альтернативный адрес, если этот вдруг не работает:
https://localhost:8888/web/index.html#!/setup
В процессе настройки нужно будет пройти регистрацию. Попытку продать вам платные услуги просто игнорируйте, закрыв окно. Укажите имя вашего сервера, имя и путь к вашей библиотеке фильмов (в нашем случае это: /mnt/disk_d/Kino).
После завершения начальной настройки можно получить доступ к Plex Media Server, используя IP-адрес удаленного сервера:
Если вы попробуете открыть сайт по адресу:
plex.475cloud.ru:32400
То получите предупреждение о небезопасном соединении. Исправляем это.
8.2.5. Создание файла конфигурации виртуального хоста
Возвращаемся под root:
su -
и вводим пароль.
Напоминаю, что домен 475cloud.ru - это мой тестовый домен. Везде где в именах файлов вы его видите - меняйте на свое доменное имя.
Создаем файл конфигурации:
nano /etc/apache2/sites-available/plex.475cloud.conf
Добавляем в него:
<VirtualHost *:80>
ServerName plex.475cloud.ru
ServerAlias www.plex.475cloud.ru
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName plex.475cloud.ru
ServerAlias www.plex.475cloud.ru
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains>
</IfModule>
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:32400/
ProxyPassReverse / http://127.0.0.1:32400
#Websocket proxy
<Location /:/websockets/notifications>
ProxyPass wss://127.0.0.1:32400/:/websockets/notifications
ProxyPassReverse wss://127.0.0.1:32400/:/websockets/notifications
</Location>
</VirtualHost>
И сохраняем (Ctrl +O).
Включаем сайт (в /etc/apache2/sites-enabled создается ссылка на файл конфигурации виртуального хоста):
sudo a2ensite plex.475cloud.conf
Перезапускаем Apache:
sudo systemctl restart apache2
Если после перезапуска Apache выводится сообщение об ошибке 4.3 части 4 этой серии статей.
8.2.6. Установка сертификата Let’s Encrypt
Устанавливаем SSL-сертификат:
sudo certbot --apache -d plex.475cloud.ru -d www.plex.475cloud.ru
Перезапускаем Apache:
sudo systemctl restart apache2
После перезапуска Apache можно получить доступ к Plex Media Server, используя web-адрес:
Для включения DLNA зайдите в настройки (гаечный ключ в правом верхнем углу) и в пункте DLNAвключите:
После этого вы увидите в меню своего телевизора соответствующий пункт:
Так же вы можете установить Plexнепосредственно на ваш телевизор и полностью наслаждаться прелестями собственного онлайн-кинотеатра подключившись к своему серверу. Он доступен на телевизорах большинства известных производителей.
Часть 1: Предыстоия и настоящее.
Часть 2: Подготовка среды. Установка и первоначальная настройка Debian 12
Часть 3: Носители информации. RAID. Создание файловой структуры.
Часть 4: Установка компонентов WEB-сервера. Let’s Encrypt.
Часть 5: Samba и Webdav
Часть 6: Home Assistant Supervised
Часть 7: NEXTCLOUD - персональное облако.
Часть 8: Медиа-сервер. MiniDLNA/PLEX
Часть 9: Torrent-клиент. Transmission/Deluge
Часть 10: Яндекс-Диск
Часть 11: Переезд на новое железо.