Page 12 of 227 FirstFirst ... 210111213142262112 ... LastLast
Results 166 to 180 of 3396

Thread: Еще раз про rTorrent и web-морду к нему.

  1. #166
    Теперь к нашим баранам. Пробуем ставить lighttpd.
    1) Первая команда, конечно же,
    ipkg install lighttpd
    установка веб-сервера, полагаю, Вы ее уже выполнили, и чего-то Вам таки проставилось. Далее -
    ipkg install php-fcgi
    установка php-fcgi.
    2) Идем редактировать конфигурационные файлы. Лежат они в /opt/etc/lighttpd/
    Открываем /opt/etc/lighttpd/lighttpd.conf
    делаем следующее:
    a) секция server.modules, откомментируем (убираем # в начале строчки) позиции
    "mod_access"
    "mod_auth"
    "mod_cgi"
    "mod_scgi"
    "mod_accesslog"
    Если к/л строчек нет - добавить.
    б) В server.document-root указываем, где у нас корень www будет. Так:
    server.document-root = "/opt/share/www/"
    (если директории нет - создать)
    в)
    server.errorlog = "/opt/var/log/lighttpd/error.log"
    accesslog.filename = "/opt/share/www/log/access.log"
    Тут будут ошибки писаться. Если соотв. директорий нет - создать.
    г)
    server.port = 8081
    д) секцию scgi.server оформляем следующим образом:
    Code:
    scgi.server = (                                                            
            "/RPC2" =>                                                         
                    ( "127.0.0.1" =>
                            (                                                    
                                    "host" => "127.0.0.1",
                                    "port" => 5000,
                                    "check-local" => "disable"
                            )                                                    
                    )                                                            
            )
    е) Открываем /opt/etc/lighttpd/conf.d/10-php-fcgi.conf и расскомментируем там все.
    На всякий случай - мало ли чего забыл - в аттаче моя рабочая конфигурация.

    3) Все, готово. Неплохо бы проверить, как это работает. Для этого пишем
    /opt/etc/init.d/S80lighttpd start
    и лезем (из внутренней по отношению к роутеру сети!) браузером по адресу
    http://ip.router:8081
    Если показало что-то вразумительное - сервер таки запустился, ура. Если нет, начинаем пляски с бубном вокруг файлов, пути к которым описаны выше в пункте 2) в).
    Attached Files Attached Files
    Last edited by Novik; 23-06-2008 at 20:07. Reason: Дополнил

  2. #167
    Novik, в общем как вы и предполагали я допустил сразу несколько ошибок:
    1. Редактировал файла из винды. В результате в каждой строке появилось "^M"
    2. У меня не стоял ни php, ни php-fcgi
    3. Веб сервис и рторрент не были прописаны на автозапуск.

    В результате исправлений рторрент и S80lighttpd запустились (оба файла запускал руками из командой строки, до исправлений выдавали ошибки, после в норме).
    http://ip.router:8081 - открывается
    http://ip.router:8081/rtorrent - открывается вся эта красотища, но с ошибкой "500 - Internal Server Error", вязи с рторрентом нету.

    можно посмотреть на S99rtorrent (его взял отсюда, с дефолтными не запускалось) и на rtorrent.conf. Что такое RPC2?
    Last edited by kanSki; 19-05-2008 at 22:28.

  3. #168
    Join Date
    Feb 2008
    Location
    Moscow, Tver
    Posts
    3,962
    Quote Originally Posted by kanSki View Post
    Novik, в общем как вы и предполагали я допустил сразу несколько ошибок:
    1. Редактировал файла из винды. В результате в каждой строке появилось "^M"
    2. У меня не стоял ни php, ни php-fcgi
    3. Веб сервис и рторрент не были прописаны на автозапуск.

    В результате исправлений рторрент и S80lighttpd запустились (оба файла запускал руками из командой строки, до исправлений выдавали ошибки, после в норме).
    http://ip.router:8081 - открывается
    http://ip.router:8081/rtorrent - открывается вся эта красотища, но с ошибкой "500 - Internal Server Error", вязи с рторрентом нету.
    Эта ошибка говорит о том, что либо рторрент, либо lighhtpd имеют косяк в настройке. Можно почитать например тут. Конкретно вот этот пост вероятно поможет.

  4. #169
    Quote Originally Posted by vectorm View Post
    Эта ошибка говорит о том, что либо рторрент, либо lighhtpd имеют косяк в настройке. Можно почитать например тут. Конкретно вот этот пост вероятно поможет.
    это у меня прописано. из лога веб сервера:
    Code:
    2008-05-20 01:53:14: (log.c.75) server started 
    2008-05-20 01:53:59: (mod_scgi.c.2222) establishing connection failed: Connection refused 
    2008-05-20 01:53:59: (mod_scgi.c.2356) fcgi-server disabled: 127.0.0.1 5000  
    2008-05-20 01:53:59: (mod_scgi.c.2825) no fcgi-handler found for: /RPC2
    как же его енаблить?
    Last edited by kanSki; 19-05-2008 at 23:41.

  5. #170
    Join Date
    Jan 2008
    Location
    Украина
    Posts
    107
    Сразу прошу прощения за возможный оффтоп!
    кто качает рторрентом на внешний хард подмонтированный по NFS или SMB - у Вас не случеться полного зависания железки?
    регулярно происходит вышеописаное при загрузке (хешированиии и одновременной закачке) - причем с трансмишеном при нагрузке на него в 2ва раза больше - все работает (это к тому что внешний хард подмонтирован надежно)
    буду благодарен за любые советы по излечению от сего недуга, т.к. мордочка ОЧЕНЬ понравилась (спасибо автору за работу!!!), а пользоваться нормально не могу
    Asus WL500GP

  6. #171
    Quote Originally Posted by kanSki View Post
    как же его енаблить?
    В rtorrent.conf включен scgi на 5000й порт?

  7. #172
    Quote Originally Posted by Mashiro-sama View Post
    В rtorrent.conf включен scgi на 5000й порт?
    Это весь мой rtorrent.conf, взял в одной из инструкций, поменял только пути и cоздал создал папки.
    Code:
    scgi_port = 127.0.0.1:5000
    send_buffer_size = 65536
    min_peers = 20
    max_peers = 50
    max_uploads = 5
    download_rate = 100
    upload_rate = 100
    directory = /torrent2/work/
    schedule = watch_directory,5,5,load_start=/torrent2/dl/*.torrent
    session = /torrent2/session
    port_range = 51777-51780
    check_hash = yes
    use_udp_trackers = yes
    schedule = ratio,30,60,stop_on_ratio=200
    А php-fcgi (или php) запускать заранее не надо ли? То есть достаточно "scgi_port = 127.0.0.1:5000" и это "scgi.server = ( "/RPC2" => ( "127.0.0.1" => ....... )))" и это "fastcgi.server = ( ".php" =>.....)" в соответсущих файлах?
    Last edited by kanSki; 20-05-2008 at 08:43.

  8. #173
    Ага, прогресс налицо, продолжим далее. Общие замечания -
    1) Стартер для rtorrent у Вас имеет упрощенный вид. По уму, rtorrent нельзя стартовать из под администратора, это довольно серьезная дырка в безопасности. Со стандартным стартером у Вас, очевидно, не получилось из-за того, что там, как раз, и используется запуск из-под пользователя p2p. А его нужно сначала завести, home директорию ему куда-нибудь внутрь /opt настроить, директории ему передать во владение и т.п. Вообщем, довольно много мороки. Пока попробуем так, как есть.
    2) Конфиг у rtorrent у Вас, на мой взгляд, излишне агрессивен. Это же маленький роутер, а не большая машина. В частности, по крайней мере, на период отладки, я бы предложил а) вообще убрать send_buffer_size б) download_rate, upload_rate, min_peers и max_peers уменьшить раза так в два в) дописать строку safe_sync=yes г) если провайдер не вставляет палки в колеса, то три порта rtorrent-у нафиг не нужно. Достаточно одного - port_range = 51777-51777. Именно его и нужно открыть наружу (см предыдущую простыню фрагмент про post-firewall).
    3) Я таки засомневался. Вы на роутере rtorrent заводите, или на большой машине? Если первое, то что это за директории у Вас в кофиге - /torrent2/* ? Это где вообще? Они у Вас действительно существуют? Ж)
    4) Приведенный Вами фрагмент лога говорит, скорее всего, о том, что rtorrent у Вас отвалился. Либо не запустился вообще. Посему, нечего баловаться со screen, в целях отладки запускайте его руками. Так:
    rtorrent -n -o import=/opt/etc/rtorrent.conf
    Если таки стартует, и покажется консоль, то тогда уже и продолжайте тыркаться браузером.
    Выход (с загаской rtorrent) - ^Q

  9. #174
    Quote Originally Posted by Novik View Post
    Ага, прогресс налицо, продолжим далее. Общие замечания -
    3) Я таки засомневался. Вы на роутере rtorrent заводите, или на большой машине? Если первое, то что это за директории у Вас в кофиге - /torrent2/* ? Это где вообще? Они у Вас действительно существуют? Ж)
    Спасибо, что не бросаете тонущего. Все замечания буду исправлять дома вечером. По пункту 3. На роутере, делал аналогично папкам для Трансмиссион
    Code:
    mkdir /tmp/harddisk/torrent
    mkdir /tmp/harddisk/torrent/source
    mkdir /tmp/harddisk/torrent/work
    mkdir /tmp/harddisk/torrent/target
    chmod ugoa+w /tmp/harddisk/torrent
    chmod ugoa+w /tmp/harddisk/torrent/source
    chmod ugoa+w /tmp/harddisk/torrent/target
    chmod ugoa+w /tmp/harddisk/torrent/work
    То есть из винды: Сеть\Рабочая группа\Роутер, заходим и видим папки opt и, созданные мною, torrent (для трансмиссион) и torrent2 (для rtorrent).
    оффтоп: как я так расшарил роутер не знаю, где это делается?

  10. #175
    Quote Originally Posted by kanSki View Post
    То есть из винды: Сеть\Рабочая группа\Роутер, заходим и видим папки opt и, созданные мною, torrent (для трансмиссион) и torrent2 (для rtorrent).
    rtorrent у Вас не на винде работает. На роутере. Ему глубоко все равно, как там у Вас шары на самбе называются. Он их все равно увидеть не сможет, насколько мне известно, нет на роутере smb клиента, только smb сервер. Шары - это для Вас, чтобы Вы туда чего-нибудь клали (torrent файлы) и забирали (то, что скачалось).
    А rtorrent нужны рабочие директории. Причем, их, в отличие от transmission, ему нужны не 4, а 3.
    Короче говоря,
    1) Шару на rtorrent2 убрать.
    2) Сделать директории для rtorrent, так:
    mkdir -p /opt/share/torrent/dl
    mkdir -p /opt/share/torrent/session
    mkdir -p /opt/share/torrent/work
    3) Изменить файл rtorrent.conf так:
    directory = /opt/share/torrent/work/
    schedule = watch_directory,5,5,load_start=/opt/share/torrent/dl/*.torrent
    session = /opt/share/torrent/session
    4) Расшарить для виндов директории /opt/share/torrent/dl (сюда *.torrent файлы бросать будете) и /opt/share/torrent/work (отсель будете забирать результаты).
    Quote Originally Posted by kanSki View Post
    как я так расшарил роутер не знаю, где это делается?
    Ходить про самбу читать. В ветке "настройка с нуля".

  11. #176

    Thumbs up

    Novik,
    УРААААА! Заработало! Спасибо-спасибо!!!!!!!

    Действительно выполнив руками так
    "rtorrent -n -o import=/opt/etc/rtorrent.conf" - рторрент запустился, то есть у меня неправильный стартер для него. И вы еще писали, что под админом не стоит запускать, так понимаю еще не конец настраивания.

    PS. Погуглил, нашел ваше же сообщение:
    И после такой команды "chmod a+x /opt/bin/rtorrent", rtorrent стал запускаться вот так: "/opt/bin/screen -dmS rtorrent rtorrent -o import="/opt/etc/rtorrent.conf" >&1 >/tmp/rtl"
    Last edited by kanSki; 21-05-2008 at 08:37.

  12. #177
    Quote Originally Posted by kanSki View Post
    то есть у меня неправильный стартер для него.
    Скорее всего, у Вас таки были неправильно настроенные директории для него.
    Quote Originally Posted by kanSki View Post
    И вы еще писали, что под админом не стоит запускать, так понимаю еще не конец настраивания.
    0) Если какой-либо из нижеописанных шагов привел к неудаче, или выводу сообщений об ошибках, дальнейшие шаги не предпринимать. Т.к. пишу я "из головы", вполне возможно, что что-нибудь написал неправильно или забыл.
    0+) Если rtorrent еще не стоит, сказать ipkg install rtorrent, создать его рабочие директории, так
    mkdir -p /opt/share/torrent/dl
    mkdir -p /opt/share/torrent/work
    mkdir -p /opt/share/torrent/session
    если уже стоит, то ipkg upgrade rtorrent
    В любом случае советую заменить бинарники rtorrent на соотв. из корневого поста.
    1) Сказать
    ipkg install adduser
    это доставит пакет adduser (если он еще не стоит), который позволяет добавлять в систему пользователей с несколько большим комфортом, нежели чем редактирование passwd руками. Если уже есть - ipkg так и скажет.
    2) mkdir -p /opt/home/p2p
    сделать домашний каталог пользователю p2p
    3) adduser --home /opt/home/p2p p2p
    добавить пользователя p2p. Спросит пароль - вводите на Ваше усмотрение, он Вам в дальнейшем не понадобится.
    4) chown p2p /opt/home/p2p
    chown p2p /opt/share/torrent/dl
    chown p2p /opt/share/torrent/work
    chown p2p /opt/share/torrent/session
    chmod a+r /opt/etc/rtorrent.conf
    chmod a+x /opt/bin/rtorrent
    передать во владение пользователю p2p его home каталог и рабочие директории rtorrent, разрешить всем читать файл конфигурации rtorrent,
    разрешить всем выполнять rtorrent. Последнее необходимо, если Вы таки прислушались к совету из стартового постинга, и поменяли бинарники rtorrent на мои.
    5) Файл /opt/etc/init.d/S99rtorrent оформляем следующим образом:
    Code:
    #!/bin/sh
    
    user="p2p"
    config="/opt/etc/rtorrent.conf"
    options="-n -o import=/opt/etc/rtorrent.conf"
    base="/opt/share/torrent"
    srnname="rtorrent"
    logfile="/opt/var/log/rtorrentInit.log"
    
    PATH=/opt/bin:/opt/sbin:/usr/bin:/sbin:/bin:/usr/sbin
    DESC="rtorrent"
    NAME=rtorrent
    DAEMON=$NAME
    SCRIPTNAME=/etc/init.d/$NAME
    
    # Do not proceed unless some apps are available.
    test -x /opt/bin/screen || ( echo "screen not found." | tee -a "$logfile" >&2 ; exit 2 )
    test -x /opt/bin/su -o -x /bin/su || ( echo "su not found." | tee -a "$logfile" >&2 ; exit 2 )
    
    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=`awk '/^[[:space:]]*session[[:space:]]*=[[:space:]]*/{print($3)}' "$config"`
    	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
    Замечу, что данный скрипт предполагает, что пакеты procps, grep, gawk и screen установлены в системе. Если это не так, не забудьте сказать
    ipkg install procps
    ipkg install grep
    ipkg install screen
    ipkg install gawk
    Так же не забудьте, что переводы каретки должны быть в дОлжном виде.
    6) В файл /tmp/local/root/.profile добавляем строчки для нормальной работы в консоли rtorrent. Полностью файл у меня выглядит так:
    Code:
    export TERMINFO="/opt/share/terminfo"
    export TERM="xterm"
    alias rt='su -c "screen -r" p2p'
    chmod a+rw `tty`
    stty start undef
    stty stop undef
    После изменения не забыть сказать flashfs save && flashfs commit && flashfs enable - данный файл во флеш памяти находится, без данных команд все изменения исчезнут после перезагрузки. Собственно, это должно быть "на автомате" - если меняете что-либо не на /opt - не забыть сохраниться.
    7) Копируем данный файл пользователю p2p
    cp /tmp/local/root/.profile /opt/home/p2p/.profile
    chown p2p /opt/home/p2p/.profile
    8) Проверяем результаты. Для начала убедимся, что пользователь завелся, и rtorrent под ним работает. Так:
    su p2p
    /opt/bin/rtorrent -n -o import=/opt/etc/rtorrent.conf
    Если консоль показалась - ^Q.
    завершить telnet сессию (или ssh, если его используете). Сие необходимо, чтобы написанное в файле .profile вступило в действие.
    9) Залогиниться снова. На всякий случай - mc не запускать!
    Последовательно сказать
    /opt/etc/init.d/S99rtorrent start
    rt
    Если консоль показалась - сказать ^A ^D.
    Все, Вы отсоединились от консоли, но rtorrent продолжает работать.
    10) Убедиться, что в файле /usr/tmp/local/.files есть следующие строчки:
    Code:
    /etc/passwd
    /etc/group
    При необходимости отредактировать и сказать flashfs save && flashfs commit && flashfs enable. Если этого не сделать (или, например, если в /usr/tmp/local/.files будут отсутствовать строчки /etc/passwd и /etc/group) то только что заведенный пользователь при перезагрузке исчезнет.
    11) Теперь можно перегрузить роутер и убедиться, что все заводится и автоматом тоже.

    UPD. На всякий случай добавил вложения с конфигурационными файлами. Обращаю, однако, внимание, что настройки в rtorrent.conf нужно подбирать индивидуально, они зависят от ширины Вашего канала, нагрузки, используемых трекеров и т.п.
    Attached Files Attached Files
    Last edited by Novik; 22-06-2008 at 16:51. Reason: Дополнил

  13. #178
    Версия 0.9 - исправил некорректные "выбросы" на графиках скорости при выдаче команд старт/стоп и т.п.

  14. #179
    Novik,
    Действовал по инструкции.
    1. "6) В файл /tmp/local/root/.profile" - такого файла не оказалось, создал.
    2. После ребута rtorrent не запустился.
    3. При попытке руками:
    Code:
    [admin@wl500g root]$ /opt/etc/init.d/S99rtorrent start
    Starting rtorrent: rtorrentsu: unknown id: p2p
    su: unknown id: p2p
    su: unknown id: p2p
    .
    [admin@wl500g root]$ adduser --home /opt/home/p2p p2p
    adduser: /opt/home/p2p: File exists
    Changing password for p2p
    Enter the new password (minimum of 5, maximum of 8 characters)
    Please use a combination of upper and lower case letters and numbers.
    Enter new password:
    Re-enter new password:
    Password changed.
    [admin@wl500g root]$ /opt/etc/init.d/S99rtorrent start
    Starting rtorrent: rtorrent.
    [admin@wl500g root]$ rt
    [detached]
    [admin@wl500g root]$
    а) S99rtorrent не стартанул, ругнувшись на unknown id: p2p
    б) пробую пересоздать юзера, тот существует
    в) повторяю пунк а) - работает
    г) rt работает

  15. #180
    Starting rtorrent: rtorrentsu: unknown id: p2p
    su: unknown id: p2p
    su: unknown id: p2p
    После ребута твои свежий пользователь пропадает, т.к. по умолчанию некоторые файлы не попадают в компетенцию действия утилиты flashfs. Почитай пост #165 еще разок особое внимание удели пункту про создание файла .files

Page 12 of 227 FirstFirst ... 210111213142262112 ... LastLast

Similar Threads

  1. [How to] rtorrent & ntorrent
    By mancub in forum WL-500gP Tutorials
    Replies: 101
    Last Post: 18-12-2008, 07:21
  2. older rtorrent version
    By FastJack in forum WL-500gP Q&A
    Replies: 1
    Last Post: 23-10-2007, 09:40

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •