Моя предыдущая тема " Делаем бота для автоматизации постинга " многим пришлась по нраву, я получил множество отзывов и пожеланий, большинство из которых была просьба описать установку и настройку системы на VPS. Ну что же, приступим!
Шаг 1:
Выбираем VPS.
Для качественной работы нам понадобятся такие системные параметры: 20-50 Gb места на жестком диске, 512-1024 Mb оперативной памяти и процессор 1000 MHz или больше. Операционная система FreeBSD 8.2-STABLE, да это не Linux, это намного лучше, по крайней мере для настройки подобной системы, так что с настройкой под ubuntu или centos всё будет несколько отличаться.
Шаг 2:
Подготовка к установки.
Далее нам понадобится программа PuTTY с помощью которой мы будем подсоединяться к нашему серверу и производить над ним все манипуляции.
После установки программы, запускаем её, вводим адрес нашего сервера и нажимаем открыть:
В появившемся окне пишем:
login as: root
Using keyboard-interactive authentication.
Password: ваш_пароль
Прим.: когда вы вводите пароль символы не видно, просто набираете пароль и нажимаете "Enter", если всё сделали правильно, то увидите это:
Проверяем что система у нас одинаковая, вбиваем в окно такую команду:
в ответ должны получить это:
FreeBSD rebill.me 8.2-STABLE FreeBSD 8.2-STABLE #2 r95: Wed Oct 5 11:31:11 IRKST 2011
root@freebsd8-amd64.ispsystem.net:/root/src/sys/amd64/compile/ISPSYSTEM amd64
Что мы будем устанавливать и настраивать:
- Нам понадобиться torrent клиент и веб-интерфейс для его управления через браузер, для этого мы воспользуемся rTorrent + ruTorrent.
- Для создания скриншотов мы воспользуемся той же программой - movie thumbnailer (mtn).
- Для получения технической информации о видео-файле мы также используем уже знакомый MediaInfo.
- Создавать архивы будем уже предустановленным "rar-4.0.1,3".
- Для выгрузки файлов по FTP воспользуемся предустановленным "curl-7.21.3_2".
Как видите нам нужно установить лишь: rTorrent, ruTorrent, mtn, MediaInfo и всё. Ну и потом всё это настроить. Приступим!
Шаг 3:
Установка rTorrent + ruTorrent.
Сразу предупреждаю что это единственный сложный момент в установки и настройке, всё остальное будет проходить намного проще, так что не пугайтесь, запасайтесь пивом или кофе и поехали.
Устанавливаем rTorrent:
# cd /usr/ports/net-p2p/rtorrent
# make && make install && make clean
Внимание! Устанавливать с XMLRPC.
Если всё прошло хорошо, а как иначе, то мы должны увидеть примерно следующее:
Добавляем пользователя, от имени которого будет работать rtorrent:
# pw useradd rtorrent -s /sbin/nologin
Создаем необходимые папки:
# cd /home/
# mkdir rtorrent
# cd rtorrent
# mkdir screens sessions torrents upload watch
# chown -R rtorrent:rtorrent /home/rtorrent/
Создаем конфигурационный файл для rtorrent:
# cd /home/rtorrent/
# touch .rtorrent.rc
# ee .rtorrent.rc
и вставляем туда этот конфиг:
download_rate = 0
upload_rate = 0
max_downloads_global = 1
directory = /home/rtorrent/torrents/
session = /home/rtorrent/sessions/
schedule = watch_directory,1,1,load_start=/home/rtorrent/watch/*.torrent
port_range = 40890-40890
port_random = no
session_save = yes
encryption = allow_incoming,try_outgoing
use_udp_trackers = yes
scgi_port = localhost:5000
encoding_list = UTF-8
system.method.set_key = event.download.finished,script,"execute=bash,/home/rtorrent/rebillme.sh,$d.get_name=,$d.get_base_path="
Создаем скрипт запуска rtorrent:
ee /usr/local/etc/rc.d/rtorrent.sh
вставляем туда это:
#!/bin/sh
#
#
# PROVIDE: rtorrent
# REQUIRE: LOGIN
# KEYWORD: shutdown
. /etc/rc.subr
name="rtorrent"
rcvar=`set_rcvar`
load_rc_config $name
: ${rtorrent_enable="NO"}
: ${rtorrent_downloads="/home/rtorrent/torrents"}
: ${rtorrent_sessions="/home/rtorrent/sessions"}
: ${rtorrent_scgi_port="5000"}
: ${rtorrent_encoding_list="UTF-8;cp1251;koi8-r"}
: ${rtorrent_args=""}
: ${rtorrent_user="rtorrent"}
: ${rtorrent_autoload_dir=""}
command="/usr/local/bin/rtorrent"
screen="/usr/local/bin/screen"
rtorrent_args="-d ${rtorrent_downloads} -s ${rtorrent_sessions} ${rtorrent_args}"
[ -n "${rtorrent_autoload_dir}" ] && rtorrent_args="-O schedule='watch_directory,5,5,load_start=${rtorrent_autoload_dir}' ${rtorrent_args}"
[ -n "${rtorrent_scgi_port}" ] && rtorrent_args="-O scgi_port='${rtorrent_scgi_port}' ${rtorrent_args}"
[ -n "${rtorrent_encoding_list}" ] && rtorrent_args="-O encoding_list='${rtorrent_encoding_list}' ${rtorrent_args}"
start_cmd="echo Starting ${name}.; su -m ${rtorrent_user} -c "${screen} -A -m -d -S rtorrent ${command} ${rtorrent_args}""
run_rc_command "$1"
chmod +x /usr/local/etc/rc.d/rtorrent.sh
Добавляем в автозагрузку:
rtorrent_enable="YES"
rtorrent_scgi_port="127.0.0.1:5000"
Первый старт и проверка:
# /usr/local/etc/rc.d/rtorrent.sh start
# sockstat | grep rtorrent
если всё ок, то вы должны увидеть что-то типа этого:
rtorrent rtorrent 82187 3 tcp4 127.0.0.1:5000 *:*
rtorrent rtorrent 82187 4 tcp4 *:6893 *:*
Установка mod_cgi:
# cd /usr/ports/www/mod_scgi
# make && make install && make clean
Проверка, подключен ли модуль в конфиге Apache22:
# ee /usr/local/etc/apache22/httpd.conf
удалите "#" перед:
LoadModule scgi_module libexec/apache22/mod_scgi.so
# ee /usr/local/etc/apache22/Includes/scgi.conf
<IfModule mod_scgi.c>
SCGIMount /RPC2 127.0.0.1:5000
<Location /RPC2>
Allow from all
## Enable only authorized users
AuthName "Enter password for torrent"
AuthType Basic
AuthUserFile /usr/local/www/rtorrent/.htpasswd
require valid-user
</Location>
</IfModule>
Установка веб-интерфейса rutorrent:
# cd /usr/local/www/
# wget http://rutorrent.googlecode.com/files/rutorrent-3.3.tar.gz
# tar xf rutorrent-3.3.tar.gz
# rm rutorrent-3.3.tar.gz
# mv rutorrent/ docs
# mkdir rtorrent
# mv docs/ rtorrent/
# chown -R www:www rtorrent/
Добавление настройки в Apache22 для rutorrent:
ee /usr/local/etc/apache22/Includes/rtorrent.conf
Alias /rtorrent/ /usr/local/www/rtorrent/docs/
<Directory "/usr/local/www/rtorrent/docs/">
Allow from all
AuthName "Enter password for torrent"
AuthType Basic
AuthUserFile /usr/local/www/rtorrent/.htpasswd
require valid-user
</Directory>
Установка пароля для доступа к веб-интерфейсу:
# htpasswd -c /usr/local/www/rtorrent/.htpasswd rtorrent
Вводим два раза желаемый пароль для доступа к веб-интерфейсу управления torrent клиентом.
Применение изменений в конфиге Apache22:
Проверяем: http://ip_вашего_сервера/rtorrent/