myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> [RusHub] Использование posix capabilities, Linux ONLY

ShadoWx
сообщение 1.2.2012, 16:59
Сообщение #1


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 216
Регистрация: 23.10.2008
Из: Саратов
Пользователь №: 865
Спасибо сказали: 59 раз




С версии 2.3.6 "RusHub" поддерживает возможность использования posix capabilities.
Выражаясь простым языком - можно запускать хаб на 411 порту и не использовать перенаправления при помощи IPTABLES.

Шаг 1.
В этой теме мы с вами скомпилируем хаб, поддерживающий эту возможность.
Нам понадобятся следующие пакеты в системе
:
1. libcap-dev
2. autotools-dev
3. automake
4. libtinyxml-dev

Все эти пакеты необходимо установить при помощи команды:
Код
sudo apt-get install название_пакета

Если у вас нет установленного хаба, то загружаем его из svn:
Код
svn co https://rushub.svn.sourceforge.net/svnroot/rushub/trunk/ /локальный/путь/куда/загружаем/


Далее переходим в папку с хабом, в моем случае это:
/home/shadowx/rushub/rushub/

Шаг 2.
Вводим команды по очереди:
Установка хаба
1.
Код
autoreconf -i

2.
Код
./configure --enable-caps

3.
Код
make

4.
Код
make clean

5. make

На 5 этапе начнется сборка хаба

Шаг 3.
Теперь нам необходимо добавить 2 строки в файл настроек RusHub'а:
Код
<Item Name="sUserName">shadowx</Item>
<Item Name="sGroupName">shadowx</Item>

где shadowx - имя пользователя от кого мы запускаем хаб.

Теперь в /etc/init.d/rushub записываем следующее содержимое:
Код для управления
Код
#!/bin/sh

### BEGIN INIT INFO
# Provides:          rushub
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by rushub.
### END INIT INFO

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

NAME="RusHub"
PATH_DAEMON="/home/shadowx/rushub_bin"
DAEMON="$PATH_DAEMON/$NAME"
PATH_DAEMON_CFG="$PATH_DAEMON/RusHub.xml"
PIDF="$PATH_DAEMON/rushub.pid"

ARGS="-c $PATH_DAEMON_CFG"

USER="root"

start() {
    echo -n "Запуск $NAME: "
    start-stop-daemon --start --chuid $USER --make-pidfile "$PIDF" --pidfile "$PIDF" --name $NAME --background --startas $DAEMON -- $ARGS
    echo "готово."
}
stop() {
    echo -n "Остановка $NAME: "
    start-stop-daemon --chuid $USER --stop --pidfile "$PIDF" --name $NAME --retry=TERM/5/KILL/10
    rm "$PIDF"
    echo "готово."
}
restart() {
    stop
    sleep 2
    start
}

if [ ! -x "$DAEMON" ]
then
   echo "отсутствует файл для запуска $DAEMON"
   exit 0
fi

case "$1" in
    start)
        start
;;
    stop)
        stop
;;
    restart)
        restart
;;
    status)
        if [ -f "$PIDF" ];
        then
            PID=$(cat $PIDF)
            if [ `ps auwx|grep $NAME|grep $PID|grep -v -c grep` = 1 ]
            then
                echo "процесс $NAME работает [pid: $PID]."
                exit 0
            fi
            echo "процесс $NAME не запущен."
            exit 3
        fi
        echo "процесс $NAME не запущен."
        exit 3
;;
    *)
        echo "Использование {start|status|stop|restart}"
        exit 1
;;
esac
exit 0

Шаг 4.
Теперь необходимо накатить небольшой патч на lua-плагин, чтобы хаб запустился после установки:
Прикрепленный файл  shared_tinyxml.zip ( 615 байт ) Кол-во скачиваний: 14


Как накатывать:
1. перейти в папку с lua-плагином cd rushub/lua_plugin
2. patch -p4 < shared_tinyxml.patch

Шаг 5.

1. Установить порт для хаба в настройках 411
2. sudo service rushub restart

У меня все запустилось успешно.
Спасибо mariner'у за наставления на пусть истинный surrender.gif


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 1.2.2012, 17:10
Сообщение #2


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1696 раз




На самом деле вместо патча можно это дело в autoconf заделать

Код
#ifdef HAVE_CONFIG_H
  #include <config.h>
#endif // HAVE_CONFIG_H

#if HAVE_TINYXML_H
  #include <tinyxml.h>
#else
  #include "tinyxml/tinyxml.h"
#endif // HAVE_TINYXML_H


в config.h:
Код
#define HAVE_TINYXML_H 1
Go to the top of the page
+Quote Post
ShadoWx
сообщение 1.2.2012, 17:11
Сообщение #3


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 216
Регистрация: 23.10.2008
Из: Саратов
Пользователь №: 865
Спасибо сказали: 59 раз




Кому как нравится, Илья surrender.gif
Go to the top of the page
+Quote Post
Setuper
сообщение 1.2.2012, 17:19
Сообщение #4


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1696 раз




Не ну так более правильно сделать. LuaPlugin.cpp я подправил. Однако не знаю достаточно ли будет указать в config.h: #define HAVE_TINYXML_H 1
Или же нужно будет ещё где-то определить HAVE_CONFIG_H

Хотя луа плагин ну нас же не собирается при помощи autotools :(
Go to the top of the page
+Quote Post
ShadoWx
сообщение 1.2.2012, 17:19
Сообщение #5


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 216
Регистрация: 23.10.2008
Из: Саратов
Пользователь №: 865
Спасибо сказали: 59 раз




Цитата(Setuper @ 1.2.2012, 18:17) *
Не ну так более правильно сделать. LuaPlugin.cpp я подправил. Однако не знаю достаточно ли будет указать в config.h: #define HAVE_TINYXML_H 1
Или же нужно будет ещё где-то определить HAVE_CONFIG_H


делал так как описывал, все прекрасно завелось, Коля обещал просмотреть и выявить косяки в моем описании still_dreaming.gif

Илья, вопрос к тебе, а после обновления на новые релизы строчки из конфига не будут удаляться ??
Go to the top of the page
+Quote Post
mariner
сообщение 1.2.2012, 18:32
Сообщение #6


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 874
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 219 раз




Коля посомтрел и поправил. Я думаю autotools и для lua_plugin сделаю


Спасибо сказали:
Go to the top of the page
+Quote Post
CrazyKiller
сообщение 1.2.2012, 21:22
Сообщение #7


Продвинутый участник
****

Группа: Пользователи
Сообщений: 189
Регистрация: 20.4.2009
Пользователь №: 3 121
Спасибо сказали: 10 раз




Есть проше http://mydc.ru/index.html?showtopic=4949&a...ost&p=39923
в 2 клика как говоритса )))

Работает уже давно у меня так, по сей день, не от Рута а от пользователя big_smile.gif

но за такой мануал как у вас, тоже интересно big_smile.gif
Спасибо
Go to the top of the page
+Quote Post
mariner
сообщение 1.2.2012, 21:39
Сообщение #8


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 874
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 219 раз




Алсо, я предпочитаю все-таки ставить когда этот код внутри софтины. Удобнее плюс опять же. он не тянет, а плюсов "к карме" накидывает. Хотелось бы только чтобы сетапер сообщал о том, когда еще файлы добавляет в дерево исходников, а то вот был релиз, в котором autotool-сборка не работала. Сегодня поправил это в svn.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 1.2.2012, 22:10
Сообщение #9


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1696 раз




Ок.
Ну а вообще, релизы все находятся в tags, и релизные ветки вообще говоря можно также править на svn при необходимости.
Go to the top of the page
+Quote Post
mariner
сообщение 1.2.2012, 22:46
Сообщение #10


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 874
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 219 раз




да не вопрос. Буду подпиливать по мере необходимости.
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new ВАЖНО: Topic has attachmentsМодули для скриптов RusHub
26 Setuper 22 524 21.3.2017, 17:31 Посл. сообщение: Alexey
No New Posts RusHub.org
Решаем судьбу домена
12 Nickolya 2 793 19.5.2016, 4:58 Посл. сообщение: DEN 007
No New Posts Перенос базы пользователей с RusHub на PtokaX
3 Angel_D 2 285 5.12.2015, 2:11 Посл. сообщение: Saymon21
No new ВАЖНО: Topic has attachmentsСкрипт банов для RusHub
тестим и комменьтруем
79 Wariner 48 301 28.9.2015, 13:34 Посл. сообщение: NeirRon
No new Topic has attachmentsRusHub. Пакеты для Debian/Ubuntu
47 KT315 29 813 24.5.2015, 23:14 Посл. сообщение: KT315
No New Posts ВАЖНО: Topic has attachmentsХаблист RusHub
13 ShadoWx 8 119 7.10.2014, 8:08 Посл. сообщение: mod
No new Topic has attachmentsУстановка rushub на ubuntu 12.04
для домохозяек и пенсионеров
43 hjet 17 183 2.10.2014, 12:16 Посл. сообщение: kotuk
No New Posts RusHub Сжатие
Не работает
1 ShadoWx 2 479 23.9.2014, 10:48 Посл. сообщение: PPA
No new Topic has attachmentsВопросы по RusHub
Технические вопросы
316 Jaska 99 652 19.12.2013, 13:59 Посл. сообщение: mod
No New Posts RusHub через экран, как?
Коннект на хаб во внутренней сети.
3 INTROVERT 2 887 16.6.2013, 17:17 Посл. сообщение: dj hoodo
No New Posts ООП в Lua. Использование замыканий.
1 96username96 8 573 23.4.2013, 15:36 Посл. сообщение: tolven
No New Posts RusHub & Erlang
0 -Гость_ghost_*- 2 667 5.2.2013, 1:34 Посл. сообщение: -Гость_ghost_*-
No New Posts RusHub english v
3 SnowBOSS 3 191 7.1.2013, 21:17 Посл. сообщение: Артём
No New Posts От: ООП в Lua. Использование замыканий.
От темы с ID: 5362
0 Saymon21 1 708 15.11.2012, 14:08 Посл. сообщение: Saymon21
No New Posts Сборка Rushub 2.3.8 на FreeBSD 9.0 x64
10 LEXSOR 6 381 3.10.2012, 22:11 Посл. сообщение: Saymon21

 



RSS Сейчас: 18.12.2017, 2:17