Домашняя торрент-качалка на базе Ubuntu server
Прошел год, как у меня появился свой домашний сервер для закачки всякой фигни из интернета, и теперь он наконец-то полностью настроен, за исключением некоторых некритичных мелочей
Под катом сама настройка Ubuntu Server 9.10, transmission-daemon, btpd и samba для файлопомойки.
Для начала ставим на комп операционку. Я выбрал убунту, так как она достаточна стабильна для моих нужд, имеет современный софт в своих репозиториях, а главное, самые последние версии типа того же трансмишна можно легко получить через сторонние репозитории проекта launchpad.
В общем, ставим убунту. Системный винт разбиваем на три раздела:
Этот винт не подразумевает хранение пользовательского контента на нем, так что 40 гигабайтов хватит с запасом. Можно было бы поставить и на флэшку, отключив при этом своп и логи, но мне пока хватает двух других винтов.
Я подключал дополнительные жесткие уже после установки системы, правя fstab (точки монтирования, естественно, уже должны быть созданы):
UUID винта можно посмотреть при помощи команды blkid, запущенной от рута.
В /etc/apt/sources.list вписываем репы launchpad
Ставим btpd, transmission-daemon, samba, btpd-webui.
Добавляем группу btpd
Добавляем себя в группы btpd и debian-transmission (внимание, во всех примерах мои настройки, в т.ч. и имя пользователя, меняйте на свои)
Создаем каталоги, куда будет литься файло и задаем им права
Создаем несколько симлинков для btpd и webui
Правим конфиги торрент-клиентов.
btpd, файл /etc/default/btpd, задаем максимальные скорости скачивания и отдачи;
transmission-daemon, файл /etc/transmission-daemon/settings.json (прежде чем его править, нужно остановить демон);
тут можно посмотреть пример моего конфига. Главные опции:
Правим /etc/init.d/btpd, чтобы он тоже создавал файло с маской 002
Настраиваем самбу
Пример конфига тут
Некоторые пояснения
Дальше или перезапускаем полностью сервак, или рестартуем сервисы, и запускаем sudo btpd-webui start
Теперь по ip-адресу или samba имени на порте 12321 будет висеть веб-морда btpd.
Для трансмишна предлагаю использовать transmission-remote-gui
Он есть и для винды, и для линукса. В его настройках нужно указать rpc-username и rpc-password из settings.json, ip-адрес сервера и порт (по умолчанию 9091).
Фаерволл не настраивал, ибо есть железный в роутере.
Под катом сама настройка Ubuntu Server 9.10, transmission-daemon, btpd и samba для файлопомойки.
Для начала ставим на комп операционку. Я выбрал убунту, так как она достаточна стабильна для моих нужд, имеет современный софт в своих репозиториях, а главное, самые последние версии типа того же трансмишна можно легко получить через сторонние репозитории проекта launchpad.
В общем, ставим убунту. Системный винт разбиваем на три раздела:
/dev/sda1 * 1 5 40131 83 Linux # раздел /boot 40 Мб
/dev/sda2 6 255 2008125 82 Linux своп / Solaris
/dev/sda3 256 4865 37029825 83 Linux # корень / - все остальное пространство
Этот винт не подразумевает хранение пользовательского контента на нем, так что 40 гигабайтов хватит с запасом. Можно было бы поставить и на флэшку, отключив при этом своп и логи, но мне пока хватает двух других винтов.
Я подключал дополнительные жесткие уже после установки системы, правя fstab (точки монтирования, естественно, уже должны быть созданы):
#storage 1TB
UUID=2f039c52-40f9-403c-81d6-d98dc401e47c /mnt/storage ext3 relatime 0 0
#music 640GB
UUID=af557066-199e-4a49-bd39-79eefd1426ff /mnt/music ext3 relatime 0 0
UUID винта можно посмотреть при помощи команды blkid, запущенной от рута.
В /etc/apt/sources.list вписываем репы launchpad
deb http://ppa.launchpad.net/transmissionbt/ubuntu karmic main
deb-src http://ppa.launchpad.net/transmissionbt/ubuntu karmic main
Ставим btpd, transmission-daemon, samba, btpd-webui.
sudo apt-get update
sudo apt-get install btpd transmission-daemon samba
sudo apt-get install subversion python2.5 python-twisted-bin python-twisted-core python-twisted-web
mkdir -p ~/temp/btpdgui && cd ~/temp/btpdgui
svn checkout http://btpd-webui.googlecode.com/svn/trunk/ btpd-webui-read-only
cd btpd-webui-read-only
python setup.py build && sudo python setup.py install
Добавляем группу btpd
sudo addgroup btpd
Добавляем себя в группы btpd и debian-transmission (внимание, во всех примерах мои настройки, в т.ч. и имя пользователя, меняйте на свои)
sudo usermod -aG btpd, debian-transmission daniel
Создаем каталоги, куда будет литься файло и задаем им права
sudo mkdir /mnt/storage/torrents
sudo mkdir /mnt/storage/torrents/btpdcontent
sudo mkdir /mnt/storage/torrents/tmcontent
sudo chown btpd:btpd /mnt/storage/torrents/btpdcontent
sudo chown debian-transmission: debian-transmission /mnt/storage/torrents/tmcontent
sudo chmod 775 /mnt/storage/torrents/tmcontent
sudo chmod 775 /mnt/storage/torrents/btpdcontent
Создаем несколько симлинков для btpd и webui
sudo rm -rf /var/lib/btpd/files && sudo ln -s /mnt/storage/torrents/btpdcontent /var/lib/btpd/files && sudo chmod -R 775 /var/lib/btpd && sudo chown btpd:btpd -R /var/lib/btpd
ln -s /var/lib/btpd ~/.btpd
sudo ln -s /var/lib/btpd /root/.btpd
Правим конфиги торрент-клиентов.
btpd, файл /etc/default/btpd, задаем максимальные скорости скачивания и отдачи;
transmission-daemon, файл /etc/transmission-daemon/settings.json (прежде чем его править, нужно остановить демон);
тут можно посмотреть пример моего конфига. Главные опции:
"download-dir": "\/mnt\/storage\/torrents\/tmcontent\/",
"rpc-enabled": true, # позволит использовать удаленное управление демоном
"rpc-password": "td",
"rpc-port": 9091,
"rpc-username": "td",
"umask": 2 # важная опция, с ней демон будет создавать файлы с правами 664 и каталоги с правами 775, т.е. для группы права на запись будут, по умолчанию маска стоит 022.
Правим /etc/init.d/btpd, чтобы он тоже создавал файло с маской 002
case "$1" in
start)
log_begin_msg "Starting the Bittorrent Protocol Daemon..."
start-stop-daemon --start --quiet --oknodo --name $NAME --user $USER \
--chuid $USER -g $USER --umask 002 --exec $DAEMON -- $DAEMON_OPTS
log_end_msg $?
;;
Настраиваем самбу
sudo smbpasswd -a daniel
sudo smbpasswd -e daniel
Пример конфига тут
Некоторые пояснения
[storage secure]
comment = storage RW
path = /mnt/storage
valid users = daniel, @btpd, @debian-transmission
read list = daniel, @btpd, @debian-transmission
write list = daniel, @btpd, @debian-transmission
read only = No
hosts deny = ALL
hosts allow = 192.168.0.0/255.255.255.0
#мы заблаговременно добавили себя в группы торрент-демонов,
#таким образом войдя в систему через ssh или по самбе,
#зарегистрировавшись, имеем полные права на изменение файлов.
# если основная система на виндах, то пользователь,
#лезущий на ресурс, должен иметь то же имя пользователя и пароль,
#что и на самбе, тогда его пустит без спроса,
#если же пользователь отличается, затребует пароль.
Дальше или перезапускаем полностью сервак, или рестартуем сервисы, и запускаем sudo btpd-webui start
Теперь по ip-адресу или samba имени на порте 12321 будет висеть веб-морда btpd.
Для трансмишна предлагаю использовать transmission-remote-gui
Он есть и для винды, и для линукса. В его настройках нужно указать rpc-username и rpc-password из settings.json, ip-адрес сервера и порт (по умолчанию 9091).
Фаерволл не настраивал, ибо есть железный в роутере.
Комментарии (10)
RSS свернуть / развернутьхороший мануал
Я например пользуюсь vuze
Просто кидаю .torrent файлы в папочку и он их подхватывает
а смотрю через web интерфейс
Но transmission remote поудобнее будет
Sergei_T
yababay
Насчет письма — скачал — Может выйдешь в ICQ?
Sergei_T
yababay
Sergei_T
А рторрентом я раньше пользовался, чтобы вышло примерно так же, как и с btpd, т.е. с веб-интерфейсом, нужно столько всего понаставить и настроить, что я забил на это.
Пользуясь случаем, выражаю благодарность Sergei_T за вовремя предоставленный нетбук, где я смог подтвердить появившуюся мысль
Skriva
Markony
FREExLOADER
Оказывается, transmission-daemon уже имеет нужную настройку в своем файле конфигов, а для btpd пришлось смотреть ман на программу start-stop-daemon.
Skriva
Запуск Java и Apache Felix в chroot jail окружении в Debian Lenny
Sergei_T
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.