Сегодня я вам поведаю о том как установить Transmission без графического интерфейса пользователя (GUI), но с возможностью управления им через web-интерфейс. И это кстати работает без установки Apache и БД.
Итак, устанавливаем transmission-daemon:
# apt-get install transmission-daemon
Первым делом делом следует создать нового пользователя в системе. При этом, в целях безопасности, создаваемый пользователь должен быть без пароля за что и отвечает следующая опция «—disabled-password»:
# adduser —disabled-password transmission
После создания пользователя переключаемся в его консоль:
# su transmission
Здесь и далее, для явной идентификации команд, которые нужно запуска от имени вновь созданного пользователя я буду использовать префикс «transmission@host:~$».
Далее следует запустить transmission-daemon и тут же его остановить для того, чтобы он создал файлы с настройками по-умолчанию. Запускаем:
transmission@host:~$ transmission-daemon -f
где опция «-f» указывает на то, чтобы программа не демонизировалась.
Теперь, чтобы остановить transmission-daemon, на клавиатуре следует нажать CRTL-C. После этого все настройки по-умолчанию будут записаны в домашней папке пользователя transmission по следующему пути:
/home/transmission/.config/
Выполним конфигурацию Transmission. Для этого вашим любимым редактором нужно изменить файл settings.json. Этот файл содержит все настройки в формате JSON.
transmission@host:~$ nano /home/transmission/.config/transmission-daemon/settings.json
В данном файле находится множество настроек (полный список которых можно посмотреть вот тут), однако я обычно изменяю лишь эти:
«peer-port»: 51413 — порт входящих соединений. Если вы за NAT’ом то позаботьтесь о пробросе этого порта;
«download-dir»: «/home/transmission/Download» — папка в которой будут находиться загрузки. Кроме того, убедитесь что пользователь transmission, с правами которого работает torrent клиент, имеет право на запись по этому пути, так же не забудте создать эту папку;
«incomplete-dir»: «/home/transmission/Download/Incomplete» — папка в которой будут находиться еще не законченные загрузки. После завершения они будут перемещены по пути, указанному в опции «download-dir». Так же убедитесь что пользователь transmission имеет право на запись по этому пути и такая папка существует;
«incomplete-dir-enabled»: true — включение предыдущей опции;
«rpc-enabled»: true — включение удаленного управления. Сюда же относится и управление через web-интерфейс;
«rpc-whitelist-enabled»: true — включение так называемого «белого списка» IP-адресов, с которых возможно удаленное управление Transmission. Сюда же относится и удаленное управление через web-интерфейс;
«rpc-whitelist»: «127.0.0.1,192.168.*.*» — «белый список». Можно задавать не только локальные, но и реальные внешние IP адреса;
«rpc-authentication-required»: true — требовать аутентификацию для удаленного управления;
«rpc-username»: «логин» — логин для удаленного управления;
«rpc-password»: «пароль» — пароль;
«rpc-port»: 9091 — порт для доступа к удаленному управлению.
На будущее, хочу обратить ваше внимание на то, что простое изменение файла настроек settings.json во время работы Transmission не влияет на его работу а по выходу из него, они будут перезаписаны теми настройками, которые были на момент запуска. Чтобы работающий Transmission загрузил новые настройки во время своей работы ему следует отправить сигнал SIGHUP:
# killall -HUP transmission-daemon
Теперь, по окончанию настроек, лучше выйти из консоли пользователя transmission. Больше она нам не понадобится.
transmission@host:~$ exit
Настройка автозагрузки демона transmission-daemon
Запустим transmission-daemon с помощью systemctl:
# systemctl start transmission-daemon.service
Для того, чтобы transmission-daemon автоматически стартовал при старте машины нужно выполнить несколько несложных действий. Вначале, нужно скопировать файл настроект в дирректорию /var/lib/transmission-daemon/.config/transmission-daemon:
# cp -f /home/transmission/.config/transmission-daemon/settings.json /var/lib/transmission-daemon/.config/transmission-daemon/settings.json
Чтобы работающий Transmission загрузил новые настройки во время своей работы ему следует отправить сигнал SIGHUP:
# killall -HUP transmission-daemon
Перезапустим transmission-daemon с помощью systemctl:
# systemctl restart transmission-daemon.service
Включаем автозапуск transmission-daemon:
# systemctl enable transmission-daemon.service
Теперь, во время каждой загрузки машины, будет автоматически запускаться и наш torrent клиент.
Доступ к web-интерфейсу осуществляется браузером например так 192.168.0.2:9091 (при условии что адрес машины с установленным transmission-daemon 192.168.0.2).