Домашний медиасервер: minidlna, transmission

Превращаем старенький компьютер в домашний медиасервер с помощью samba, minidlna и transmission. У Вас есть компьютер десятилетней давности и его жалко выбросить. Сделаем из него небольшой медиасервер. Pentium-4 2GHz, 1GB RAM вполне подойдет. Вам понадобится большой харддиск, скажем на 1TB, мне, правда, понадобился еще SATA контроллер, так как на материнке его не было.
Установим на компьютер CentOS 6 Minimal. Я устанавливал 32-bit’ную версию, так как железо не поддерживает 64-bit’ную. В процессе установки под партиции /, /boot, swap был отведен старенький PATA харддиск на 60GB. Новый 1TB диск — партиция /home. Подключаем нужные нам репозитории.
Репозиторий EPEL (тут находится transmission-daemon — торрент сервер, который будет скачивать нам медиаконтент):
yum install epel-release
Репозиторий NUX (здесь minidlna — сервер, транслирующий скаченный контент в локальную сеть):
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/i386/nux-dextop-release-0-3.el6.nux.noarch.rpm
Проверим, что все нужные репозитории подключены.
yum repolist

Так как сервер будет у нас в локальной сети, то для простоты можно отключить встроенный файрвол. Если Вы не хотите его отключать, тут можно ознакомиться с примерами iptables для нижеописанных сервисов.
service iptables stop
service ip6tables stop
chkconfig --level 2345 iptables off
chkconfig --level 2345 ip6tables off
Теперь установим и настроим нужные нам пакеты: Samba, minidlna, transmission.

Установка и настройка Samba

yum -y install samba
Создадим директорию на разделе /home для нашего медиасервера и сделаем её доступной для записи всем.
mkdir /home/store
chmod a+w /home/store
Поскольку конфигурационный файл Samba огромен и задачи описать его тут не стоит, я привожу минимальный набор параметров, который небходим для работы. Вы можете скопировать эти параметры в Ваш чистый конфигурационный файл, предварительно сделав копию оригинального.
cp /etc/samba/smb.conf /etc/samba/smb.conf.ORIG
Далее очистим файл
cat /dev/null > /etc/samba/smb.conf
Редактиреум его vi /etc/samba/smb.conf, вставив следующие строки:

Разберем некоторые параметры:
2-6 строки убирают ошибку CUPS сервера описанную здесь.
7 строка определяет рабочую группу, в которой будут взаимодействовать все Ваши домашние компьютеры. Её можно посмотреть в настройках сети Вашего компьютера или ноутбука с Windows.
9 строка — сети, которым предоставлен доступ к ресурсам Samba. Пропишите тут свой адрес, если он отличается от 192.168.1.
12 — не вдаваясь в подробности, это режим работы Samba. В данном случае расшаривается директория без запроса логинов и паролей.
15 — имя нашей «шары». В данном случае files, можно задать любое, например media или MOIFILMY.
16 — путь к открываемой директории.
Теперь запустим Samba.
service smb start
service nmb start
Проверим с другого компьютера, что «шара» видна и есть возможность создавать и удалять файлы и папки. Например, в проводнике Windows откроем сеть -> имя медиасервера -> files.

Установка и настройка minidlna

Приступим к установке и настройке медиасервера. Следующая команда установит пакет minidlna со всеми зависимостями.
yum -y install minidlna
Рассматривать весь конфигурационный файл /etc/minidlna.conf тоже особого смысла нет. Отмечу необходимые минимальные параметры. Следующая команда покажет нам включенные параметры конфигурации minidlna.
cat /etc/minidlna.conf |grep -v ^#|tr -s "\n"

Пройдемся по некоторым параметрам.
1 строка — TCP-порт встроенного веб-сервера.
2 строка — самая главная настройка: директория содержащая медиаконтент. По умолчанию там /opt, тут уже прописана наша /home/store.
3 — директория для файла базы данных sqlite, используемой minidlna.
5 — имена файлов, используемых в качестве обложек. Можно добавить свои.
6 — параметр, овечающий за отслеживание новых и удаленных папок.
Если глубже покопаться в конфигурационном файле, можно найти дополнительные интересные параметры. Например классификация медиа контента. Указывается определенный префикс для сканирования файлов разного типа.

Теперь запустим медиасервер. service minidlna start. В качестве проверки посмотрим log-файл.
cat /var/log/minidlna/minidlna.log Сервер сканирует все папки и записывает в базу данных. На это требуется время, которое зависит от количества Ваших медиафайлов.

Все работает! Идем дальше.

Установка и настройка transmission-daemon

Transmission-daemon — торрент сервер, который будет скачивать нам медиаконтент и не только.
yum -y install transmission-daemon
Устанавливает торрент сервер, а также все нужные ему зависимости. Теперь создадим конфигурационный файл. Для этого запустим и остановим transmission-daemon.
service transmission-daemon start && service transmission-daemon stop
Изменим права доступа к директории и конфигурационному файлу.
chmod -R 755 /var/lib/transmission/.config/transmission
chmod 644 /var/lib/transmission/.config/transmission/settings.json
chown root:root /var/lib/transmission/.config/transmission
chown root:root /var/lib/transmission/.config/transmission/settings.json
Далее по сложившейся традиции разберем важные параметры конфигурационного файла торрент сервера /var/lib/transmission/.config/transmission/settings.json.
Директория для скаченных файлов.
"download-dir": "/home/store/files/new",
Директория для скачиваемых файлов и её активация true или false.
"incomplete-dir": "/home/store/files/running",
"incomplete-dir-enabled": true,
Активация авторизации для доступа к веб-интерфейсу, true или false.
"rpc-authentication-required": false,
Активация web-интерфейса.
"rpc-enabled": true,
Имя пользователя.
"rpc-username": "user_name",
Пароль пользователя (прописывается прямым текстом, но после перезапуска демона будет зашифрован).
"rpc-password": "password",
Порт для доступа к web-интерфейсу.
"rpc-port": 9091,
Список разрешенных ip адресов для доступа к web-интерфейсу.
"rpc-whitelist": "192.168.1.*,127.0.0.1",
"rpc-whitelist-enabled": false,
Директория для поключения торрент-файлов и её активация true или false
"watch-dir": "/home/store/files/torrent",
"watch-dir-enabled": true

Полный рабочий конфигурационный файл

[свернуть]

Создаем прописанные нами директории и меняем им права доступа.
mkdir -p /home/store/files/{running,torrent,new}
chmod -R 755 /home/store/files
chown -R transmission:transmission /home/store/files
(Директория /home/store/files/ никак не относится к «шаре» в настройках Samba, так получилось 🙂 )
Запускаем торрент сервер.
service transmission-daemon start

Использование

При скачивании торрент-файла на другом компьютере с какого-либо ресурса выбираем через сеть папку для сохранения files/torrent.
Так это выглядит в Windows.
Домашний медиасервер: minidlna, transmission
Так в Linux.
Домашний медиасервер: minidlna, transmission
Торрент сервер автоматически подхватывает скаченный файл. Меняя ему расширение на added, добавляет его в список закачек. Этим можно управлять как обычным торрент-клиентом, набрав в браузере IP-адрес медиасервера с портом 9091 или тем, что Вы прописале в конфиге. Например 192.168.33.130:9091. Подождём завершения загрузки.
Домашний медиасервер: minidlna, transmission
Далее запустив на своем телевизоре, подключенном к локальной сети, службу воспроизведения с медиасервера, увидим примерно такую картину.
Домашний медиасервер: minidlna, transmission
Не забудьте включить установленные и настроенные сервисы в автозагрузку сервера.
chkconfig --level 3 nmb on
chkconfig --level 3 smb on
chkconfig --level 3 minidlna on
chkconfig --level 3 transmission-daemon on

Домашний медиасервер: minidlna, transmission

Домашний медиасервер: minidlna, transmission: 2 комментария

  1. Алексей Автор записи

    Добавление про minidlna

    Следующая команда позволит пересканировать Вашу медиатеку вручную
    minidlnad -R
    Не забудьте
    service minidlna restart

  2. Алексей Автор записи

    Добавление про transmission
    Если в конфиругационный файл
    /var/lib/transmission/.config/transmission/settings.json
    прописать следующие параметры
    "dht-enabled": true,
    "utp-enabled": true,
    "pex-enabled": true,
    "port-forwarding-enabled": true,
    то торрент клиенты будут активней общаться между собой без запросов к трекеру.
    Очень полезно, если провайдер блокирует трекер 😉

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *