1

одно из условий настройки веб-интерфейса (ruTorrent) под apache, установка и использование модуля mod-scgi.
но такого нет.

 Консоль:

[root@nas]#urpmi mod-scgi
Нет пакета с названием mod-scgi
[root@nas]# urpmi mod_scgi
Нет пакета с названием mod_scgi
[root@nas]# urpmi libapache2-mod-scgi
Нет пакета с названием libapache2-mod-scgi

Где его искать?

Mageia i686
Apache Version: Apache/2.2.22 (Mageia/PREFORK-2.mga1)
Apache API Version: 20051115

тыжпрограммист?

2

 Консоль:
# urpmi.update -a
# urpmi apache-mod_proxy_scgi

3

verg пишет:

 Консоль:
# urpmi.update -a
# urpmi apache-mod_proxy_scgi

мод прокси стоит, но на строку в конфиге

 Консоль:
SCGIMount /RPC2 127.0.0.1:5000

апач ругается и не запускается
 Консоль:
# service httpd restart
Shutting down httpd:                                                                                                                                                                               [   ОК  ]
Starting httpd: Syntax error on line 63 of /etc/httpd/conf/vhosts.d/01_my_vhosts.conf:
Invalid command 'SCGIMount', perhaps misspelled or defined by a module not included in the server configuration
                                                                                                                                                                                                   [ ОШИБКА ]

тыжпрограммист?

4

FreeOwl,

 Консоль:
# urpmi lighttpd

или: (установит всё, что относится)
 Консоль:
# urpmi lighttpd -a

5

verg,  а с apache-м как? хотелось бы именно его настроить...

тыжпрограммист?

6

FreeOwl,
Такой не покатит? (типа аналог)

 Консоль:
# urpmi apache-mod_fastcgi

Cодержимое:

    /etc/httpd/modules.d/92_mod_fastcgi.conf
    /usr/lib/apache-extramodules/mod_fastcgi.so
    /usr/share/doc/apache-mod_fastcgi
    /usr/share/doc/apache-mod_fastcgi/CHANGES
    /usr/share/doc/apache-mod_fastcgi/LICENSE.TERMS
    /usr/share/doc/apache-mod_fastcgi/mod_fastcgi.html
    /var/lib/mod_fastcgi
    /var/lib/mod_fastcgi/dynamic
    /var/www/fcgi-bin

7

FreeOwl,
В магее этого файла нет, попробуйте от мандривы: (думаю подойдет)

Для 32бит:

wget -P /tmp/ http://mirror.yandex.ru/mandriva/official/2011/i586/media/contrib/release/apache-mod_scgi-1.14-1mdv2011.0.i586.rpm
rpm -Uvh apache-mod_scgi-1.14-1mdv2011.0.i586.rpm

Для 64бит:

wget -P /tmp/ http://mirror.yandex.ru/mandriva/official/2011/x86_64/media/contrib/release/apache-mod_scgi-1.14-1mdv2011.0.x86_64.rpm
rpm -Uvh apache-mod_scgi-1.14-1mdv2011.0.x86_64.rpm

8 (15.03.2012 23:29:31 отредактировано FreeOwl)

verg, ОГРОМНЕЙШЕЕ СЭНКС!!!

а всё-таки, почему его нет...? хм...

а как добавить РЕШЕНО?

тыжпрограммист?

9

а всё-таки, почему его нет...? хм...

Да в магее много чего пока нет, но это решаемо и скоро всё поменяется. =) Да и благо, что совместимость с мандривой имеется.

а как добавить РЕШЕНО?

Добавил.

10

в продолжение...

если запустить rtorrent - работает отлично, но только открываю веб-интерфейс:

 Консоль:
Caught Segmentation fault, dumping stack
Stack dump not enabled.
Аварийный останов

с чем может быть связано? и как полечить?

тыжпрограммист?

11

FreeOwl,
http://libtorrent.rakshasa.no/ticket/2052

Добавить в конец файла: thread_base.cc
следующее:

void
ThreadBase::queue_item(thread_base_func newFunc) {
  m_threadQueue->push_back(newFunc);
  if(m_thread != NULL) pthread_kill(m_thread, SIGUSR1);
}

12

verg пишет:

FreeOwl,
http://libtorrent.rakshasa.no/ticket/2052

Добавить в конец файла: thread_base.cc

это я видел, но мне кажется это совет для тех, кто собирает из исходников. нет?

тыжпрограммист?

13

Пересобрать: http://mirror.yandex.ru/mageia/distrib/ … a1.src.rpm
Можно(проще) прямо в архив прописать или патч сделать.

Путь до файла: rtorrent-0.8.7-2.mga1.src/rtorrent-0.8.7.tar.gz/src/thread_base.cc

14

FreeOwl,
От мандривы попробуйте: http://mirror.yandex.ru/mandriva/offici … 0.i586.rpm
Хотя в нём патча не наблюдаю, но попробовать можно.

15

Там такие строки:

void
ThreadBase::queue_item(thread_base_func newFunc) {
  m_threadQueue->push_back(newFunc);

  // Make it also restart inactive threads?
  if (m_state == STATE_ACTIVE)
    pthread_kill(m_thread, SIGUSR1);
}

Надо заменить:

m_state == STATE_ACTIVE

на:

m_thread != NULL

з.ы. пофикшенных пакетов в мандриве и магее нет (на выходе бинарники, там не пофиксить)

Так что можно пакет от мандривы не трогать.

16

FreeOwl,
Если нужен порядок действий по перепаковке, могу расписать.

17

ого, verg, ну ты силён... а можно подробнее инструкцию, не осилю самостоятельно

тыжпрограммист?

18

FreeOwl,
1) Сначала качаем поправленный архив: rtorrent-0.8.7.tar.gz http://www.mediafire.com/download.php?ft85gyf06k1ahal
2) Потом поправленный спек файл: rtorrent.spec http://www.mediafire.com/download.php?9ywg023jvmb29c3
3) Качаем и копируем в домашний каталог src.rpm http://mirror.yandex.ru/mageia/distrib/ … a1.src.rpm
4) создаем каталоги для сборки:

 Консоль:
$ mkdir -p ~/rpm/{BUILD,RPMS/$ARCH,RPMS/noarch,SOURCES,SRPMS,SPECS,tmp}

Каталоги в домашней папке.
5) Установка rpm-build:
 Консоль:
# urpmi rpm-build

6) Установка требуемых для сборки зависимостей:
 Консоль:
# urpmi --buildrequires rtorrent-0.8.7-2.mga1.src.rpm

7) Поправленный архив из п.1 копируем в /rpm/SOURCES/
af Поправленный спек из п.2 копируем в /rpm/SPECS/
9) Запускаем консоль из каталога /rpm/SPECS
то есть переходим в него:
 Консоль:
$ cd ~/rpm/SPECS

10) Сборка: (от простого пользователя)
 Консоль:
$ rpmbuild -ba rtorrent.spec

11) Полученные файлы искать в /rpm/RPMS

19

п. 10 закончился так

 Консоль:
...
Processing files: rtorrent-debug-0.8.7-3.mga1.i586
Проверка на неупакованный(е) файл(ы): /usr/lib/rpm/check-files /home/freeowl/rpmbuild/BUILDROOT/rtorrent-0.8.7-3.mga1.i386
Записан: /home/freeowl/rpmbuild/SRPMS/rtorrent-0.8.7-3.mga1.src.rpm
Записан: /home/freeowl/rpmbuild/RPMS/i586/rtorrent-0.8.7-3.mga1.i586.rpm
Записан: /home/freeowl/rpmbuild/RPMS/i586/rtorrent-debug-0.8.7-3.mga1.i586.rpm
Выполняется(%clean): /bin/sh -e /var/tmp/rpm-tmp.O1zKO8
+ umask 022
+ cd /home/freeowl/rpmbuild/BUILD
+ cd rtorrent-0.8.7
+ rm -rf /home/freeowl/rpmbuild/BUILDROOT/rtorrent-0.8.7-3.mga1.i386
+ exit 0

после чего под рутом сделал так:
 Консоль:

[root@nas rtorrent.src]# urpme rtorrent
удаляется rtorrent-0.8.7-3.mga1.i586
удаляется пакет rtorrent-2:0.8.7-3.mga1.i586

[root@nas rtorrent.src]# rpm -i /home/freeowl/rpmbuild/RPMS/i586/rtorrent-0.8.7-3.mga1.i586.rpm

запустил rtorrent - всё ок
открыл rutorrent

 Консоль:
Caught Segmentation fault, dumping stack:
Stack dump not enabled.
Аварийный останов

тыжпрограммист?

20

з.ы. сам попробую пересобрать

21

FreeOwl,
Собрал (вроде нормально всё):

rtorrent-0.8.7-4.mga1.i586.rpm

22 (20.03.2012 21:07:03 отредактировано FreeOwl)

verg пишет:

FreeOwl,
Собрал (вроде нормально всё):

rtorrent-0.8.7-4.mga1.i586.rpm

не, не пошёл..

ага, нашёл: ab
Attention!
rTorrent 0.8.7 is NOT supported by ruTorrent. Please use 0.8.6 or 0.8.8+.

вот он чё, Михалыч ac

сделал так:

 Консоль:
wget ftp://rpmfind.net/linux/Mandriva/offici … 2.i586.rpm
wget ftp://rpmfind.net/linux/Mandriva/offici … 2.i586.rpm
rpm -Uvh libtorrent14-0.13.0-1mdv2010.2.i586.rpm rtorrent-0.9.0-1mdv2010.2.i586.rpm

естественно удалив перед этим рррторрент и библиотеку
всё работает ab

тыжпрограммист?

23

всё работает smile

Хоть так.

24

verg пишет:

всё работает smile

Хоть так.

а как запретить обновлять эти два пакета? а то мало-ли...

тыжпрограммист?

25

 Консоль:
# echo /^rtorrent/ >> /etc/urpmi/skip.list
# echo /^libtorrent14/ >> /etc/urpmi/skip.list

26

Upd: поправил название файла libtorrent14 (по libtorrent может не прокатить, кстати можно заранее так же прописать libtorrent15 т.п. на всякий случай)