Сборка RusHub и Lua плагина из исходников на Ubuntu 10.10
Материал из MyDC's Wiki
Содержание |
Подготовка
Установка необходимых для сборки пакетов liblua5.1-dev и build-essential:
apt-get install build-essential liblua5.1-dev subversion
Операция разовая, повторять не требуется.
Скачивание исходников хаба
cd ~
Скачивание исходников хаба из SVN:
- При первичном получении исходников из SVN:
svn co https://rushub.svn.sourceforge.net/svnroot/rushub/tags/last/ rushub
- При последующих:
cd ~/rushub
svn up
Сборка tinyxml
Переход в директорию с tinyxml:
cd ~/rushub/rushub/src/tinyxml
Сборка:
make
Сборка RusHub
Переход в директорию с исходниками хаба:
cd ~/rushub/rushub/src
Сборка:
make
Сборка Lua-плагина
Необходимо скопировать Plugin.h и папку tinyxml в директорию с исходниками Lua-плагина:
cp --remove-destination ~/rushub/rushub/src/Plugin.h ~/rushub/lua_plugin/src/
cp -r --remove-destination ~/rushub/rushub/src/tinyxml ~/rushub/lua_plugin/src/
Переход в директорию с исходниками Lua-плагина:
cd ~/rushub/lua_plugin/src/
Сборка:
make
Подготовка к работе
Переносим скомпилированный исполняемый файл в рабочую директорию ~/rushub/:
mv -f ~/rushub/rushub/src/RusHub ~/rushub/
Переходим в каталог ~/rushub/ и запускаем хаб:
cd ~/rushub
./RusHub
По умолчанию хаб запустится на 4111 порту. Прервать его работу можно нажатием комбинации клавиш Ctrl и C. После первого запуска хаба в директории ~/rushub/ появятся директории lang, logs, plugins и конфигурационный файл хаба RusHub.xml.
Для возможности использования скриптов на Lua, надо из директории ~/rushub/trunk/lua_plugin/src/ скопировать файл lua.so в директорию ~/rushub/plugins/:
mv -f ~/rushub/lua_plugin/src/lua.so ~/rushub/plugins/
Приём входящих соединений на стандартном порту 411
По умолчанию для запуска хаба на 411 порту нужны root-привелегии. Обойти это можно двумя способами.
1.iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 411 -j REDIRECT --to-ports 4111Или:
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 411 -j DNAT --to-destination 192.168.0.2:4111
2. Сборка хаба с поддержкой Posix Capabilities: http://mydc.ru/topic5163.html
Установка Lua-библиотек
Скрипты на Lua могут использовать дополнительные возможности, предоставляемые Lua-библиотеками. В репозитариях убунты находится множество готовых к установке Lua-библиотек, их список можно посмотреть командой:
apt-cache search liblua5.1
О сборке библиотек
Все Lua-библиотеки для Ubuntu/Debian-based систем нужно собирать с флагом LDFLAGS=-llua5.1.
На других дистрибутивах может быть по-другому. Для Gentoo, Calculate Linux, CentOS, OpenSUSE, FreeBSD: LDFLAGS=-llua.
Посмотреть что писать, кстати, можно так: pkg-config имя_пакета_с_lua --libs
В дебиане например имя пакета писать так: lua5.1.