Установка Plex Media Server на Debian 13, 12, 11: подробное руководство

Plex Media Server — это система для организации домашней медиатеки. Вы можете хранить фильмы, сериалы, музыку и фото на сервере, а потом смотреть/слушать на любом устройстве: телевизоре, телефоне, планшете, компьютере, через браузер или приложение. Plex автоматически подбирает обложки, описания и метаданные. Главные сложности для новичка: нужно правильно добавить официальный репозиторий Plex (современный формат DEB822), настроить права доступа для пользователя plex к папкам с медиафайлами (самая частая проблема), а также, при необходимости, настроить фаервол (UFW). Для удалённого доступа через домен можно настроить reverse-прокси Nginx с SSL (Let’s Encrypt).

⚠️ Важно: Plex сменил репозиторий начиная с версии 1.43.0. В этом руководстве используется актуальный репозиторий https://repo.plex.tv/deb/ и новый ключ PlexSign.v2.key. Старые репозитории (downloads.plex.tv/repo/deb) больше не поддерживаются.

💡 В этом руководстве вы установите Plex Media Server на Debian из официального репозитория, настроите права доступа к медиафайлам, откроете порты в UFW, а также (опционально) настроите reverse-прокси Nginx с SSL для доступа через домен.

В этой статье вы узнаете:

  • Как добавить официальный репозиторий Plex и установить сервер
  • Как настроить права доступа к медиафайлам через setfacl или chown
  • Как открыть порты в UFW для локального и удалённого доступа
  • Как создать SSH-туннель для первоначальной настройки на удалённом сервере
  • Как (опционально) настроить reverse-прокси Nginx с SSL (Let’s Encrypt)
  • Как решить типичные проблемы: права доступа, порт занят, репозиторий

Для кого: владельцы домашних медиатек, администраторы небольших серверов, а также все, кто хочет стримить свою коллекцию на Debian 11, 12 или 13.

Оглавление

1. 🔧 Предварительные требования

Перед установкой убедитесь, что:

  • У вас установлена Debian 11, 12 или 13
  • Подключение к интернету стабильно
  • У вас есть права sudo
  • У вас есть медиафайлы (фильмы, музыка) для добавления в библиотеку

⚠️ ВАЖНО: Проверьте права sudo перед установкой

Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:

sudo whoami

Что делает: sudo выполняет команду от имени суперпользователя, whoami показывает имя текущего пользователя.

Зачем: Эта команда проверяет, есть ли у вас права sudo. Без них вы не сможете устанавливать пакеты.

✅ Если выводит root — всё в порядке, можете продолжать.

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.

1.1 Обновление системы

Перед установкой всегда обновляйте список пакетов:

sudo apt update && sudo apt upgrade -y

Что делает:

  • sudo — права суперпользователя
  • apt update — обновляет список доступных пакетов из репозиториев
  • && — выполняет следующую команду только если предыдущая успешна
  • apt upgrade -y — обновляет все установленные пакеты до последних версий

Зачем: Это стандартная практика безопасности перед установкой нового ПО.

1.2 Установка вспомогательных пакетов

sudo apt install ca-certificates curl gpg -y

Что делает: Устанавливает инструменты для безопасной работы с HTTPS-репозиториями и GPG-ключами.

2. 📦 Установка Plex Media Server

2.1 Очистка старых файлов репозитория (если были)

Если Plex устанавливался ранее из старого репозитория или .deb-файла, удалите старые файлы источников и ключей:

sudo rm -f \
  /etc/apt/sources.list.d/plex.list \
  /etc/apt/sources.list.d/plexmediaserver.list \
  /etc/apt/sources.list.d/plexmediaserver.sources \
  /usr/share/keyrings/plex.gpg \
  /usr/share/keyrings/plexmediaserver.gpg \
  /etc/apt/keyrings/plexmediaserver.gpg \
  /etc/apt/keyrings/plexmediaserver.v2.gpg

2.2 Импорт нового GPG-ключа Plex (v2)

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://downloads.plex.tv/plex-keys/PlexSign.v2.key | sudo gpg --dearmor --yes -o /etc/apt/keyrings/plexmediaserver.v2.gpg
sudo chmod 0644 /etc/apt/keyrings/plexmediaserver.v2.gpg

Что делает: Создаёт директорию для ключей, скачивает новый GPG-ключ Plex и сохраняет его в бинарном формате.

2.3 Проверка отпечатка ключа (рекомендуется)

gpg --show-keys --with-fingerprint /etc/apt/keyrings/plexmediaserver.v2.gpg

Ожидаемый отпечаток: 6EFF EB47 8A65 59D7 5C7C 4FE7 06C5 2179 0B9C FFDE

2.4 Добавление репозитория Plex (современный формат DEB822)

printf '%s\n' \
'Types: deb' \
'URIs: https://repo.plex.tv/deb/' \
'Suites: public' \
'Components: main' \
"Architectures: $(dpkg --print-architecture)" \
'Signed-By: /etc/apt/keyrings/plexmediaserver.v2.gpg' | sudo tee /etc/apt/sources.list.d/plexmediaserver.sources > /dev/null

Что делает: Создаёт файл репозитория в современном формате DEB822.

2.5 Проверка файла репозитория

cat /etc/apt/sources.list.d/plexmediaserver.sources

Ожидаемый вывод: Должен содержать URIs: https://repo.plex.tv/deb/ и Suites: public.

2.6 Обновление списка пакетов и проверка кандидата

sudo apt update
apt-cache policy plexmediaserver

Ожидаемый вывод: В строке Candidate должна быть версия (например, 1.43.2.10687-563d026ea), а в таблице версий — https://repo.plex.tv/deb.

2.7 Установка Plex

sudo apt install plexmediaserver -y

Что делает: Устанавливает Plex Media Server.

2.8 Проверка установки

dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package} ${Version}\n' plexmediaserver
systemctl is-active plexmediaserver
systemctl is-enabled plexmediaserver

Ожидаемый вывод:

  • ii plexmediaserver 1.43.x
  • active
  • enabled

2.9 Проверка, что Plex слушает порт

sudo ss -tlnp | grep ':32400'

Ожидаемый вывод: Строка с LISTEN и plexmediaserver.

3. 🔥 Настройка UFW (фаервол)

Если вы планируете иметь доступ к Plex с других устройств в сети или из интернета, откройте порт 32400.

3.1 Разрешить SSH (чтобы не заблокировать себя)

sudo ufw allow ssh

3.2 Разрешить порт Plex

sudo ufw allow 32400/tcp

3.3 (Опционально) Разрешить дополнительные порты для обнаружения в локальной сети

sudo ufw allow from 192.168.1.0/24 to any port 1900 proto udp
sudo ufw allow from 192.168.1.0/24 to any port 5353 proto udp
sudo ufw allow from 192.168.1.0/24 to any port 8324 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 32410 proto udp
sudo ufw allow from 192.168.1.0/24 to any port 32412 proto udp
sudo ufw allow from 192.168.1.0/24 to any port 32413 proto udp
sudo ufw allow from 192.168.1.0/24 to any port 32414 proto udp
sudo ufw allow from 192.168.1.0/24 to any port 32469 proto tcp

3.4 Включить UFW

sudo ufw enable

4. 🔐 Настройка прав доступа к медиафайлам (ВАЖНО!)

Plex работает от пользователя plex. Если ваши медиафайлы лежат в /home/user/Videos или на внешнем диске, пользователь plex не сможет их прочитать без дополнительных прав. Это самая частая проблема.

4.1 Проверка, что пользователь plex существует

id plex

Ожидаемый вывод: uid=... plex ...

4.2 Способ 1 (рекомендованный): использование setfacl (ACL)

Этот способ не меняет владельца файлов, а только добавляет права для пользователя plex.

sudo setfacl -R -m u:plex:rX /путь/к/медиа

Пример для /media/video:

sudo setfacl -R -m u:plex:rX /media/video

Что делает: Добавляет пользователю plex права на чтение и выполнение (доступ к директориям) для всех файлов и папок в указанной директории рекурсивно.

Чтобы новые файлы наследовали эти права:

sudo find /путь/к/медиа -type d -exec setfacl -m d:u:plex:rX {} +

Если setfacl не найден:

sudo apt install acl -y

4.3 Способ 2: изменение владельца (проще, но меняет владельца)

sudo chown -R plex:plex /путь/к/медиа

⚠️ Осторожно: Этот способ сделает пользователя plex владельцем всех файлов. Если файлами пользуются другие программы или пользователи, могут возникнуть проблемы.

4.4 Специальный случай: медиа на внешнем диске, смонтированном в /media

Директория /media по умолчанию имеет права, которые не позволяют пользователю plex проходить по ней.

Вариант А (рекомендованный): Смонтируйте диск в /mnt/ExtDrive вместо /media/ExtDrive. В /etc/fstab:

/dev/sdb1 /mnt/ExtDrive ext4 defaults 0 0

Вариант Б: Добавьте ACL на /media и /media/username:

sudo setfacl -m u:plex:x /media
sudo setfacl -m u:plex:x /media/username

5. 🖥️ Первоначальная настройка через WebUI

5.1 Доступ к WebUI (локально)

Откройте браузер и перейдите по адресу:

http://localhost:32400/web

или

http://127.0.0.1:32400/web

5.2 Доступ к WebUI на удалённом сервере (без графики)

Вариант А (SSH-туннель):

На вашем локальном компьютере выполните:

ssh username@ip_сервера -L 8888:localhost:32400

Затем откройте в браузере: http://localhost:8888/web

Вариант Б (прямой доступ по IP):

Если вы открыли порт 32400 в UFW, можно открыть http://ip_сервера:32400/web.

5.3 Процесс настройки

  1. Войдите или создайте аккаунт Plex.
  2. Пропустите предложение Plex Pass (если не нужен).
  3. Укажите имя сервера.
  4. Добавьте библиотеки: нажмите ADD LIBRARY, выберите тип (фильмы, сериалы, музыка), укажите папку с медиа.
  5. Завершите настройку.

6. 🚀 (Опционально) Reverse-прокси Nginx с SSL

Если у вас есть домен и вы хотите доступаться к Plex через https://plex.example.com, настройте reverse-прокси.

6.1 Установка Nginx

sudo apt install nginx -y

6.2 Создание конфигурации для Plex

sudo tee /etc/nginx/conf.d/plex.conf > /dev/null <<'EOF'
map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

server {
    listen 80;
    listen [::]:80;
    server_name plex.example.com;

    location / {
        proxy_pass http://127.0.0.1:32400;
        proxy_http_version 1.1;
        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 Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_redirect off;
        proxy_buffering off;
        proxy_read_timeout 3600s;
        proxy_send_timeout 3600s;
    }
}
EOF

6.3 Проверка конфигурации и перезагрузка

sudo nginx -t
sudo systemctl reload nginx

6.4 Установка SSL-сертификата Let’s Encrypt

sudo apt install python3-certbot-nginx -y
sudo certbot --nginx --non-interactive --agree-tos --redirect --hsts --staple-ocsp --email admin@example.com -d plex.example.com

7. ⚠️ Решение типичных проблем

7.1 APT не может найти пакет plexmediaserver

Симптом: sudo apt install plexmediaserver сообщает, что пакет не найден.

Причина: Репозиторий не добавлен, или apt update не выполнялся.

Пошаговое решение:

Шаг 1: Проверьте файл репозитория:

cat /etc/apt/sources.list.d/plexmediaserver.sources

Шаг 2: Выполните sudo apt update и проверьте политику:

apt-cache policy plexmediaserver

Шаг 3: Если кандидат отсутствует — повторите шаги из раздела 2.

7.2 Plex не видит медиафайлы

Симптом: В WebUI при добавлении библиотеки папка пуста или не отображается.

Причина: Пользователь plex не имеет прав на чтение (или выполнение для директорий).

Пошаговое решение:

Шаг 1: Проверьте права от пользователя plex:

sudo -u plex ls -la /путь/к/медиа

Шаг 2: Если ошибка Permission denied, исправьте права (см. раздел 4).

Шаг 3: Проверьте, что пользователь plex может пройти по всем родительским директориям:

namei -l /путь/к/медиа

7.3 Plex не запускается: порт 32400 уже занят

Симптом: systemctl status plexmediaserver показывает ошибку Address already in use.

Решение: Найдите процесс, который занимает порт:

sudo lsof -i :32400

Остановите конфликтующий процесс или настройте другой порт в Plex.

7.4 Не удаётся подключиться к WebUI удалённо (Connection refused)

Симптом: Браузер не открывает http://ip_сервера:32400/web.

Причина: Фаервол блокирует порт, или Plex слушает только 127.0.0.1.

Пошаговое решение:

Шаг 1: Проверьте UFW:

sudo ufw status | grep 32400

Шаг 2: Если правила нет — добавьте: sudo ufw allow 32400/tcp.

Шаг 3: В настройках Plex (Settings → Remote Access) включите удалённый доступ.

7.5 Reverse-прокси Nginx возвращает 502 Bad Gateway

Симптом: При доступе через домен Nginx возвращает ошибку 502.

Причина: Nginx не может подключиться к Plex на порту 32400.

Пошаговое решение:

Шаг 1: Проверьте, что Plex запущен:

systemctl is-active plexmediaserver

Шаг 2: Проверьте, что порт 32400 слушается:

sudo ss -tlnp | grep ':32400'

Шаг 3: Проверьте логи Nginx:

sudo tail -n 50 /var/log/nginx/error.log

8. ❌ Удаление Plex Media Server

8.1 Удаление пакета

sudo systemctl stop plexmediaserver
sudo apt remove --purge plexmediaserver -y
sudo apt autoremove -y

8.2 Удаление репозитория и ключа

sudo rm -f /etc/apt/sources.list.d/plexmediaserver.sources
sudo rm -f /etc/apt/keyrings/plexmediaserver.v2.gpg
sudo apt update

8.3 Удаление данных (опционально)

⚠️ Осторожно: Удаляет все метаданные, настройки и идентификатор сервера.

sudo rm -rf /var/lib/plexmediaserver

9. 📝 Чек-лист: всё готово к работе

  • [ ] Система обновлена (sudo apt update && sudo apt upgrade -y)
  • [ ] Старые файлы репозитория удалены
  • [ ] Новый GPG-ключ Plex (v2) импортирован, отпечаток проверен
  • [ ] Репозиторий repo.plex.tv добавлен
  • [ ] apt-cache policy plexmediaserver показывает кандидата
  • [ ] Plex установлен (dpkg-query -W plexmediaserver показывает ii)
  • [ ] Сервис активен (systemctl is-active plexmediaserveractive)
  • [ ] Plex слушает порт 32400 (ss -tlnp | grep ':32400')
  • [ ] Порт 32400 открыт в UFW (если нужен доступ из сети)
  • [ ] Права на медиафайлы настроены (sudo -u plex ls /путь/к/медиа работает)
  • [ ] WebUI открывается (http://localhost:32400/web или через SSH-туннель)
  • [ ] Библиотека добавлена и медиафайлы отображаются

Заключение

Вы установили Plex Media Server на Debian из актуального официального репозитория (repo.plex.tv). Теперь вы можете организовать домашнюю медиатеку и смотреть фильмы, сериалы, слушать музыку на любых устройствах. Главное, что нужно запомнить: проблема с правами доступа к медиафайлам — самая частая; решайте её через setfacl. Для удалённого доступа через домен настройте reverse-прокси с SSL. В отличие от устаревших руководств, этот метод использует новый ключ Plex и корректно работает на всех актуальных версиях Debian.

Что дальше:

  • Настройте библиотеки: фильмы, сериалы, музыка, фото.
  • Установите приложение Plex на телевизор, телефон или планшет.
  • Настройте удалённый доступ (Settings → Remote Access) или reverse-прокси.
  • Рассмотрите Plex Pass для аппаратного транскодирования, если у вас мощный сервер.
  • Альтернатива: Jellyfin (полностью открытый аналог).

Связанные статьи: