четверг, 9 августа 2012 г.

Plex Media Server

Раздача медиа контента между ВСЕМИ устройствами дома (компьютер Win7 64/Ubuntu, ноутбук Win7 64/Ubuntu, 2 андроид телефона, iPad)


Для решения поставленной задачи был выбран Plex Media Server
Установка
Исправим файл soureces.list: sudo nano /etc/apt/sources.list.d/plex.list;
добавляем следующие строки:
deb http://www.plexapp.com/repo lucid main
Выполним команду: sudo apt-get update
Затем установим ключи:
apt-get install plex-archive-keyring
И саму программу: apt-get install plexmediaserver
Сейчас необходимо создать каталог где куда PMS будет смотреть на предмет медиа контента, желательно сделать это в папке /home, папример /home/media
sudo mkdir /home/media
так же заранее необходимо создать папки для различного вида файлов, например:
/media/films
/media/music

/media/serials
/media/foto
и т.д.
При установке создается пользователь "Plex", поэтому затем нужно передать права на созданую папку и все что в ней находится пользователю "Plex": sudo chown -hR Plex /home/media (необязательно как показала практика)
Теперь можно свободно заливать свои медиа файлы в имеющиеся папки, и производить дальнейшую настройку уже через web интерфейс.
Что бы попасть в web интерфейс необходимо перейти по адресу: http://IP_ВАШЕГО_СЕРВЕРА:32400/manage/
Настройка не занимает много времени, но и для любителей покопаться есть свои особенности (можно например самому написать плагин для поиска информации по фильмам или сериалам)
Хочется так же отметить что приложения на iPad и Android платные, но поверьте, они того стоят. Есть еще одна «фишка» этого медиа комплекса — myPlex. Он позволяет смотреть и слушать всю вашу медиатеку где бы вы не находились, к сожалению у меня это не работает (сижу за 2-мя NAT)


Бывает что ключики «слетают» и Plex не может обновится, вот выход:

Решение NO_PUB_KEY
wget http://plexapp.com/repo/pool/main/p/plex-archive-keyring/plex-archive-keyring_2.0.0_all.deb
sudo dpkg -i plex-archive-keyring_2.0.0_all.deb
sudo apt-get update
sudo apt-get upgrade

Торрент клиент на домашнем сервере

Организация работы торрент клиента и его выбор (просто быстро удобно)


Я остановил свой выбор на торрент клиенте Transmission. Он очень прост в эксплуатации и на него огромное количество веб интерфесов под любые ОС.

Установка

sudo apt-get install transmission daemon

Настройка (конфиг файл)

Для настройки необходимо остановить демон: sudo /etc/init.d/transmission-daemon stop
Настоим конфиг файл: sudo nano /etc/transmission-daemon/settings.json
Подробно остановимся на следующих пунктах:
download-dir: папка для загрузки торрентов, например, /home/downloads/ (при создании папки передайте права на нее пользователю Transmission или укажите 777 права.)
rpc-authentication-required: Нужна ли авторизация для доступа к веб-интерфейсу, true или false
rpc-enabled: вкл/выкл веб-интерфейс, true или false
rpc-username: пользователь
rpc-password: пароль, после перезапуска демона будет зашифрован
rpc-port: порт, по умолчанию 9091
rpc-whitelist: ip-адреса через запятую, с которых разрешен доступ, можно использовать *, например, "127.0.0.*,192.168.*.*"
rpc-whitelist-enabled: разрешить белый список
speed-limit-down: ограничение скорости загрузки в кбит/с, по умолчанию 100
speed-limit-down-enabled: включить ограничение скорости загрузки, true или false
speed-limit-up: ограничение скорости раздачи в кбит/с, по умолчанию 100
speed-limit-up-enabled: включить ограничение скорости раздачи, true или false
alt-speed-enabled: включение "Turtle Mode" - временное ограничение скорости
alt-speed-up:
временное ограничение скорости загрузки в кбит/с, по умолчанию 50 (слишком мало на мой взгляд не хватает пары нулей, но тут стоит смотреть на пропускную способность вашего канала.
alt-speed-down: временное ограничение скорости раздачи в кбит/с, по умолчанию 50
Планировщик позволяет ограничивать скорость по расписанию
ratio-limit: лимит на отдачу, по умолчанию 2.0
alt-speed-time-enabled: включить планировщик, по умолчанию false (отключены)
alt-speed-time-begin: время в минутах от 0:00 до начала действия правил, по умолчанию=540 — 9 часов утра
alt-speed-time-end: время в минутах от 0:00 до окончания действия правил, по умолчанию=1020 — 5 часов вечера
alt-speed-time-day: битовая маска дней, по которым действуют правила.

воскресенье: 1 (0000001)
понедельник: 2 (0000010)
вторник: 4 (0000100)
среда: 8 (0001000)
четверг: 16 (0010000)
пятница: 32 (0100000)
суббота: 64 (1000000)
рабочие дни: 62 (0111110)
выходные: 65 (1000001)
все дни: 127 (1111111)

peer-limit-global: максимальное количество подключенных пиров, по умолчанию 240
peer-limit-per-torrent: максимальное количество подключенных пиров на торрент, по умолчанию 60 (слишком большое количество будет тормозить интернет канал, слишком малое тормозить загрузку, рекомендую поэкспериментировать с этим параметром.
peer-port: порт входящих соединений, 51413 незабываем пробросить (если есть роутер)
preallocation: 2 (чтобы не фрагментировалась фс)

Настраиваем все на свой вкус и запускаем демон: sudo /etc/init.d/transmission-daemon start

Вебморда+плагины для FireFox и Google Chrome

Для удобства добавления торрентов в Transmission я использую плагины для браузеров Firefox и Chrome
Для Огнелиса использую плагин BitTorrent Web UI, для Хрома Remote Transmission Plus
Настройки их элементарные и не нуждаются в описании.
Upd. 23.09.2012 Для Windows платформы я так же использую Transmisson-remote-gui, хотя его так-же можно использовать под любой ОС

Создание файлового сервера

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


Было решено использовать для этой задачи файловый сервер SAMBA
Установка
sudo apt-get install samba
Конфиг файл хранится: /etc/samba/smb.conf, но я предлагаю настроить SAMBA с помощью Webmin 

Настройка с помощью Webmin:

Для начала установим Webmin.
Для этого потребуется добавить репозиторий в /etc/apt/sources.list в конец этого файла дописываем следующие строки:
deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

Затем получаем GPG key:
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc

Далее устанавливаем программу обычным методом:
apt-get update
apt-get install webmin

После установки приступаем к настройке самого веб-клиента.
Для этого переходим по адресу: https://IP_АДРЕС_ВАШЕГО_СЕРВЕРА:10000, после log in’а можно установить русский язык, и ряд других настроек.
Настройка Samba
Переходим на вкладку: службы->файловый сервер SAMBA
для того чтобы активировать сетевой диск зайдем на вкладку “создание нового файлового ресурса” где нам предстоит выбрать имя ресурса, путь к директории которую вы собираетесь “расшарить”, а так же права доступа, собственника и группу собственника ресурса. После введенных изменений нажимаем создать, перезапускаем сервис, или сервер целиком и пробуем зайти на полученный ресурс, должно все получится.
Если хотите можно настроить еще множество параметров, но настройке “самбы” просвещено немало статей в сети интернет, и если вам нужно что-то больше чем простой файловый ресурс, рекомендую воспользоваться поиском.

Подъем SSH сервера

Подъем SSH сервера

Если при установки системы вы не подняли SSH сервер, то это можно сделать уже позднее
sudo apt-get install openssh-server
Настройка производится через редактирование конфигурационного файла:
sudo nano /etc/ssh/sshd_config
В интернете довольно много статей по его настройке, да и из самого файла можно понять что за что отвечает.
Есть смысл остановить внимание на одном моменте: 
AllowUsers user@* user1@192.168.1.10 *@192.168.1.*
AllowUsers - предоставляет доступ к ssh с конкретных ip адресов, конкретным пользователям, знак “*” разрешает доступ со спектра адресов, или всем пользователям.

Домашний сервер для всего


Не предисловие=)

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

Поставленные цели:

  1. Организация свободного, быстрого доступа к файлам хранящимся на сервере (DONE)
  2. Организация работы торрент клиента и его выбор (просто быстро удобно) (DONE)
  3. Раздача медиа контента между ВСЕМИ устройствами дома (компьютер Win7 64/Ubuntu, ноутбук Win7 64/Ubuntu, 2 андроид телефона) (DONE)
  4. FTP – После того как я поднял SAMBA я решил что FTP мне не нужен в принципе.

Предисловие

Дома я использую Ноутбук Asus N55SF (использует в основном жена), на котором установлена Windows 7 Home Расширенная и Ubuntu 12,04 1 стационарный комп. Основной под управлением Ubuntu 12.04 и дополительная ось Windows 7 Home (для игр и торговый терминал QUICK). Еще есть 2 андроид смартфона и iPad 3-го поколения. 
Естественно мне хотелось иметь весь свой доступный контент на всех этих устройствах, желательно моментально быстро и без всякого гемороя.

Идею поднять файловый сервер я вынашивал давно, но всегда было жалко тратить деньги на то, что не является первой необходимостью (я с большим удовольствием сделаю Upgrade основной машины, на те средства что можно было потратить на изготовление сервера), а тут на работе списывали старые компьютеры и мне перепал 1 был это Dell Optiplex 520 под управлением Intel®Celeron® D 341, имеющий на борту 512 mb DDR2 памяти и жесткий диск Seagate 80 гб (сейчас демонтирован за ненадобностью). В тот же день когда компьютер попал ко мне домой был скачан диструбутив Ubuntu Server x86 12.04 LTS, и установлен на машину, после чего на нем был поднят SSH server, отключена клавиатура, монитор и мой сервер благополучно перекочевал в дальний угол. (Для работе в среде Windows с SSH я использую клиент PuTTY).