Завдання полягає в установці сервера корпоративної джблеру в локальній мережі з зберіганням листування користувачів в mysql через модуль mod_logdb і все інше в вбудованій базі даних mnesia.
Debian GNU/Linux (Etch, Lenny, Squeeze, Wheezy) або Ubuntu LTS сервер
Я встановив в Debian Wheezy але різниця з Debian Lenny, Squeeze є тільки в патч версія (визначена в інструкції)
Припустимо, що сервер встановлюється відповідно до інструкцій:Встановлення сервера Debian Wheezy з докладними скріншотами
Встановити хостинг панелі для зручності додавання домену, бази даних, сайту згідно інструкцій: Встановлення та налаштування хостингової панелі ISPConfig 3 в Debian
Якщо ви ще не додали репозиторію, то додайте команду до вашого дистрибуції:
Для Debian Lenny:
echo 'deb http://archive.debian.org/debian/ lenny main contrib non-freedeb-src http://archive.debian.org/debian/ lenny mainДля Debian Squeeze:
echo 'deb http://mirror.yandex.ru/debian/ squeeze main contrib non-free
deb-src http://mirror.yandex.ru/debian/ squeeze main
' > /etc/apt/sources.list
Для Деб'яну Керезю:
echo 'deb http://mirror.yandex.ru/debian/ wheezy main contrib non-free
deb-src http://mirror.yandex.ru/debian/ wheezy main
' > /etc/apt/sources.list
!!! Якщо вам необхідно поставити ejabberd версію з Lenny на Squeeze, то додайте репозиторію Lenny за допомогою команди:
echo 'deb http://archive.debian.org/debian/ lenny main contrib non-freedeb-src http://archive.debian.org/debian/ lenny mainВстановити необхідні пакети для компіляції коду джерела для всіх версій Debian:
aptitude install -y build-essential fakeroot subversion erlang
Створимо папку. /usr/src/ejabberd А потім ми йдемо в папку, де будуємо Ejabberd.
mkdir /usr/src/ejabberd cd /usr/src/ejabberd
Далі завантажте джерело з офіційної репозиторій:
apt-get source ejabberd
!! Якщо вам необхідно завантажити Squeeze версію ejabberd c Lenny, слідуйте за командою:
apt-get source ejabberd -t lenny
Ми перевіряємо те, що ми отримали.
ls
Командний вихід для Debian Wheezy (інші версії ejabberd будуть доступні для інших):
ejabberd-2.1.10 ejabberd_2.1.10-4+deb7u1.diff.gz ejabberd_2.1.10-4+deb7u1.dsc ejabberd_2.1.10.orig.tar.gz
Перейти до папки, що упаковуються для складання пакету для курей:
cd ejabberd-2.1.10/
Перейти до папки, що упаковуються для складання пакету для Squeeze:
cd ejabberd-2.1.5/
Перейти до папки, що упаковуються для складання пакета для Lenny:
cd ejabberd-2.0.1/src
Насосні патчі.
Пак і драйвер для mysql знаходяться на веб-сайт
Для Debian Lenny, в ejabberd 2.0.1 репозиторію, потрібно натиснути 2 мод_Logdb патчі і нашивку, яка додає замість входу відображає вміст прізви, якщо він заповнюється, наприклад, віванов логін і Иванов Ник - буде відображати нік для відображення на екрані:
Завантажити мод_logdb патч для Debian Lenny з офіційного сайту і нашивки:
wget http://softnastroy.com/downloads/ejabberd/patch-src-mod_logdb-2.0.5.diff patch -p0 < patch-mod_logdb-2.0.5.diff
Завантажити патч, що змінюється логін на прізвичку з мого сайту, тільки для ejabberd 2.0.1 і 2.0.5 (Lenny) як я не знайшов сайт автора:
cd .. wget http://softnastroy.com/downloads/ejabberd/mod_shared-name.diff patch -p0 < mod_shared-name.diff
!!! Якщо необхідно встановити версію Ejabberd 2.0.5Дотримуйтесь команд, які завантажують і відпакуйте джерело, потім нанесіть патчі вище:
wget http://softnastroy.com/downloads/ejabberd/ejabberd_2.0.5-1.1.dsc wget http://softnastroy.com/downloads/ejabberd/ejabberd_2.0.5.orig.tar.gz wget http://softnastroy.com/downloads/ejabberd/ejabberd_2.0.5-1.1.diff.gz dpkg-source -x ejabberd_2.0.5*.dsc cd ejabberd-2.0.5/src/
Завантажити патч. Модуль_logdb для Debian Squeeze (ejabberd 2.1.5) з офіційного сайту:
wget http://www.dp.uz.gov.ua/o.palij/mod_logdb/patch-mod_logdb-2.1.3.diff
Завантажити патч. Модуль_logdb для Debian Squeeze (ejabberd 2.1.5) з мого сайту:
wget http://softnastroy.com/downloads/ejabberd/patch-mod_logdb-2.1.3.diff
Завантажити патч. mod_logdb для Debian Wheezy (ejabberd 2.1.10) з офіційного сайту:
wget http://www.dp.uz.gov.ua/o.palij/mod_logdb/patch-mod_logdb-2.1.10.diff
Завантажити патч. mod_logdb для Debian Wheezy (ejabberd 2.1.10) з мого сайту:
wget http://softnastroy.com/downloads/ejabberd/patch-mod_logdb-2.1.10.diff
Настроювання параметра mod_logdb за допомогою команди:
patch -p0 < patch-mod_logdb*
Чи варто подарувати вам щось таке:
patching file mod_logdb.erl patching file mod_logdb.hrl patching file mod_logdb_mnesia.erl patching file mod_logdb_mysql.erl patching file mod_logdb_mysql5.erl patching file mod_logdb_pgsql.erl patching file mod_logdb_mnesia_old.erl patching file gen_logdb.erl patching file mod_muc/mod_muc_room.erl Hunk #1 succeeded at 605 (offset -27 lines). patching file msgs/uk.msg Hunk #1 succeeded at 375 (offset 6 lines). patching file msgs/ru.msg Hunk #1 succeeded at 375 (offset 6 lines). patching file msgs/pl.msg Hunk #1 succeeded at 375 (offset 5 lines). patching file msgs/nl.msg Hunk #1 succeeded at 375 (offset 6 lines). patching file mod_roster.erl patching file mod_roster_odbc.erl
Встановити необхідні пакети для складання за допомогою команди (якщо потрібно поставити пакети з іншого розподілу, додайте ключ -t лівий до команди):
apt-get build-dep ejabberd
Перейдіть в файл. /usr/src/ejabberd/ejabberd-2.1.10/
cd /usr/src/ejabberd/ejabberd-2.1.10/
Ми починаємо збірку нашої команди, що нашивається:
fakeroot dpkg-buildpackage -us -uc
Ось компіляція і збірка, і закінчується з чимось схожим:
... dpkg-deb: сборка пакета «ejabberd» в файл «../ejabberd_2.1.5-3+squeeze1_i386.deb». dpkg-genchanges >../ejabberd_2.1.5-3+squeeze1_i386.changes dpkg-genchanges: в закачку не включён оригинальный исходный код dpkg-source --after-build ejabberd-2.1.5 dpkg-buildpackage: закачка только двоичных пакетов и diff (без пакетов оригинального исходного кода)
Перейти до папки вгору за допомогою:
cd ..
І ми перевіряємо, що команда виконує. ls:
ls ejabberd-2.1.5 ejabberd_2.1.5-3+squeeze1.dsc ejabberd_2.1.5-3+squeeze1_i386.deb ejabberd_2.1.5-3+squeeze1.diff.gz ejabberd_2.1.5-3+squeeze1_i386.changes ejabberd_2.1.5.orig.tar.gz
Ми бачимо наші зібрані deb Головна ejabberd_2.1.5-3+squeeze1_i386.debЩо ми встановимо.
Перед установкою необхідно визначити доменне ім’я, на якому наша компанія буде працювати. ejabberd сервер, файл /etc/hosts Додаємо рядок:
192.168.0.1 jabber.local.ua jabber
дезін 192.168.0.1 IP-адреса нашого сервера в локальній мережі
local.ua Наприклад, ми маємо доменне ім’я в нашій мережі.
jabber.local.ua - доменне ім'я нашого сервера jabber, за допомогою якого користувачі підключаються до сервера.
Зміна імені сервера в файлі /etc/hostname навігація jabber.local.ua
Почати використання назви команди:
/etc/init.d/hostname.sh
Перевірити яку назву команди використовують:
hostname hostname -f
Обов'язково приділіть кожному колективу:
jabber.local.ua
Також бажано встановити і налаштувати сервер DNS на локальній мережі, щоб користувачі не приписували IP-сервер в клієнті, але замість цього використовують доменне ім'я мережі.
Перейдемо на серверну установку.
Встановлення патчованого і зібраного сервера ejabberd здійснюється за допомогою команди:
dpkg -i /usr/src/ejabberd/ejabberd_2.1.5-3+squeeze1_i386.deb
Перевірте, що модуль мод_logdb є командою:
ls /usr/lib/ejabberd/ebin/*logdb*
Висновок команди:
/usr/lib/ejabberd/ebin/gen_logdb.beam /usr/lib/ejabberd/ebin/mod_logdb_mysql5.beam /usr/lib/ejabberd/ebin/mod_logdb.beam /usr/lib/ejabberd/ebin/mod_logdb_mysql.beam /usr/lib/ejabberd/ebin/mod_logdb_mnesia.beam /usr/lib/ejabberd/ebin/mod_logdb_pgsql.beam /usr/lib/ejabberd/ebin/mod_logdb_mnesia_old.beam
Встановити драйвери для mod_logdb c mysql
Завантажити драйвера з офіційного сайту:
wget http://www.dp.uz.gov.ua/o.palij/mod_logdb/erlang-mysql-850-with-userflags.tar.bz2
Завантажити драйвера з мого сайту:
wget http://softnastroy.com/downloads/ejabberd/erlang-mysql-850-with-userflags.tar.bz2
Ми розпакуємо архів за допомогою команди:
tar xvjf erlang-mysql-850-with-userflags.tar.bz2
Перейдіть в файл. erlang-mysql
cd erlang-mysql
І ми збираємо драйвери з командою:
sh build.sh
Після складання скопіюйте драйвер в папку /usr/lib/ejabberd/ebin/ команда:
cp ebin/* /usr/lib/ejabberd/ebin/
Встановлення нашого сервера ejabberd, після чого приступаємо безпосередньо до конфігурації новоствореного сервера ejabberd.
Я був з вами. Сергій Лазаренко.
Продовження інструкції: Налаштування ejabberd і mod_logdb в Debian
Дивіться відео про WIFI для Dummies:



Про нас