Настройка медиа сервера ubuntu

Обновлено: 04.07.2024

В первой части статьи про домашний медиа-сервер мы установили Ubuntu 14.04 Server и выполнили первоначальную настройку системы. В данной статье я расскажу: как создать удаленное подключение к серверу, установить и настроить торрент-клиент и видео-сервер, подключить сетевые диски и возможно кое-что еще. Как говорилось ранее, возможности операционной системы Ubuntu ограничены только вышей фантазией. Наверное, основным преимуществом Linux подобных операционных систем является доступность, данные ОС и весь основной софт распространяются бесплатно.

Ну перейдем от слов к делу.

Настройка удаленного доступа

Управление сервером осуществляется удаленно, для этого необходимо установить дополнительный софт. При инсталляции ОС Ubuntu Server вы должны были отметить для установки Open SSH. Если вы по каким-то причинам этого не сделали, то установим сейчас. Для проверки наличия и версии SSH сервера набираем:

Версия должна быть не ниже 5.6. Если SSH сервер не установлен или его версия ниже, чем нам нужно, то вводим следующую команду:

Нужно будет ввести пароль суперпользователя и подтвердить установку пакетов. Теперь необходимо перезапустить SSH сервер:

PuTTY

На данном этапе все манипуляции на сервере закончены, теперь все будем делать удаленно. Для дистанционного управления я использую программу PuTTY. Скачиваем и открываем данную программу. Указываем IP-адрес и порт нашего сервера. Порт по-умолчанию 22. Вы можете сохранить текущую конфигурацию, для последующего входа. Для этого введите название сессии и нажмите на кнопку Save.

Для удобной работы с файлами установим консольный файловый менеджер Midnight Commander. Для этого в терминале PuTTY вводим:

И запускаем командой:

В принципе для управления сервером терминала PuTTY достаточно, но я дополнительно устанавливаю Webmin. Webmin — это программный комплекс, позволяющий администрировать операционную систему через веб-интерфейс, в большинстве случаев, позволяя обойтись без использования командной строки и запоминания системных команд и их параметров. Используя любой браузер, администратор сервера может создавать новые учётные записи пользователей, почтовые ящики, изменять настройки служб и сервисов, например: веб-сервера Apache, DNS. Однако, в некоторых случаях необходимо знание операционной системы и редактирование конфигурационных файлов вручную.

И инициализируем установку пакета:

Возможно с первого раза установить не получится, система будет ругаться на отсутствие необходимых пакетов. Успокоим систему:

Webmin штука весьма мощная, отдельные ее аспекты я буду рассматривать при решении той или иной конкретной задачи. Есть русский язык, правда перевод немного корявый. Удаленное управление настроено, идем дальше.

Настройка Samba

Samba — пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS. По-простому говоря, при помощи samba мы сможем подключать диски, установленные на сервере, в качестве сетевых дисков к локальному компьютеру или какому-нибудь другому устройству, которые поддерживают протокол SMB/CIFS. Это могут быть смартфоны или планшеты. Если при инсталляции ОС вы не выбрали Samba file server для установки, то сделаем это сейчас:

Теперь необходимо перезапустить службу samba:

Проверяем статус выполнения запуска:

Samba

Настраивать Samba будет при помощи Webmin. В разделе Servers выбираем Samba Windows File Sharing. Если после установки у вам не появился данный пункт, то обновите модули Webmin.

2015-07-24 22-10-33 Скриншот экрана

Конвертируем пользователей ОС в пользователи Samba. Для этого в разделе Samba Users нажимаем на кнопку Convert Users. В открывшемся окне выбираем Only listed users or UID ranges, вводим пользователей и подтверждаем нажатием Convert Users. Проверить добавились ли пользователи можно нажав на кнопку Samba Users. Теперь добавляем папки, которым предоставляем общий доступ. Нажимаем Create a new file share. В новом окне необходимо указать Имя и путь к папке, пользователя, который будет являться владельцем данной папки и права доступа. По желанию добавляем комментарий.

Сетевая папка

Теперь на локальном компьютере подключаем сетевой диск, где нужно указать адрес сервера и общую папку. Для нашего примера это будет выглядеть вот так:

Торрент-клиент

В качестве торрент-клиента будем использовать классический transmission-daemon. Для начала устанавливаем его:

Теперь переходим к настройкам. Чтобы внести какие либо изменения в файлы конфигурации, сначала останавливаем сервис:

Открываем файл конфигурации:

Теперь вносим необходимые изменения. Ищем нужный параметр и приводим к нужному нам значению. Отключаем аутентификацию, чтобы не вводить пароль:

Разрешаем удаленное управление торрент-клиентом:

Добавляем нашу подсеть в белый список и включаем его:

Редактируем папки для скаченных и незавершенных файлов:

Включаем автоматический форвардинг портов с использованием UPnP или NAT-PMP:

Сохраняем Ctrl-O и закрываем Ctrl-X файл. Запускаем сервис:

Все, торрент-клиент настроен. Теперь открываем браузер и проверяем соединение. Для этого нужно ввести адрес нашего сервера с портом 9091.

transmission

Для удобства можно поставить утилиту управления transmission-remote-gui.

Для удаления trasmission-daemon лучше использовать команду aptitude purge, которая удаляет пакеты программ с принадлежащими ей настройками:

Медиа-сервер

В качестве медиа-сервера я использую довольно мощный инструмент под названием Plex Media Server. Plex умеет все: раздавать медиа-контент посредством DLNA, множество клиентов под различные платформы, поддержка смарт-телевизоров и многое другое. Вы можете настроить медиа-сервер на локальном сервере и смотреть фильмы по интернету в другой части света. Для начала устанавливаем зависимое программное обеспечение:

Далее скачиваем и устанавливаем пакет самого медиа-сервера:

После установки служба автоматически запустится. Теперь необходимо настроить библиотеки. В адресной строке браузера вводим:

Соглашаемся с лицензионным соглашением и переходим к настройкам, нажимаем в правом верхнем углу на иконку настроек. Если вы планируете смотреть фильмы или слушать музыку извне, но необходимо зарегистрироваться или войти под своим именем в разделе Сервер. После необходимо убедиться, что открыт внешний доступ. Во вкладке Remote Access должна быть зеленая галочка. Если ее нет, необходимо настроить роутер на открытие портов. Сразу выставим галочки для автоматического обновления медиа контента во вкладке Библиотека. Можно задать интервал времени автоматического обновления. Во вкладке Языки выбираем предпочтительный язык для звуковых дорожек и субтитров. После внесения изменений не забываем их сохранить.

Добавляем сетевые библиотеки. Для этого нажимаем на плюс рядом с вашим именем пользователя.Для начала добавим библиотеку с сериалами. Нажимаем на иконку Сериалы, выбираем русский язык и указываем папку, где хранятся сериалы. Нажимаем Добавить библиотеку. Начнется сканирование указанной папки и через некоторое время в нашей библиотеке отобразятся постеры, имеющихся в вашей базе сериалов.

Для создания библиотеки фильмов необходимо скачать и установить агента Plex для Кинопоиска. Скачиваем:

Домашний медиа-сервер (NAT + Samba + Torrent + DLNA) на платформе Ubuntu Server. Часть 1.

Смартфоны, планшеты, телевизоры - сегодня все они являются сетевыми устройствами и активными потребителями сетевого контента, что вызывает необходимость в упорядочивании домашних сетей и созданию в них специальных сервисов для обслуживания подобных устройств, поэтому все чаще возникает необходимость в домашнем сервере, который станет центром домашней сети и единой точкой доступа к медиаконтенту.

Какие функции должен выполнять домашний медиа-сервер? Прежде всего хранение и доступ к разнообразному медиаконтенту: видео, музыка, фотографии. Вторая важная функция - организация общего доступа в интернет и связанные с ними сетевые службы. Ну и куда же без торрентов, если на сервере есть интернет и он является местом хранения медиаконтента, то вполне разумно будет заставить его качать этот самый контент.

Несколько слов об аппаратной части. Если не планируется перекодировка медиаконтента силами сервера, то для обслуживания домашней сети вполне можно выбрать компактные mini-ITX решения на базе новых процессоров Intel Atom D2700/2500 или аналогичных решений от AMD. Это позволяет собрать компактную и практически бесшумную систему которую можно без труда разместить в любом удобном месте. Единственная сложность в этом случае - поиск дополнительной низкопрофильной сетевой карты.

Так как основная работа нашего сервера заключается в предоставлении медиаконтента, то дисковая подсистема должна обеспечивать высокую скорость последовательного доступа и быть способной обслуживать нескольких клиентов одновременно. Поэтому не стоит выбирать экономичные диски и диски со скоростью вращения 5400 об/мин, в тоже время нет особой необходимости в приобретении производительных жестких дисков, с задачей одновременного доступа к медиаконтенту трех-пяти клиентов отлично справятся диски массовых серий.

Если же вы планируете работу с тяжелым FullHD материалом и не хотите идти на компромиссы, то отличным решением будут жесткие диски Seagate серии SV35, на сегодняшний день это лучшие для подобных задач из протестированных нами дисков. Необходимость в RAID массиве представляется нам сомнительной, если только вы не собираетесь хранить на сервере в единственном экземпляре домашний фото и видеоархив.

Что касается совмещения функции медиасервера и беспроводной точки доступа в одном устройстве, то мы не видим в этом смысла. При организации домашней Wi-Fi сети основной задачей является максимально возможная зона покрытия без увеличения мощности сигнала, поэтому точку доступа следует располагать где-то в середине квартиры или дома, в то время как медиасервер и сетевое оборудование лучше расположить там, где они никому не будут мешать и к ним будет затруднен несанкционированный доступ.

Примерная схема домашней сети будет иметь вид:

ubuntu-home-server-001.jpg

В специально отведенном месте находятся медиасервер и сетевое оборудование, туда же сведена сетевая разводка для стационарных клиентов, точка доступа Wi-Fi расположена с учетом получения наилучшей зоны покрытия и может быть подключена с использованием PoE, что избавит вас от необходимости отдельно подводить питание. С ней работают все мобильные устройства домашней сети и те из стационарных, подключение которых посредством кабеля затруднено. При этом необходимо помнить, что Wi-Fi канал делится между всеми клиентами и для стационарных устройств по возможности следует использовать проводную сеть.

Разобравшись с общими вопросами, перейдем к практической части. Наша задача: создать на базе Ubuntu Server 12.04 домашний медиасервер, который будет обеспечивать общий доступ в интернет, сетевое хранилище для медиаконтента и иных документов, торрент-клиент и DLNA-сервер для простого и удобного доступа к мультимедийному содержимому мобильных и бытовых устройств. Процесс настройки мы разделим на этапы, каждый из которых будет создавать отдельный сервис и если вам не требуется та и или иная функциональность, то вы можете их пропустить.

Общий доступ в интернет и сетевые службы (NAT + DHCP).

Первым делом необходимо выполнить настройку сети. Будем считать что интерфейс eth0 у нас смотрит в сеть провайдера, а eth1 во внутреннюю сеть. Если провайдер предоставляет доступ в интернет посредством коммутируемого соединения, то вам потребуется настроить его дополнительно, например воспользовавшись нашей статьей.

Сетевые настройки хранятся в /etc/network/interfaces, откроем его

и приведем к следующему виду:

Внимание! Настройки eth0 в нашем случае приведены исключительно в качестве примера, вам необходимо настроить данный интерфейс в соответствии с настройками вашего провайдера.

Последняя строка предназначена для автоматической загрузки правил iptables, которые будут располагаться в файле /etc/nat. Перезапустим сеть:

Установим последние обновления:

и для удобства администрирования установим ssh и mc:

Теперь создадим /etc/nat

и приступим к его редактированию:

Сохраняем файл и делаем его исполняемым:

После выполнения вышеуказанных действий наш имеет доступ в интернет и может раздавать его во внутреннюю сеть. Однако клиенты все еще не могут автоматически получать сетевые настройки, для этого нам необходим DHCP-сервер. Мы рекомендуем пакет dnsmasq, который кроме DHCP-сервера содержит кеширующий DNS-прокси:

Перейдем к настройке, для этого откроем файл /etc/dnsmasq.conf, найдем и зададим следующие опции:

данная опция позволит обращаться к нашему серверу не по ip-адресу, а по понятному простым пользователям имени, в нашем случае ubuntu-home.local.

Задает адреса сетевых интерфейсов, на которых будет доступен DHCP и DNS сервер.

Указывает диапазон адресов выдаваемый DHCP сервером 192.168.30.150-250 и срок аренды - 12 часов.

Это необходимый минимум настроек, перезапускаем службу:

после чего пробуем получить сетевые настройки на клиентском устройстве и выйти с него в интернет. На этом первый этап можно считать завершенным. Устанавливать для домашней сети прокси-сервер (squid и т.п.) мы не видим смысла, так как никаких значительных преимуществ вы не получите.

Сетевое хранилище (Samba)

Одна из основных функций домашнего сервера, который должен обеспечивать хранение и легкий доступ к данным посредством протокола SMB, т.е. через привычные общие файлы и папки Windows.

Установим сервер samba:

затем откроем конфигурационный файл /etc/samba/smb.conf и приступим к настройкам.

В секции Global Settings укажем сетевое имя и рабочую группу в которую входят устройства вашей домашней сети:

Вторая строка обозначает, что будет использоваться имя сервера которое вы указали при установке, можете указать там свое желаемое имя.

В секции Networking укажем сетевые интерфейсы, на которых будет доступно сетевое хранилище:

В секции Authentication устанавливаем:

В конец секции Misc добавим строку включающую поддержку протокола SMB2:

Сохраним файл и закроем его. Теперь самое время создать папки для наших общих ресурсов. Мы будем хранить пользовательские данные в /data, где создадим для разного типа контента папки Backups, Documents, Downloads, Movies, Music и Pictures. Однако вам никто не мешает создать свои собственные папки. Для создания структуры каталогов выполним следующие команды:

Затем установим на созданные папки полные права для всех, чтобы любой пользователь с любого устройства мог читать и записывать файлы в сетевое хранилище:

Теперь снова откроем /etc/samba/smb.conf и создадим общие ресурсы. В самый конец конфигурационного файла добавим:

Мы не стали приводить все секции, так как все общие ресурсы описываются одинаково и вы без труда сможете создать необходимое их количество по аналогии с приведенным выше примером. В квадратных скобках задаем имя сетевого ресурса, затем указываем путь к нему, разрешаем гостевой доступ и запись.

Создав все необходимые общие ресурсы перезапустим сервис:

Наш сервер должен появиться в сетевом окружении и зайдя на него мы должны увидеть созданные нами общие папки.

ubuntu-home-server-002.jpg

На этом настройку сетевого хранилища можно считать законченной, как и первую часть нашего материала. В следующей части мы рассмотрим настройку торрент-клиента и DLNA медиа-сервера.

Plex - это свободный медиа сервер с открытым исходным кодом, который можно использовать для хранения и воспроизведения всех ваших видео, фильмов, шоу и других медиа ресурсов в одном месте. Plex позволяет стримить вашу библиотеку на любое устройство, например, Smart TV, Xbox One, PlayStation, Apple TV, а также можно использовать обычный браузер.

Установить и использовать Plex можно в Windows, Linux, MacOS, FreeBSD и многих других системах. Также у программы есть платный сервис, с помощью которого вы можете получить синхронизацию с мобильными устройствами, интеграцию с облаком, загрузку метаданных и распознавание музыки, техническую поддержку, а также многое другое. В этой статье мы разберемся как выполняется установка Plex в Ubuntu 20.04.

Установка Plex в Ubuntu 20.04

Программа отсутствует в официальных репозиториях Ubuntu, поэтому необходимо добавить сторонний репозиторий от разработчиков. Сначала необходимо установить утилиту curl и добавить ключ от репозитория plex:

sudo apt -y install curl

mskxyUZrzDAUMDRlUBIUKFnTqThBnB7OmaDJSsEH6iW38ybEwC7oU4f8bZgcCYlT6g9EAAAAASUVORK5CYII=

Затем добавьте сам репозиторий:

x+J2pWpA7zZCwAAAABJRU5ErkJggg==

Обновите списки пакетов:

sudo apt update

Чтобы установить plex в ubuntu выполните команду:

sudo apt -y install plexmediaserver

В процессе установки установщик сообщит что в системе уже присутствует конфигурационный файл plex (он был добавлен на этапе добавления репозитория в систему). Для продолжения установки введите Y и нажмите на Enter.

w7R2R2StA4BMQAAAABJRU5ErkJggg==

После завершения установки убедитесь, что сервис успешно запустился с помощью команды:

systemctl status plexmediaserver

Настройка Plex Media Server в Ubuntu 20.04

Для начала необходимо создать директории, в которых будет храниться медиабиблиотека. Храниться медиа файлы будут в каталоге /opt/plexmedia, но можно выбрать другой путь:

sudo mkdir -p /opt/plexmedia/movies

sudo mkdir /opt/plexmedia/video

sudo mkdir /opt/plexmedia/music

Dyv6YTcYuoDxAAAAAElFTkSuQmCC

Так же необходимо сделать владельцам всех созданных ранее каталогов пользователя plex:

sudo chown -R plex:plex /opt/plexmedia

У медиа сервера нет привычного графического интерфейса, однако есть удобный веб-интерфейс, с помощью которого можно подключаться к нему удаленно. Для доступа в веб-интерфейс необходимо открыть браузер и набрать следующий URL:

Если установка Plex была произведена на локальную машину, то необходимо использовать адрес localhost:

На первом шаге настройки Plex предложит авторизоваться в интерфейсе с помощью аккаунта Google, Facebook или адреса электронной почты. Необходимо выбрать один из способов:

X7dbeisEGqLtAAAAAElFTkSuQmCC

Далее будет краткое описание возможностей сервиса и реклама платной подписки:

AyoOfpWGw9HUAAAAAElFTkSuQmCC

wLG5u6KRZn6jAAAAABJRU5ErkJggg==

Следующим пунктом идёт настройка. Сначала необходимо задать имя (или оставить имя по умолчанию) для сервера plex и выбрать нужно ли разрешать подключения к серверу не только из локальной сети:

FxqRhvMpZWipAAAAAElFTkSuQmCC

На следующем шаге необходимо добавить директории, из которых программа будет брать медиа файлы. Каждую библиотеку нужно добавлять отдельно. Можно добавить директории с сериалами, фильмами, фотографиями или просто видео.

vN5HLOoDohq6fN4c32W5jEDjVSQMxH8RN2g8CBHNNT4FGaQ7D0eoktWF2EVyck8BZFSXCpXsTaU8hEkKqlWJ7UhNMGrDwktAOkKhCzx9ZnFUUBlzQuoJQVu26Im62LquR5eBtEX+dfNaIUPnFgWCtsX2wbG7EpQlMUsGVPdhhbmqBgNhjxZTPCXHw6DhSS+QcKI0jWc1vNrh0SCKFG0Ov5Ht7Mh3FMhIhgaPlvPJnD22paA25ejAjr8DaVF3nPjwbcwAAAAASUVORK5CYII=

На следующей странице необходимо выбрать тип библиотеки и ввести её имя:

tevuW6PeplcAAAAASUVORK5CYII=

Далее выберите путь к ранее созданной папке:

wX7twkPkEMu5gAAAABJRU5ErkJggg==

Когда папка будет выбрана, нажмите на кнопку ADD.

PzdkZRKRMxJhAAAAAElFTkSuQmCC

Аналогичным образом, вы можете добавить несколько библиотек:

jngOk67AAAAAElFTkSuQmCC

На последнем шаге веб-интерфейс предлагает скачать приложение для других устройств (включая смартфоны), которым можно будет пользоваться для доступа к данным.

qdWqmrt5viZohvEj8lUv8P2eu8inboYt0AAAAASUVORK5CYII=

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

zfwE8XR6TjA0xUAAAAABJRU5ErkJggg==

Для запуска проигрывания необходимо кликнуть по медиа файлу. Также можно открыть видео на весь экран, для этого необходимо кликнуть по нему на полосе воспроизведения:

BcNHgxQkDWrxAAAAAElFTkSuQmCC

Для сворачивания назад необходимо кликнуть по стрелочке вниз, которая находится в левом верхнем углу.

Выводы

В этой статье была рассмотрена установка и настройка Plex Media Server на Ubuntu 20.04. Это очень удобный медиацентр, с помощью которого можно организовать доступ к своим фотографиям, музыке и видео из локальной сети. Особенно это удобно на Raspberry Pi.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Настраиваем домашний DLNA-сервер на базе MiniDLNA, он же ReadyMedia в Linux Debian или Ubuntu Server.

Содержание

Установка MiniDLNA

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

Установка Sudo

Если в вашей системе отсутствует команда sudo, желательно ее установить. Sudo нам потребуется в процессе настройки, для тестирования прав доступа к папкам с медиа-файлами.

Добавляем пользователя в группу sudo:

Выходим из системы и входим заново, чтобы изменение группы вступило в силу.

Настройка MiniDLNA

Правим файл конфигурации:

Как минимум, потребуется задать путь к папке с медиа-файлами, параметр: "media_dir". Также можно задать имя сервера, отображаемое клиентом, параметр: "friendly_name".

В случае если наш DLNA-сервер по совместительству является интернет-шлюзом, также необходимо задать внутренний сетевой интерфейс, параметр: "network_interface".

Параметры в комментариях файла конфигурации содержат значения по умолчанию.

Проверяем параметры init-скрипта /etc/default/minidlna:

Обычно корректировка не требуется. Если файл отсутствует, при первичной установке из исходников, копируем листинг:

Поскольку служба работает под пользователем с ограниченными правами, публикуемые папки и файлы должны быть доступны на чтение для всех пользователей, следовательно, иметь разрешения 644: " rw- r-- r-- ", для файлов и 755: " rwx r-x r-x ", для папок.

Проверяем доступность для каждой папки, заданной в minidlna.conf, командой:

Если папка недоступна, задаем права доступа:

Вышестоящие папки также должны быть доступны на чтение всем пользователям. Проверяем доступность на чтение каждой папки, указанной в пути. Для вышестоящих папок используем chmod без ключа -R, если не требуется сброс разрешений для всех дочерних файлов и папок.

В качестве альтернативы смене разрешений, можно запустить MiniDLNA от имени пользователя или группы-владельца файлов. Для этого необходимо задать параметры USER и GROUP в /etc/default/minidlna, и сменить владельца папки /var/lib/minidlna командой:

Запуск MiniDLNA

Проверяем, работает ли служба, также смотрим параметры запуска:

Проверяем, слушается ли порт:

В случае успешного старта, лог должен быть примерно следующим:

Если видим: " WARNING: Inotify max_user_watches [8192] is low. ", необходимо увеличить число дескрипторов слежения inotify до 100 000. Для этого в файл /etc/sysctl.conf добавим строки:

Или копипастом команды:

Изменение параметра вступит в силу после перезагрузки системы.

Настройка DLNA/UPnP-AV сервера завершена.

Если был установлен пакет:

При установке из исходников:

Перезапускаем MiniDLNA с повторным сканированием библиотеки.

Сканирование медиа-библиотеки MiniDLNA

При появлении ошибок в каталоге, необходимо выполнить повторное сканирование файлов.

Для этого удалим базу Minidlna и перезапустим службу:

Для сканирования медиа-библиотеки при каждом старте системы можно задать ключ запуска: "-R" в параметре DAEMON_OPTS в файле /etc/default/minidlna. Сканирование большой медиа-библиотеки существенно нагружает диск, что может замедлить загрузку системы.

Полное формирование каталога может занять несколько минут. Сканирование папок выполняется в порядке их объявления в конфиге. Файлы из небольших папок, объявленных в конфиге выше, появятся в каталоге в самом начале процесса сканирования. Крупные папки с редко воспроизводимым контентом имеет смысл размещать в конфиге последними.

Установка MiniDLNA из исходников

Дальнейший материал был написан во времена Debian 7 и не тестировался на современных версиях.
Как минимум, инит-скрипты и юнит-файлы берем из deb-пакета.

Устанавливаем сборочные зависимости:

Если при установке зависимостей возникает ошибка: "Невозможно найти пакет с исходным кодом для minidlna". Значит, пакет MiniDLNA отсутствует в вашей версии дистрибутива. В этом случае придется установить зависимости вручную:

Создаем папку для исходников в профиле пользователя и переходим в нее:

Сборка стабильной версии MiniDLNA

Загружаем исходники последней стабильной версии:

С ключом --trust-server-name, будет сохранено исходное имя файла: "minidlna-1.1.4.tar.gz", номер версии может отличаться. Если ключ не указан, файл будет сохранен под именем: "download".

Переходим в папку с исходниками:

Сборка текущей разрабатываемой версии MiniDLNA из Git-репозитория

Для сборки из Git-репозитория, потребуются дополнительные пакеты:

Переходим в папку с исходниками:

Создаем скрипт автоконфигурации:

Установка

Удаляем пакет, если он был установлен ранее:

Устанавливаем собранную версию:

При первичной установке, копируем minidlna.conf в папку /etc:

Для дистрибутивов на базе Debian 6 в init-скрипте необходимо скорректировать параметр PIDDIR, для современных дистрибутивов корректировка не требуется.

Разрешаем запуск скрипта:

Активируем запуск init-скрипта в rc.d:

По умолчанию служба запускается под пользователем minidlna, создаем учетную запись:

Также, при первичной установке, потребуется создать файл параметров init-скрипта (/etc/default/minidlna), рассмотренный далее, в процессе настройки.

При установке из исходников, minidlna.conf требует дополнительной корректировки. В пакете Debian пути по умолчанию были изменены, теперь их необходимо прописать явно.

Задаем путь для хранения базы данных, используем домашнюю папку пользователя minidlna, созданного на предыдущем шаге:

Задаем путь к лог-файлу:

Отключение запроса способа отображения файлов: All Files, Folders

Настраиваем отображение содержимого папок Music, Pictures, Video без промежуточного запроса способа их отображения.

Частично вопрос можно решить установкой параметра: "root_container=B" в minidlna.conf. При этом сам запрос не отключается, но содержимое папок отображается непосредственно в корневом контейнере.

В случае если устройство, в качестве корневого контейнера, отображает свой собственный стартовый экран, корректировка файла конфигурации не даст результата. Для полного отключения запроса способа отображения файлов, придется внести изменения в код программы.

Отключение виртуальных папок в MiniDLNA версии 1.1.4 и выше

Для версии 1.1.4 применяем патч, и добавляем параметр disable_extended_directories=yes в minidlna.conf. Данный патч войдет в состав следующей версии MiniDLNA, для более поздних версий достаточно задать параметр в файле конфигурации.

Получаем и устанавливаем пакет с исходниками, как описано в разделе: "Установка или обновление MiniDLNA из исходников".

Переходим в папку с исходниками:

Загружаем и применяем патч:

Собираем и устанавливаем исправленную версию:

Редактируем файл конфигурации:

Перезапускаем службу с повторным сканированием медиа-библиотеки:

В системах на базе systemd для повторного сканирования потребуется удалить базу данных вручную:

Отключение виртуальных папок в MiniDLNA версии 1.1.3 и ниже

Получаем и устанавливаем пакет с исходниками, как описано в разделе: "Установка или обновление MiniDLNA из исходников".

Переходим в папку с исходниками:

Необходимые константы идентификаторов папок объявлены в scanner.h

Обработка запросов клиента реализована в файле upnpsoap.c.

Сохраняем резервную копию файла:

Активируем поиск (F6), ищем процедуру: "BrowseContentDirectory".

В начале процедуры выполняется разбор SOAP/XML-запроса, затем его обработка и возврат результата.

Далее реализован выбор корневого контейнера в зависимости от конфигурационного параметра root_container:

Сразу после этого блока и перед блоком с запросами к БД добавляем код перенаправления папок для видео, музыки и изображений:

В итоге правленный фрагмент должен выглядеть следующим образом:

Собираем и устанавливаем исправленную версию:

Проверяем результат. Папки должны открываться без запроса способа отображения.

Читайте также: