Готовый сервер из коробки. Все необходимые телодвижения для нормальной работы и наслаждения просмотром и прослушивания собственной медиа коллекции. Без лишней воды о том что это за зверь и почему именно он выбран. Так сказать мануал создан по ходу установки и настройки, а так же косяки, которые возникли учтены на этапах подготовки.
Установка Plex
Установка Plex из репозитория
Проверить установлена ли утилита curl
, что бы проверить набрать показать версию приложения:
curl -V
или
sudo apt list --installed curl
Если не будет выведена информация, то установить:
sudo apt install curl
Импортировать ключ GPG репозитория:
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
Добавить репозиторий Plex:
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
Проверить установлен ли пакет apt-transport-https
:
sudo apt list --installed apt-transport-https
Если не установлен, то установить:
sudo apt install apt-transport-https
Обновить список пакетов:
sudo apt update
Установить Plex Media Server:
sudo apt install plexmediaserver -y
Установка Plex скачав deb пакет
Так же можно установить медиасервер скачав пакет с официального сайта. Минус данного способа установки в том, что не будет автоматического обновления. Придется каждый раз скачивать свежую версию и устанавливать.
Зайти на страницу загрузки, выбрать версию для линукс, нажать Выберите распределение навести курсор на Ubuntu (16.04+) / Debian (8+) - Intel/AMD 64-bit
нажать правую кнопку мыши и Скопировать ссылку. Ссылка будет примерно такого типа:
https://downloads.plex.tv/plex-media-server-new/1.31.1.6733-bc0674160/debian/plexmediaserver_1.31.1.6733-bc0674160_amd64.deb?_gl=1*saxi9i*_ga*NTkzMDgyNzM4LjE2NzcyNDAxNzQ.*_ga_G6FQWNSENB*MTY3Nzg3NTM3MC42LjEuMTY3Nzg3NTcxOC4wLjAuMA..
Все что в ссылке после знака вопрос можно удалить .deb?
Скачиваем пакет:
curl -O (Ссылка, которую скопировали ранее)
Посмотреть и скопировать название .deb
файла:
ls
Устанавливаем Plex введя имя пакета, который скачали:
sudo dpkg -i plexmediaserver_1.31.1.6733-bc0674160_amd64.deb
Настройка файервола UFW для Plex
Пакет правил для Plex
Создать новые правила UFW
sudo nano /etc/ufw/applications.d/ufw-plex-mediaserver
[Plex]
title=Plex Mediaserver
description=Plex Mediaserver
ports=32400/tcp
[Plex-DLNA]
title=Plex Mediaserver (DLNA)
description=Plex Mediaserver (DLNA)
ports=32469/tcp,1900/udp
[Plex-ALL]
title=Plex Mediaserver (ALL)
description=Plex Mediaserver (ALL)
ports=32400,32469,8324/tcp|1900,5353,32410,32412,32413,32414/udp
Сохранить файл Ctrl+O Enter, закрыть Ctrl+X
Какие порты открывать читать на сайте поддержки Plex
Открыть доступ к серверу Plex
sudo ufw allow Plex
Настройка Fail2Ban для Plex
Помню, что когда то попадалась грамотная статья, но забыл где сохранил. Поэтому пока вот такая ссылка с форума, не пробовал еще.
Регистрация аккаунта Plex
Зайти на сайт https://www.plex.tv/. В правом верхнем углу нажать Sign Up выбрать подходящий способ регистрации. Это нужно для последующего использования медиа сервера, а так же удаленного доступа к нему.
Установка настройка transmission
Для наполнения медиа сервера контентом использую торрент клиент Transmission для сервера
Установка из репозитория
sudo apt install transmission-daemon -y
Остановка Transmission-daemon
Для дальнейшей настройки необходимо остановить Transmission-daemon
sudo systemctl stop transmission-daemon.service
Проверка работы демона
sudo systemctl status transmission-daemon.service
Пользователи будут добавлены чуть ниже по плану.
Настройка Transmission-daemon
Сделать копию конфига на всяк случай, если что-то пойдет не так, а это возможно. В каталог пользователя сервера например так:
sudo cp -R /etc/transmission-daemon /home/wildserver/.config
Открываем файл настроек:
sudo nano /etc/transmission-daemon/settings.json
Минимальные настройки для функционирования, остальные можно сделать в приложении. Но после рестарта сервера или демона настройки сделанные в приложении придется заново вводить. Более тонкие настройки позже в процессе эксплуатации. Найти строчки заменить или дописать.
...
#Найти
"bind-address-ipv4": "0.0.0.0",
#Заменить на
"bind-address-ipv4": "айпи сервера в локальной сети",
...
#Найти
"blocklist-enabled": false,
"blocklist-url": "http://www.example.com/blocklist",
#Заменить на
"blocklist-enabled": true,
"blocklist-url": "https://github.com/Naunter/BT_BlockLists/raw/master/bt_blocklists.gz",
...
#Найти
"download-dir": "/var/lib/transmission-daemon/downloads",
#Заменить на
"download-dir": "/home/media/download-torrents",
...
#Найти
"incomplete-dir": "/var/lib/transmission-daemon/Downloads",
"incomplete-dir-enabled": false,
#Заменить на
"incomplete-dir": "/home/media/download-torrents",
"incomplete-dir-enabled": true,
...
#Найти
"port-forwarding-enabled": false,
#Заменить на
"port-forwarding-enabled": true,
...
#Найти
"rpc-bind-address": "0.0.0.0",
#Заменить на
"rpc-bind-address": "айпи сервера в локальной сети",
...
#Найти
"rpc-password": "*************************************",
#Заменить на
"rpc-password": "ПАРОЛЬ",
...
#Найти
"rpc-username": "transmission",
"rpc-whitelist": "127.0.0.1",
#Заменить на
"rpc-username": "Имя Пользователя для входа",
"rpc-whitelist": "127.0.0.1,192.168.*.*,IP-адреса с которых можно заходить",
Сохранить файл Ctrl+O Enter, закрыть Ctrl+X
Небольшие пояснения к настройкам Transmission
Все что начинается с rpc относится к настройкам веб морды. По умолчанию включено:
"rpc-enabled": true,
Введенный пароль после запуска демона перекодируется в хэш, так что вводить можно удобочитаемый пароль.
"rpc-password": "ПАРОЛЬ",
Большинство роутеров и маршрутизаторов имеют функцию UPnP, трансмиссион автоматически попробует пробросить порт 51413, эта функция включена по умолчанию:
"port-forwarding-enabled": true,
Если в маршрутизаторе отключена данная функция, проброс портов делается вручную или включением UPnP.
Немного не понял зачем данная функция. Понятно, что для блокировки получения данных с перечисленных адресов, что если не сделать такую блокировку, то случится что то непонятное и плохое. Лишним не будет ее включить:
"blocklist-enabled": true,
Ссылку на список блэклиста можно получить на гитхабе и вставить:
"blocklist-url": "https://github.com/Naunter/BT_BlockLists/raw/master/bt_blocklists.gz",
Можно заморочится позже и дошлифовать наличие таких листов.
Для примера рабочий конфиг
{
"alt-speed-down": 100000,
"alt-speed-enabled": true,
"alt-speed-time-begin": 420,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": true,
"alt-speed-time-end": 1439,
"alt-speed-up": 0,
"bind-address-ipv4": "192.168.30.33",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"blocklist-url": "https://github.com/Naunter/BT_BlockLists/raw/master/bt_blocklists.gz",
"cache-size-mb": 4,
"dht-enabled": true,
"download-dir": "/home/media/download-torrents",
"download-limit": 100,
"download-limit-enabled": 0,
"download-queue-enabled": true,
"download-queue-size": 10,
"encryption": 1,
"idle-seeding-limit": 30,
"idle-seeding-limit-enabled": false,
"incomplete-dir": "/home/media/download-torrents",
"incomplete-dir-enabled": true,
"lpd-enabled": false,
"max-peers-global": 200,
"message-level": 1,
"peer-congestion-algorithm": "",
"peer-id-ttl-hours": 6,
"peer-limit-global": 200,
"peer-limit-per-torrent": 50,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": "default",
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 1,
"prefetch-enabled": true,
"queue-stalled-enabled": true,
"queue-stalled-minutes": 30,
"ratio-limit": 2,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": true,
"rpc-bind-address": "192.168.30.33",
"rpc-enabled": true,
"rpc-host-whitelist": "",
"rpc-host-whitelist-enabled": true,
"rpc-password": "4ad065c43f5269a6c2c0cb4288eeff1e73cvDSZxdmveN",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "wildserver",
"rpc-whitelist": "127.0.0.1,192.168.*.*",
"rpc-whitelist-enabled": true,
"scrape-paused-torrents-enabled": true,
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"seed-queue-enabled": true,
"seed-queue-size": 5,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 10000,
"speed-limit-up-enabled": true,
"start-added-torrents": true,
"trash-original-torrent-files": false,
"umask": 18,
"upload-limit": 100,
"upload-limit-enabled": 0,
"upload-slots-per-torrent": 14,
"utp-enabled": true
}
Запуск Transmission-daemon
sudo service transmission-daemon start
Открытие портов доступа к Transmission
Поскольку на сервере установлен файервол UFW необходимо дать доступ к вебморде, которая доступна пока локально, но откроем ее для всего мира через обратный прокси и порта для работы Transmission-daemon 51413, который по умолчанию. Заменить можно на желаемый изменив номер порта в строке конфига:
"peer-port": 51413,
Для начала откроем порт 9091 по умолчанию через него происходит доступ к web интерфейсу. Для этого добавим в файл
sudo nano /etc/ufw/applications.d/ufw-bittorent
правило:
[Transmission web]
title=Transmission web
description=Transmission BitTorrent client
ports=9091
И активируем его:
sudo ufw allow "Transmission web"
Потом откроем порт 51413 готовое правило уже есть.
sudo ufw allow Transmission
Исправление ошибки буфера
UDP Failed to set receive buffer: requested 4194304, got 425984 (tr-udp.c:97)
UDP Failed to set send buffer: requested 1048576, got 425984 (tr-udp.c:105)
Данная ошибка появляется при просмотре статуса работы демона:
sudo systemctl status transmission-daemon.service
Решением является увеличение буфера приема и буфера обмена на 16 и 4 мегабайта соответственно. Открыть файл:
sudo /etc/sysctl.conf
Добавить в конце строки:
net.core.rmem_max = 16777216
net.core.wmem_max = 4194304
Сохранить файл Ctrl+O Enter, закрыть Ctrl+X
Перечитываем конфиг:
sudo sysctl -p
sudo sysctl --system
Остановить Transmission-daemon и снова запустить. Ошибка исправится. Хотя можно и не перезапускать все равно надо будет потом перезагрузить сервер.
Добавление Plex в группы
Используя терминал
Для того чтобы можно было добавлять каталоги в библиотеку Plex нужно добавить пользователя сервера в группу plex
, а также добавить пользователя plex
в группу торрент клиента transmission
для того, чтобы читать скачанные файлы. И наоборот добавить пользователя transmission
в группу plex
, что бы записывать файлы в каталоги Plex`a.
sudo usermod -a -G plex USER
sudo usermod -a -G debian-transmission USER
sudo usermod -a -G debian-transmission plex
sudo usermod -a -G plex debian-transmission
Используя Webmin
Для более понятного видения происходящего воспользоваться Webmin
По такой же схеме добавить USER (ваш ник на сервере) группы plex
и debian-transmission
.
А так же пользователя plex
в группу debian-transmission
И наоборот пользователя debian-transmission
в группу plex
Создание каталогов для медиа
Для фильмов и музыки выделил отдельные жесткие диски и примонтировал их каталогу HOME. Назвав /media/
первый диск и в нем каталоги /video/
- для фильмов, /video/serial/
соответственно для сериалов. Второй диск отдал под музыку примонтировав к /music/
. Так же создал каталог для загрузки торрентов, для временного хранения не докачанных файлов /download-torrents/
Получилось так:
/home/media/video/
/home/media/video/serial/
/home/media/music/
/home/media/download-torrents/
Надо будет подразделить и сделать отдельно папку film
. Еще не помешает создать отдельный каталог для мультфильмов /home/video/multiki/
и многосерийных мультфильмов /home/video/serial/multiki/
что бы было:
/home/media/video/film/
/home/media/video/multiki/
/home/media/video/serial/film/
/home/media/video/serial/multiki/
/home/media/music/
/home/media/download-torrents/
Создание каталогов
Все выше перечисленные каталоги создаем одной строкой.
mkdir /home/media/ /home/media/video/ /home/media/video/film/ /home/media/video/serial/ /home/media/video/multiki/ /home/media/video/serial/multiki/ /home/media/video/serial/film/ /home/media/video/serial/film/ /home/media/download-torrents/ /home/media/music/
Хотя по большому счету отдельно для мультов каталог и не нужен,главное подразделение это сериалы и фильмы, потом в фильтрах приложения, можно выбрать сортировку по жанру и тут уже выбрать мультики. Плексу все равно до содержимого файла, главное название и подтянувшиеся к нему метаданные.
Права на каталоги
Созданным каталогам права и владелец присваиваются так:
sudo chow -R plex:plex /home/media/
sudo cmod -R 754 /home/media/
sudo chow -R debian-transmission:debian-transmission /home/media/download-torrents/
Это очень важный момент с правом владения, потому что при не правильном присвоении, могут возникнуть проблемы с чтением и записью файлов медиа сервером и отказом в работе.
Настройка Plex
Проверка работы сервера
sudo systemctl status plexmediaserver
Остановка сервера
sudo systemctl stop plexmediaserver
Запуск сервера
sudo systemctl start plexmediaserver
Включение автозапуска
sudo systemctl enable plexmediaserver
Выполнить все перечисленные команды. Остановка и запуск нужны для того что бы вступили в силу изменения по включение пользователя plex
в группы.
Но надежнее и правильнее будет перезагрузить сервер, что бы вступили изменения по всем пользователям добавленным в группы.
sudo reboot
Вход на сервер и первичная настройка
В браузере, лучше Chrome, в FireFox`e разочаровался (об этом чуть позже) Набрать ip-адрес сервера и подключение к порту 32400. Для примера:
192.168.0.100:32400/web/
Выбрать способ для входа из предложенных, соответственно тот при помощи которого создавался аккаунт Plex.
Удалении Plex
В процессе экспериментов с настройками, установками различных плагинов, которые еще работоспособны но многие уже не поддерживаются, поскольку Plex потихоньку прикрывает лавочку на такие расширения. Наступает такой момент, когда исправлять и искать причину почему что то пошло не так затратит больше времени, чем просто снести медиа сервер и по новой установить. Наигравшись, пришел к выводу, что проще смирится с тем что есть, оставил в памяти те настройки, которые посчитал нужными и добившись стабильной работы сервера. Кто желает может пройти “путь самурая” и для этого следующая памятка по удалению медиа сервера.
sudo apt purge plexmediaserver
А так же таким способом:
dpkg -r plexmediaserver
И удалении каталога, если он остался:
sudo rm -r /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/
Раньше переустановка не вызывала никаких проблем и тут на тебе такая ошибка при установке:
dpkg: ошибка при обработке пакета plexmediaserver (--configure):
installed plexmediaserver package post-installation script subprocess returned error exit status 255
При обработке следующих пакетов произошли ошибки:
plexmediaserver
Помогло только удаление группы plex
.
groupdel plex
И потом опять добавление в группу plex
себя и debian-transmission
Приложения для медиа сервера
Приложение Plex
Приложения для различных устройств можно скачать с официального сайта.
Для Андроид есть ограничения, без Plex Pass фильмы не посмотришь, две минуты и хочет, что бы приобрели Plex Pass. С этим потом разберусь, как расшарить. Через браузер в телефоне или планшете ограничений нет, но неудобно.
Для Windows (Виндовс) все замечательно, без проблем.
А вот для Linux Debian оболочка Mint получилось запустить только такой вариант
Приложение transmission-remote-gui
Для удобства скачивания на сервер и контроля торрентов использовать приложение ** transmission-remote-gui**
В Windows скачать
В Debian linux установить командой:
sudo apt install transgui
Комментарии