[RusHub] Использование posix capabilities, Linux ONLY |
Здравствуйте, гость ( Вход | Регистрация )
[RusHub] Использование posix capabilities, Linux ONLY |
1.2.2012, 16:59
Сообщение
#1
|
|
Освоившийся участник Группа: Пользователи Сообщений: 216 Регистрация: 23.10.2008 Из: Саратов Пользователь №: 865 Спасибо сказали: 60 раз |
С версии 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'у за наставления на пусть истинный |
|
|
1.2.2012, 17:10
Сообщение
#2
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
На самом деле вместо патча можно это дело в 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
|
|
|
1.2.2012, 17:11
Сообщение
#3
|
|
Освоившийся участник Группа: Пользователи Сообщений: 216 Регистрация: 23.10.2008 Из: Саратов Пользователь №: 865 Спасибо сказали: 60 раз |
Кому как нравится, Илья
|
|
|
1.2.2012, 17:19
Сообщение
#4
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Не ну так более правильно сделать. LuaPlugin.cpp я подправил. Однако не знаю достаточно ли будет указать в config.h: #define HAVE_TINYXML_H 1
Или же нужно будет ещё где-то определить HAVE_CONFIG_H Хотя луа плагин ну нас же не собирается при помощи autotools :( |
|
|
1.2.2012, 17:19
Сообщение
#5
|
|
Освоившийся участник Группа: Пользователи Сообщений: 216 Регистрация: 23.10.2008 Из: Саратов Пользователь №: 865 Спасибо сказали: 60 раз |
Не ну так более правильно сделать. LuaPlugin.cpp я подправил. Однако не знаю достаточно ли будет указать в config.h: #define HAVE_TINYXML_H 1 Или же нужно будет ещё где-то определить HAVE_CONFIG_H делал так как описывал, все прекрасно завелось, Коля обещал просмотреть и выявить косяки в моем описании Илья, вопрос к тебе, а после обновления на новые релизы строчки из конфига не будут удаляться ?? |
|
|
1.2.2012, 18:32
Сообщение
#6
|
|
Местная ТехПоддержка Группа: Администраторы Сообщений: 1 875 Регистрация: 18.7.2008 Из: Моск. Обл, г. королев, район Болшево Пользователь №: 221 Спасибо сказали: 220 раз |
Коля посомтрел и поправил. Я думаю autotools и для lua_plugin сделаю
|
|
|
1.2.2012, 21:22
Сообщение
#7
|
|
Продвинутый участник Группа: Пользователи Сообщений: 189 Регистрация: 20.4.2009 Пользователь №: 3 121 Спасибо сказали: 12 раз |
Есть проше http://mydc.ru/index.html?showtopic=4949&a...ost&p=39923
в 2 клика как говоритса ))) Работает уже давно у меня так, по сей день, не от Рута а от пользователя но за такой мануал как у вас, тоже интересно Спасибо |
|
|
1.2.2012, 21:39
Сообщение
#8
|
|
Местная ТехПоддержка Группа: Администраторы Сообщений: 1 875 Регистрация: 18.7.2008 Из: Моск. Обл, г. королев, район Болшево Пользователь №: 221 Спасибо сказали: 220 раз |
Алсо, я предпочитаю все-таки ставить когда этот код внутри софтины. Удобнее плюс опять же. он не тянет, а плюсов "к карме" накидывает. Хотелось бы только чтобы сетапер сообщал о том, когда еще файлы добавляет в дерево исходников, а то вот был релиз, в котором autotool-сборка не работала. Сегодня поправил это в svn.
|
|
|
1.2.2012, 22:10
Сообщение
#9
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Ок.
Ну а вообще, релизы все находятся в tags, и релизные ветки вообще говоря можно также править на svn при необходимости. |
|
|
1.2.2012, 22:46
Сообщение
#10
|
|
Местная ТехПоддержка Группа: Администраторы Сообщений: 1 875 Регистрация: 18.7.2008 Из: Моск. Обл, г. королев, район Болшево Пользователь №: 221 Спасибо сказали: 220 раз |
да не вопрос. Буду подпиливать по мере необходимости.
|
|
|
Похожие темы
|
Сейчас: 26.11.2024, 20:48 |