How-to, linux @ 22 Январь 2009
В общем по многочисленным просьбам трудящихся, исправленная и переработанная версия how-to установки rtorrent+wtorrent(rtGui и прочих). Установка будет происходить на примере wtorrent, однако Вы без проблем сможете устаноть любой другой понравившийся веб интерфейс.
Из необходимых оговорок: эта связка ставилась на Debian 5 Lenny, вот буквально пару часов назад.
В ходе этого хауту я буду давать необходимые и достаточные пояснения по описанию того, что мы там будем делать. В конце я буду рад замеченным Вами ошибкам, дополнениям.
Итак, установка будет происходить как и в прошлый раз на вебсервер Apache(в testing это 2.2.9) и php5(5.2.6)
Установка будет происходить из репозиториев, благо это достаточно быстрый и удобный способ. Особой производительности полученного вебсервера нам не требуется. Под катом собственно сама установка.

Итак, начнём.
Для начала установим необхимые и достаточные компоненты системы:
(Все команды отмеченные # запускаются от рута или командой sudo)
# aptitude install apache2 php5 php5-xmlrpc rtorrent sudo php5-sqlite sqlite libxmlrpc-c3 libapache2-mod-scgi screen subversion
Создаём необхоимые директории:
mkdir ~/public_html
mkdir ~/public_html/data
mkdir ~/public_html/downloads
mkdir ~/public_html/torrents/
mkdir ~/public_html/torrents/session

Теперь нужно будет сконфигурировать apache, чтобы он смотрел туда куда нам надо:
# nano /etc/apache2/sites-available/default
Вписываем туда(далее по тексту user - имя пользователя):

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /home/user/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/user/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so
SCGIMount /RPC2 127.0.0.1:5000
</VirtualHost>


Рестартуем апач:
# /etc/init.d/apache2 restart

При редактировании конфига апача мы вписали две необходимые строки:
LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so
SCGIMount /RPC2 127.0.0.1:5000

Подключение модуля scgi для apache2, без которого всё это работать не будет.

Теперь нужно будет настроить сам rtorrent:
Создаём файл конфигурации rtorrent:
touch ~/.rtorrent.rc
nano ~/.rtorrent.rc
Вписываем туда:
scgi_port = 127.0.0.1:5000
min_peers = 100
max_peers = 100
min_peers_seed = 100
max_peers_seed = 100
max_uploads = 100
download_rate = 0
upload_rate = 0
directory = /home/user/public_html/torrents
session = /home/user/public_html/torrents/session
schedule = watch_directory,5,5,load_start=/home/user/public_html/downloads/*.torrent
port_range = 6890-6890
port_random = no
check_hash = yes
peer_exchange = yes

Подробнее о конфигурационном файле можно почитать у меня здесь
Заметим, что в конфигурационном файле встречается scgi, IP и порт должны быть те же самые, что и в конфигурационном файле apache.

Теперь настроим автозапуск rtorrent при перезагрузке системы:
# wget http://libtorrent.rakshasa.no/attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh?format=raw -O /etc/init.d/rtorrent
Теперь его нужно отредактировать:
# nano /etc/init.d/rtorrent
Меняем в строке user="user", "user" на Ваше имя пользователя.
Теперь собственно добавляем автозапуск, и стартуем rtorrent:
# chmod +x /etc/init.d/rtorrent
# update-rc.d rtorrent defaults
# /etc/init.d/rtorrent st
art
Проверяем что у нас запустилось:
screen -dr rtorrent
Выходим: Ctrl+A затем жмём D.
Итак, основную часть мы уже настроили.
Осталось настроить непосредственно веб интерфейс.

Устанавливаем wtorrent:
cd ~/public_html
svn co svn://wtorrent-project.org/repos/trunk/wtorrent/
mv wtorrent/* .
mv conf/mv sample.user.conf.php conf/user.conf.php
chmod 755 -R *

Запускаем установку http://localhost/install.php
Вот скриншот настроек:
http://files.librarian.spb.ru/screenshot-wtorrent.png
Жмём Try Configuration
wtorrent через xmlrpc подсоединится к rtorrent, если всё прошло успешно - жмём - Save Configuration.
После этого удаляем
rm ~/public_html/install.php
И открываем http://localhost/
Вводим данные для доступа, и открывается wtorrent.
Поскольку у меня rtorrent теперь крутится на старом ноутбуке то закачивать torrent фапйлы нужно по ssh
Для автоматической закачки torrent-ов, могу порекомендовать расширение для Firefox - Favlock, там можно задать раздел на диске куда можно будет скидывать .torrent файлы, а раздел этот подмонтировать через SSHFS, как это сделать можно почитать у меня в соответсвующем посте

60 Response to “Как установить веб интерфейс к rtorrent(wtorrent, rtGui). Дубль 2.”

  1. Федя (анонимно) Says:

    Спасибо=)

  2. Vladimir (анонимно) Says:

    я недавний пользователь линукса (дистрибутив Fedora10). поставил себе apache2 из исходников последнюю версию. в etc папочка apache2 отсутствует... есть папочка /etc/httpd. Она прописана в /etc/httpd/conf/httpd.conf как ServerRoot=/etc/httpd. Это та же самая папка что и apache2 у вас в описании?

    sites-available тоже нет. Я её создал. Но какие ей поставить права?

  3. librarian Says:

    /etc/httpd и /etc/apache2

    Насколько я знаю - одно и то же.

    sites-available если там нет, то можно конфиг вписать напрямую в httpd.conf, а можно заинклудить

    sites-available и какой либо конфиг внутри можно создать, по идее командой a2ensite(вроде так)

    Права на папку:

    4,0K drwxr-xr-x 2 root root 4,0K Янв 22 23:26 sites-available

    4,0K drwxr-xr-x 2 root root 4,0K Янв 22 01:25 sites-enabled

  4. Tolsty Says:

    Спасибо! Пригодится точно! Главное что подробно.

  5. Antiarchitect (анонимно) Says:

    Мне очень понравился стиль изложения (действия, подробный комментарий). Одним из плюсов является то, что написано для связки с apache. Но вот на этапах настройки возникла маленькая загвоздочка: вебморда wTorrent пишет следующее: Error! Cannot connect to rtorrent (please check blablabla).

    При этом:

    ----------------------------------------------------------------------------

    linux-x8l2:/home/andrey # netstat -npl | grep rtorrent

    tcp 0 0 127.0.0.1:5000 0.0.0.0:* LISTEN 2619/rtorrent

    tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 2619/rtorrent

    ----------------------------------------------------------------------------

    на 10000 - не надо обращать внимания - это у него порт такой нестандартный для собственных нужд, а вот 5000 слушает как положено.

    Далее:

    ----------------------------------------------------------------------------

    rtorrent 2605 0.0 0.0 21356 1012 ? Ss 00:09 0:00 SCREEN -dm -S rtorrent

    rtorrent 2606 0.0 0.0 20288 2244 pts/3 Ss+ 00:09 0:00 /bin/bash

    rtorrent 2619 0.0 0.1 72100 5144 pts/4 Ss+ 00:09 0:01 rtorrent

    root 8220 0.0 0.0 7360 876 pts/0 S+ 02:19 0:00 grep rtorrent

    -----------------------------------------------------------------------------

    То есть и запущен в screen как положено, а вот что смущает:

    -----------------------------------------------------------------------------

    linux-x8l2:/srv/www/wtorrent/conf # screen -dr rtorrent

    There is no screen to be detached matching rtorrent.

    -----------------------------------------------------------------------------

    Если у автора статьи или у других умных людей, читающих этот блог будут идеи и соображения на этот счет - буду очень рад.

  6. librarian Says:

    В конфиг rtorrent добавили строчку:

    scgi_port = 127.0.0.1:5000

    ?

    В конфиг апача:

    LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so SCGIMount /RPC2 127.0.0.1:5000

    ?

    В конфиге wtorrent что у Вас?

    Чтобы rtorrent работал в сессии screen, конкретно по этой хауту, нужно запустить sudo /etc/init.d/rtorrent start

    Чтобы просто добавить rtorrent в screen нужно

    screen rtorrent

    Выходим Ctrl+A D

    Возвращаемся screen -r

  7. Antiarchitect (анонимно) Says:

    /home/rtorrent/.rtorrent.rc

    -----------------------------------------------------------------------------

    scgi_port = 127.0.0.1:5000

    encoding_list = UTF-8

    min_peers = 1

    max_peers = 1000

    min_peers_seed = 10

    max_peers_seed = 50

    max_uploads = 15

    upload_rate = 0

    download_rate = 0

    directory = /STORAGE/MYTORRENTS/current/

    session = /STORAGE/MYTORRENTS/.sessions

    schedule = watch_directory,5,5,load_start=/STORAGE/MYTORRENTS/files/*.torrent

    schedule = tied_directory,5,5,start_tied=

    schedule = untied_directory,5,5,close_untied=

    on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,/STORAGE/MYTORRENTS/data/ ;d.set_directory=/STORAGE/MYTORRENTS/data/"

    on_start = link1,"create_link=tied,,.started"

    on_stop = link1,"delete_link=tied,,.started"

    on_finished = link1,"create_link=tied,,.finished"

    on_erase = link1,"delete_link=tied,,.finished"

    schedule = low_diskspace,5,60,close_low_diskspace=100M

    #schedule = ratio,60,60,"stop_on_ratio=120,200M,2000"

    port_range = 10000-10001

    port_random = no

    check_hash = yes

    use_udp_trackers = yes

    encryption = allow_incoming,try_outgoing,enable_retry

    dht = auto

    dht_port = 63982

    -----------------------------------------------------------------------------

    /etc/apache2/vhosts.d/wtorrent.conf

    -----------------------------------------------------------------------------

    ServerAdmin coder-88@yandex.ru

    ServerName www.mytorrent.home

    DocumentRoot /srv/www/wtorrent

    ErrorLog /var/log/apache2/mytorrent-error_log

    CustomLog /var/log/apache2/mytorrent-access_log combined

    HostnameLookups On

    UseCanonicalName On

    ServerSignature On

    ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"

    AllowOverride None

    Options +ExecCGI -Includes

    Order allow,deny

    Allow from all

    UserDir public_html

    Include /etc/apache2/mod_userdir.conf

    Options Indexes FollowSymLinks MultiViews

    AllowOverride None

    Order allow,deny

    Allow from all

    LoadModule scgi_module /usr/lib64/apache2/mod_scgi.so

    SCGIMount /RPC2 127.0.0.1:5000

    -----------------------------------------------------------------------------

    /etc/init.d/rtorrent

    -----------------------------------------------------------------------------

    #!/bin/sh

    user="rtorrent"

    # the system group to run as, not implemented, see d_start for beginning implementation

    # group=`id -ng "$user"`

    # the full path to the filename where you store your rtorrent configuration

    config="`su -c 'echo $HOME' $user`/.rtorrent.rc"

    # set of options to run with

    options=""

    # default directory for screen, needs to be an absolute path

    base="`su -c 'echo $HOME' $user`"

    # name of screen session

    srnname="rtorrent"

    # file to log to (makes for easier debugging if something goes wrong)

    logfile="/var/log/rtorrentInit.log"

    PATH=/usr/bin:/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin

    DESC="rtorrent"

    NAME=rtorrent

    DAEMON=$NAME

    SCRIPTNAME=/etc/init.d/$NAME

    checkcnfg() {

    exists=0

    for i in `echo "$PATH" | tr ':' '\n'` ; do

    if [ -f $i/$NAME ] ; then

    exists=1

    break

    fi

    done

    if [ $exists -eq 0 ] ; then

    echo "cannot find rtorrent binary in PATH $PATH" | tee -a "$logfile" >&2

    exit 3

    fi

    if ! [ -r "${config}" ] ; then

    echo "cannot find readable config ${config}. check that it is there and permissions are appropriate" | tee -a "$logfile" >&2

    exit 3

    fi

    session=`getsession "$config"`

    if ! [ -d "${session}" ] ; then

    echo "cannot find readable session directory ${session} from config ${config}. check permissions" | tee -a "$logfile" >&2

    exit 3

    fi

    }

    d_start() {

    [ -d "${base}" ] && cd "${base}"

    stty stop undef && stty start undef

    su -c "screen -ls | grep -sq "\.${srnname}[[:space:]]" " ${user} || su -c "screen -dm -S ${srnname} 2>&1 1>/dev/null" ${user} | tee -a "$logfile" >&2

    # this works for the screen command, but starting rtorrent below adopts screen session gid

    # even if it is not the screen session we started (e.g. running under an undesirable gid

    #su -c "screen -ls | grep -sq "\.${srnname}[[:space:]]" " ${user} || su -c "sg \"$group\" -c \"screen -fn -dm -S ${srnname} 2>&1 1>/dev/null\"" ${user} | tee -a "$logfile" >&2

    su -c "screen -S "${srnname}" -X screen rtorrent ${options} 2>&1 1>/dev/null" ${user} | tee -a "$logfile" >&2

    }

    d_stop() {

    session=`getsession "$config"`

    if ! [ -s ${session}/rtorrent.lock ] ; then

    return

    fi

    pid=`cat ${session}/rtorrent.lock | awk -F: '{print($2)}' | sed "s/[^0-9]//g"`

    if ps -A | grep -sq ${pid}.*rtorrent ; then # make sure the pid doesn't belong to another process

    kill -s INT ${pid}

    fi

    }

    getsession() {

    session=`cat "$1" | grep "^[[:space:]]*session[[:space:]]*=" | sed "s/^[[:space:]]*session[[:space:]]*=[[:space:]]*//" `

    echo $session

    }

    checkcnfg

    case "$1" in

    start)

    echo -n "Starting $DESC: $NAME"

    d_start

    echo "."

    ;;

    stop)

    echo -n "Stopping $DESC: $NAME"

    d_stop

    echo "."

    ;;

    restart|force-reload)

    echo -n "Restarting $DESC: $NAME"

    d_stop

    sleep 1

    d_start

    echo "."

    ;;

    *)

    echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2

    exit 1

    ;;

    esac

    exit 0

    -----------------------------------------------------------------------------

    /srv/www/wtorrent/conf/user.conf.php

    -----------------------------------------------------------------------------

  8. librarian Says:

    В rtorrent через screen заходит? а то у меня такое ощущение создается, что просто напросто rtorrent не запущен.

    В /var/log/rtorrentInit.log что там пишет?

    Apache/rtorrent перезапускать пробовали?

    При перезапуске apache ни на что не ругается?

  9. Antiarchitect (анонимно) Says:

    Кстати:

    -----------------------------------------------------------------------------

    /srv/www/wtorrent/conf/user.conf.php

    -----------------------------------------------------------------------------

    <?php

    /* wTorrent autoconfiguration file. Created 25/1/2009 */

    define ('LANGUAGE', 'ru_RU');

    define ('DB_FILE', 'db/database.db');

    define ('RT_HOST', 'localhost');

    define ('RT_PORT', 5000);

    define ('RT_DIR', '/RPC2');

    define ('RT_AUTH', false);

    define ('RT_USER', '');

    define ('RT_PASSWD', '');

    define ('NO_MULTICALL', true);

    define ('EFFECTS', true);

    define ('DIR_TORRENTS', '/STORAGE/MYTORRENTS/files');

    define ('DIR_EXEC', '/srv/www/wtorrent/');

    define ('DIR_DOWNLOAD', '/STORAGE/MYTORRENTS/data');

    ?>

  10. Antiarchitect (анонимно) Says:

    Апач ни на что не ругается, рторрент перезапускается нормально:

    linux-x8l2:/srv/www/wtorrent # service apache2 restart

    Syntax OK

    Shutting down httpd2 (waiting for all children to terminate) done

    Starting httpd2 (prefork) done

    linux-x8l2:/srv/www/wtorrent # service rtorrent restart

    Restarting rtorrent: rtorrent.

    linux-x8l2:/srv/www/wtorrent #

  11. librarian Says:

    Вообще говоря проверить можно:

    screen -dr rtorrent

    Но судя по предыдущим сообщениям, это у вас почему то не работает

    попробуйте просто запустить rtorrent(если можно - скрин тоже) и попробовать запустить wtorrent

    В самом rtorrent должно быть что то типа:

    ( 8:44:45) Using 'epoll' based polling.

    ( 8:44:45) XMLRPC initialized with 444 functions.

    ( 8:44:45) The SCGI socket is bound to a specific network device yet may still pose a security risk, consider using 'scgi_local'

  12. Antiarchitect (анонимно) Says:

    screen rtorrent выдает (предварительно убил предыдущие процессы, поместил .rtorrent.rc в /root, запускаю от рута):

    (15:19:40) Using 'epoll' based polling.

    (15:19:40) XMLRPC initialized with 496 functions.

    (15:19:40) The SCGI socket is bound to a specific network device yet may still pose a security risk, consider using 'scgi_local'.

    (15:19:40) Deprecated on_* commands, use 'system.method.set_key = event.download.{inserted, erased, ...}, , ' instead.

    [Throttle off/off KB] [Rate 0,0/ 0,0 KB] [Port: 10000] [U 0/0] [D 0/0] [H 0/32] [S 0/3/768] [F 0/128]

  13. Antiarchitect (анонимно) Says:

    /* wTorrent autoconfiguration file. Created 25/1/2009 */

    define ('LANGUAGE', 'ru_RU');

    define ('DB_FILE', 'db/database.db');

    define ('RT_HOST', 'localhost');

    define ('RT_PORT', 5000);

    define ('RT_DIR', '/RPC2');

    define ('RT_AUTH', false);

    define ('RT_USER', '');

    define ('RT_PASSWD', '');

    define ('NO_MULTICALL', true);

    define ('EFFECTS', true);

    define ('DIR_TORRENTS', '/STORAGE/MYTORRENTS/files');

    define ('DIR_EXEC', '/srv/www/wtorrent/');

    define ('DIR_DOWNLOAD', '/STORAGE/MYTORRENTS/data');

  14. Antiarchitect (анонимно) Says:

    Ошибка, выдаваемая wtorrent:

    Error: cannot connect to rtorrent, please check host, folder and port values (and user/password if you have auth set up).

  15. Antiarchitect (анонимно) Says:

    Покажите пожалуйста вывод ps aux | grep rtorrent - хочу посмотреть параметры запуска rtorrent в screen.

  16. librarian Says:

    define ('RT_HOST', 'localhost');

    define ('RT_PORT', 5000);

    define ('RT_DIR', '/RPC2');

    Видимо где то здесь собака порылась, попробуй localhost на 127.0.0.1 поменять

  17. librarian Says:

    SCREEN -dm -S rtorrent

    Покдлючаюсь: screen -dr rtorrent

    Если внимательно посмотреть init скрипт, там это явно видно.

  18. Antiarchitect (анонимно) Says:

    Я разобрался в чем дело: это просто горе от ума + невникание в английский язык. Вобщем при настройке вебморды параметры в файле должны быть:

    define ('RT_HOST', '127.0.0.2');

    define ('RT_PORT', 80);

    define ('RT_DIR', '/RPC2');

    З.Ы. 127.0.0.2 и 80 - это ip и порт, на котором непосредствено висит вебморда. (У меня виртуалхост настроен на 127.0.0.2:80)

  19. koklush (анонимно) Says:

    У меня вопрос чем заменить команду

    # update-rc.d rtorrent defaults # для OpenSuse 11.0? В Linux`e новичек, но качалку на серв поставить охота! Спасибо за внимание и статью!

  20. Аноним (анонимно) Says:

    Здравствуйте. Заработало. Все очень классно. Мне нравится. И у меня два уточняющих вопроса:

    1. Если я удаленно добавляю торент, то куда ложится торент-файл?

    2. И я поставил default folder to save torrent data в ту папку, которая указана на картинке. Теперь инсталятор уже запустить не получается, я его удалил. Может где-то можно зайти в какой-то конфиг и исправить это значение?

    Спасибо за ваш труд и вашу статью.

  21. librarian Says:

    в conf/user.conf.php define ('DIR_TORRENTS','/bla/bla/bla...');

    Он в любом случае добавляется в rtorrent независимо от shedule

    По второму пункту - там же, но DIR_DOWNLOAD в комментариях выше конфиг описан.

  22. nyxx (анонимно) Says:

    Если кто-либо сочтет, что апач слишком громоздок и захочет воспользоваться lighttpd, то конфиг в этом случае может выглядеть приблизительно следующим образом:

    var.basedir = "/var/www/" var.logdir = "/var/log/lighttpd" var.statedir = "/var/lib/lighttpd" server.modules = ( "mod_access", "mod_auth", "mod_accesslog", "mod_scgi" ) include "mime-types.conf" include "mod_fastcgi.conf" server.username = "lighttpd" server.groupname = "lighttpd" server.document-root = var.basedir + "/public_html" server.pid-file = "/var/run/lighttpd.pid" server.errorlog = var.logdir + "/error.log" server.indexfiles = ("index.php", "index.html", "index.htm", "default.htm") server.follow-symlink = "enable" server.port = 443 static-file.exclude-extensions = (".php", ".pl", ".cgi", ".fcgi") accesslog.filename = var.logdir + "/access.log" dir-listing.activate = "enable" dir-listing.hide-dotfiles = "enable" dir-listing.encoding = "utf-8" url.access-deny = ("~", ".inc") scgi.server = ( "/RPC2" => # RT_DIR ( "127.0.0.1" => ( "host" => "127.0.0.1", # Ip where rtorrent is listening "port" => 5000, # Port specified in .rtorrent.rc "check-local" => "disable" ) ) )
  23. librarian Says:

    Эта инфа на оф сайте есть :)

  24. Dima (анонимно) Says:

    Для centos 5 установку rtorrent можно пояснить?

  25. librarian Says:

    2Dima к сожалению подробно объяснить не смогу :) Но общие принципы те же, а уж если Вы освоили Cent OS то думаю и это освоить не проблема.

  26. Mark5 (анонимно) Says:

    screen -dr rtorrent

    от рута не работает потому что эту команду надо запускать от имени пользователя которое мы прописали в /etc/init.d/rtorrent

    screen сессия создается именно для него

    под рутом мы ее не увидим :)

  27. Игорь (анонимно) Says:

    выдает ошибку. Сделал все 777 - не помогло... кто можешь подсказать???

    Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in /mnt/hdd/html_wtorrent/lib/cls/PDOe.cls.php:52 Stack trace: #0 /mnt/hdd/html_wtorrent/lib/cls/PDOe.cls.php(52): PDO->__construct('sqlite:db/datab...', NULL, NULL) #1 /mnt/hdd/html_wtorrent/cls/install.cls.php(187): PDOe->__construct('sqlite:db/datab...', NULL, NULL, Array) #2 /mnt/hdd/html_wtorrent/cls/install.cls.php(75): install->saveConfig(Array) #3 /mnt/hdd/html_wtorrent/lib/cls/Web.cls.php(106): install->__construct() #4 /mnt/hdd/html_wtorrent/install.php(32): Web::getClass('install') #5 {main} thrown in /mnt/hdd/html_wtorrent/lib/cls/PDOe.cls.php on line 52

  28. librarian Says:

    sqlite и php5-sqlite поставь.

  29. Игорь Г. (анонимно) Says:

    Доброго времени суток!

    Все устанавливал по Вашей инструкции. rTorrent работает, спасибо!

    Но вот с wTorrent проблема, точнее с appach - в каталоге /usr/lib/apache2/modules отсутствует файл mod_scgi.so

    Что делать?

  30. Игорь Г. (анонимно) Says:

    Сорри! Проблему с отсутствием mod_scgi.so решил. Страница настройки install.php открывается, ввоже настройки - выдает Configuration seems fine, you can save it now

    Ввожу логин и пароль, жму Save configuration и получаю ошибку:

    Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in /var/www/lib/cls/PDOe.cls.php:52 Stack trace: #0 /var/www/lib/cls/PDOe.cls.php(52): PDO->__construct('sqlite:db/datab...', NULL, NULL) #1 /var/www/cls/install.cls.php(187): PDOe->__construct('sqlite:db/datab...', NULL, NULL, Array) #2 /var/www/cls/install.cls.php(75): install->saveConfig(Array) #3 /var/www/lib/cls/Web.cls.php(106): install->__construct() #4 /var/www/install.php(32): Web::getClass('install') #5 {main} thrown in /var/www/lib/cls/PDOe.cls.php on line 52

  31. Игорь Г. (анонимно) Says:

    php5-sqlite не ставится...

    Couldn't find any package whose name or description matched "php5-sqlite"

  32. Игорь Г. (анонимно) Says:

    Сорри,все проблемы решил сам...

  33. Сайков Валентин (анонимно) Says:
    Fatal error: Smarty error: unable to write to $compile_dir '/home/valek/public_html/tpl_c'. Be sure $compile_dir is writable by the web server user. in /home/valek/public_html/lib/smarty/Smarty.class.php on line 1092
    

    Вот такая ошибка выдается когда коннектюсь к localhost... Что не верно сделал?

    apache и rtorrent запущены.

    valek@valek:~/public_html$ ps aux | grep rtorrent
    valek     2617  0.0  0.1   4384  1368 ?        Ss   05:15   0:00 SCREEN -dm -S rtorrent
    valek     7759  0.0  0.6  12212  4652 pts/1    Ss+  05:37   0:00 rtorrent
    valek     9007  0.0  0.1   3144   788 pts/4    S+   05:42   0:00 grep rtorrent
    

    Тут тоже все впорядке, коннектится по порту в заданном диапазоне

    screen -dr rtorrent
    

    sqlite и php5-sqlite стоят. Система Debian 5.0 Lenny

  34. librarian Says:

    unable to write to $compile_dir '/home/valek/public_html/tpl_c'. Be sure $compile_dir is writable by the web server user

  35. librarian Says:

    Перевод: не могу записать в '/home/valek/public_html/tpl_c' проверьте что эта директория доступна для записи

    chmod -R 777 /home/valek/public_html/tpl_c

  36. Валентин Сайков (анонимно) Says:

    С правами разобрался. Почемуто не сработало как в завту chmod 755 -R *

    Веб морда загрузилась, но после ввода юзера и пароля появляются ошибки из-за которых, как я понял все остальное не работает.

    Warning: disk_total_space() [function.disk-total-space]: No such file or directory in /home/valek/public_html/cls/rtorrent.cls.php on line 317
    Warning: disk_free_space() [function.disk-free-space]: No such file or directory in /home/valek/public_html/cls/rtorrent.cls.php on line 317
    Warning: disk_total_space() [function.disk-total-space]: No such file or directory in /home/valek/public_html/cls/rtorrent.cls.php on line 321
    Warning: disk_total_space() [function.disk-total-space]: No such file or directory in /home/valek/public_html/cls/rtorrent.cls.php on line 325
    Warning: disk_free_space() [function.disk-free-space]: No such file or directory in /home/valek/public_html/cls/rtorrent.cls.php on line 325
    Warning: disk_total_space() [function.disk-total-space]: No such file or directory in /home/valek/public_html/cls/rtorrent.cls.php on line 325
    Warning: Division by zero in /home/valek/public_html/cls/rtorrent.cls.php on line 325
    Warning: disk_free_space() [function.disk-free-space]: No such file or directory in /home/valek/public_html/cls/rtorrent.cls.php on line 313
    Warning: Cannot modify header information - headers already sent by (output started at /home/valek/public_html/cls/rtorrent.cls.php:317) in /home/valek/public_html/wt/cls/ListT.cls.php on line 120
    
    valek:/home/valek# ls -la /home/valek/public_html/
    итого 60
    drwxr-xr-x 13 valek valek 4096 Мар  7 14:53 .
    drwxr-xr-x 44 valek valek 4096 Мар  7 14:26 ..
    drwxrwxrwx  3 valek valek 4096 Мар  7 05:26 cls
    drwxr-xr-x  3 valek valek 4096 Мар  7 05:31 conf
    drwxr-xr-x  2 valek valek 4096 Мар  7 04:57 data
    drwxrwxrwx  3 valek valek 4096 Мар  7 14:41 db
    drwxr-xr-x  2 valek valek 4096 Мар  7 04:57 downloads
    -rwxr-xr-x  1 valek valek 1480 Мар  7 05:26 index.php
    drwxr-xr-x 10 valek valek 4096 Мар  7 05:26 lib
    -rwxr-xr-x  1 valek valek  136 Мар  7 05:26 sqlite_migration.sh
    drwxr-xr-x  6 valek valek 4096 Мар  7 05:26 .svn
    drwxrwxrwx  4 valek valek 4096 Мар  7 15:03 torrents
    drwxrwxrwx  3 valek valek 4096 Мар  7 15:03 tpl_c
    drwxr-xr-x  9 valek valek 4096 Мар  7 05:26 wt
    drwxr-xr-x  2 valek valek 4096 Мар  7 05:29 wtorrent
    
  37. Валентин Сайков (анонимно) Says:

    Вот для наглядности ссылочка на скриншот.

    http://saratovtorrent.ru/forum/files/jEBLpC_Screenshot-1.png

    З.Ы. Дебиан поставил с нуля, только базовую систему на xfce4. Пока отрыл прогу для снятия скрина...

  38. Валентин Сайков (анонимно) Says:

    Вот еще скрин. Почему то в rtorrent все закачки стоят в режиме close ((

    http://saratovtorrent.ru/forum/files/17tB7Z_Screenshot-2.png

  39. librarian Says:

    http://www.wtorrent-project.org/trac/ticket/114

    А стартовать закачкине пробовали, нет?

  40. Валентин Сайков (анонимно) Says:

    cat user.conf.php

    <?php
    /* wTorrent autoconfiguration file. Created 7/3/2009 */
    define ('LANGUAGE', 'ru_RU');
    define ('DB_FILE', 'db/database.db');
    define ('RT_HOST', 'localhost');
    define ('RT_PORT', 80);
    define ('RT_DIR', '/RPC2');
    define ('RT_AUTH', false);
    define ('RT_USER', '');
    define ('RT_PASSWD', '');
    define ('NO_MULTICALL', true);
    define ('EFFECTS', true);
    define ('DIR_TORRENTS', '/home/valek/publik_html/torrents/');
    define ('DIR_EXEC', '/home/valek/public_html/');
    define ('DIR_DOWNLOAD', '/home/valek/public_html/data/');
    ?>
    

    При выборе торрнета пишет нет прав и не добовляет в список закачек. ((

    valek:/home/valek/public_html# ls -la
    итого 60
    drwxr-xr-x 13 valek valek 4096 Мар  7 14:53 .
    drwxr-xr-x 48 valek valek 4096 Мар  8 01:00 ..
    drwxr-xr-x  3 valek valek 4096 Мар  7 05:26 cls
    drwxr-xr-x  3 valek valek 4096 Мар  7 05:31 conf
    drwxr-xr-x  2 valek valek 4096 Мар  8 01:13 data
    drwxr-xr-x  3 valek valek 4096 Мар  8 01:09 db
    drwxr-xr-x  2 valek valek 4096 Мар  7 04:57 downloads
    -rwxr-xr-x  1 valek valek 1480 Мар  7 05:26 index.php
    drwxr-xr-x 10 valek valek 4096 Мар  7 05:26 lib
    -rwxr-xr-x  1 valek valek  136 Мар  7 05:26 sqlite_migration.sh
    drwxr-xr-x  6 valek valek 4096 Мар  7 05:26 .svn
    drwxr-xr-x  4 valek valek 4096 Мар  8 01:09 torrents
    drwxr-xr-x  3 valek valek 4096 Мар  7 16:18 tpl_c
    drwxr-xr-x  9 valek valek 4096 Мар  7 05:26 wt
    drwxr-xr-x  2 valek valek 4096 Мар  8 01:04 wtorrent
    
  41. Валентин Сайков (анонимно) Says:

    Сидьно извиняюсь, все заработало. Просто надо было вот так уонфиг подправить

    define ('DIR_TORRENTS', '/torrents');
    define ('DIR_EXEC', '/home/valek/public_html/');
    define ('DIR_DOWNLOAD', '/home/valek/public_html/data');
    
  42. SwiftBlack (анонимно) Says:

    Сильно извиняюсь за возможно глупый вопрос, но поставил и настроил все как описано и получил следующие результаты, rtorrent стартует только со второго раза, первый раз ругается на не найденные толи папки толи файлы, если грузится при пуске машины, то с ходу все ему нравится.

    И второе: торенты положенные в папки руками хэширует и вроде все ок, но в лучшем случае 1-2 клиента на какойнибудь из торентов зацепятся и тянут в час по чайной ложке (5-10 кил), сам rtorrent вообще ничего не тянет, говорит пиров нету!

    Из той же подсети utorrent, те же раздачи отдает толпе и с нормальной скоростью до 200 кил свободно, и тянет все прекрасно, пробовал одни и те же закачки!

    rtorrent + wtorrent прикручены на ubuntu 8.0.4TLS

    utorrent на обычной XP!

    Плиз хэлп, помогите уже с XP переехать, осталось с 5к прог, торрент одна из них, критично чтобы на серваке торренты качались!

  43. librarian Says:

    2SwiftBlack

    А что пишет то? Я же не телепат, чтобы по описанию ошибки узнать что там на самом деле.

    Под wine-ом utorrent как себя ведёт?

    Если аналогично XP - курите конфиг ~/.rtorrent.rc если нет, то тут уже что с настройками сети по видимому.

  44. SwiftBlack (анонимно) Says:

    Выдает следующую ошибку, а со второго раза стартует, и рестарт и останов не пашет, пишет все ок, но продалжает работать, тока не тянет нифига! С сеткой все ок стоит аппаратный шлюз и на убунте и на винде одинаково прописано, только IP разные, обновляется серв на ура, а rtorrent дульки крутит!

    Starting rtorrent: rtorrentgrep: n: No such file or directory

    tee: invalid option -- l

    Try `tee --help' for more information.

    .

    Выделил сообщение как есть пустыми строчками!

  45. Валентин Сайков (анонимно) Says:

    Проблем utorrent+ wine не долно быть. Работает стаюильно версии 1.8.1 и 1.8.2

  46. orangeudav (анонимно) Says:

    я в apache включил модуль dav_fs и через него скачиваю/закачиваю файлы. у ssh (точнее sftp) почему то оказалось ограничение в 100 кб/с, может потому что в user-space дело происходит.. или это виндовый плагин для total commander тормозил, короче sftp работал гораздо медленее моего 8мбит/c-канала

  47. Аноним (анонимно) Says:

    wtorrent не конектиться с rtorrent

    ps aux | grep rtorrent

    sergey 11115 0.0 0.9 4396 1236 ? Ss 01:46 0:00 SCREEN -dm -S rtorrent

    sergey 11248 0.0 0.6 3144 776 pts/4 S+ 02:02 0:00 grep rtorrent

  48. librarian Says:

    2SwiftBlack

    Какую ошибку то выдаёт? И что это за "Starting rtorrent: rtorrentgrep: n: No such file or directory"? Я такого нигде вообще не вижу нигде ни в коде init-скрипта, ни в тексте статьи...

    2Валентин Сайков

    Насколько я знаю, utorrent работает по несколько иным принципам, он как то внешний ip вроде определяет и роуты прописывает самостоятельно, а rtorrent сам такого делать не будет, в общем советую попробовать подключить компьютер с rtorrent напрямую к кабелю провайдера и посмотреть что будет.

    2orangeudav

    А мощность-то машинки какая? Если что то типа 1ГГц проца, то неудивительно... Оно же шифрует траффик, нагрузка на процессор возрастает и больше мощности процессора она пропустить не может. Я такое наблюдал на связке мой старый ноут(1,8)-мой второй ноут(2*2). 100 Мбит не выжимал, а 3-4 - вполне. Поставьте vsftd например, он ресурсов меньше есть.

    2Аноним

    И? И что пишет wtorrent? А что в конфиге? А что в конфиге apache, wtorrent?

  49. melkor (анонимно) Says:

    Dct хорошо, но жо этого момента:

    melkor@melkor-mashine:~/public_html$ sudo mv wtorrent/* .
    mv: невозможно переместить `wtorrent/cls' в `./cls': Directory not empty
    mv: невозможно переместить `wtorrent/conf' в `./conf': Directory not empty
    mv: невозможно переместить `wtorrent/db' в `./db': Directory not empty
    mv: невозможно переместить `wtorrent/lib' в `./lib': Directory not empty
    mv: невозможно переместить `wtorrent/torrents' в `./torrents': Directory not empty
    mv: невозможно переместить `wtorrent/tpl_c' в `./tpl_c': Directory not empty
    mv: невозможно переместить `wtorrent/wt' в `./wt': Directory not empty
    melkor@melkor-mashine:~/public_html$ sudo mv conf/mv sample.user.conf.php conf/user.conf.php
    mv: указанная цель `conf/user.conf.php' не является каталогом
    melkor@melkor-mashine:~/public_html$ sudo chmod 755 -R *
    
  50. librarian Says:

    2melkor

    1. У вас в папке в которой делаете команду в public уже есть эти папки, вот оно и пишет, что переместить не может

    2. melkor@melkor-mashine:~/public_html$ sudo mv conf/mv sample.user.conf.php conf/user.conf.php

    Вообще бредовая команда, внимательно прочитайте. вы пытаетесь переместить conf/mv в sample.user.conf.php, а conf/user.conf.php тут вообще никаким боком не работает

  51. SwiftBlack (анонимно) Says:

    Разобрался уже спасибо, такую ошибку рисует если в port_range установить не интервал, а конкретный порт, причем при старте системы или повторном пуске, rtorrent все равно стартует и вроде как даже работает, но так криво на мой взгляд, и когда uTorrent партироввать решат?!

    Убивает только, что папку с торентами и файлами необходимо держать в папке wtorrent'a ИМХО бредовая тема, подскажите если можете где скачать описание формата torrent файла и почитать про DHT и прочие протоколы работы треккера, что то нужно менять в этой жизни, подскжите где рыть!

  52. librarian Says:

    Ммм... rfc?

  53. Spumer (анонимно) Says:

    Так то нормально, правда при установке всего этого может всплыть потребность в установке других пакетов и тп. Ну например когда я ставил подобную вешь на ubuntu 8.04.2 то у меня не оказалось файла "mod_scgi.c". Пришлось качать отдельно...ая это все к тому, что удЪте готовы ко всему...не всегда проходит все так просто и гладко ;) Good luck!

  54. Аноним (анонимно) Says:

    Все настроил но не могу понять почему когда вибираю торент

    пишет "Ошибка: невозможно создать файл. Проверьте наличие прав"

    Права есть смотрел раз 1000

  55. librarian Says:

    http://librarian.spb.ru/page/kak-ustanovit-veb-interfejs-k-rtorrentwtorrent-rtgui-dubl-2#comment-902

  56. Аноним (анонимно) Says:

    установлено

    xmlrpc-c i386 1.06.31-2.fc8

    xmlrpc-c-devel i386 1.06.31-2.fc8

    при попытке собрать rtorrent

    # ./configure --with-xmlrpc-c

    выскакивает

    checking for XMLRPC-C... failed

    configure: error: Could not compile XMLRPC-C test.

  57. librarian Says:

    ./configure --with-xmlrpc-c="указать путь к xmlrpc"

  58. Аноним (анонимно) Says:

    что-то не хочет... :(

    ./configure --with-xmlrpc-c="/usr/include/xmlrpc-c"

    та же самая ошибка...

  59. Аноним (анонимно) Says:
    http://files.librarian.spb.ru/screenshot-wtorrent.png

    скриншот не рабочий, может тогда совсем убрать или заменить

  60. FriendMaster (анонимно) Says:

    Прошу внести правки

    # aptitude install apache2 php5 php5-xmlrpc rtorrent sudo php5-sqllite sqlite libxmlrpc-c3 libapache2-mod-scgi screen subversion

    ***php5-sqlite

Leave a Reply

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)


(обязательно)