Добро пожаловать,
Гость
|
ТЕМА:
Установка и настройка Ejabberd на Ubuntu Server 13 года 9 мес. назад #530
|
Интсрукция по серверу Ejabberd
Установка и настройка Ubuntu Server 10.04 LTS
Ресурсы по теме:
Фан-сайт - www.ejabberd.imКоммерческий сайт - www.process-one.net/en/ejabberd Онлайн гайд - www.process-one.net/docs/ejabberd/guide_en.html Частые вопросы - www.ejabberd.im/faq DevDoc - www.process-one.net/docs/ejabberd/devdoc/trunk/ Модули - www.ejabberd.im/ejabberd-modules Модуль log_chat - www.svn.process-one.net/ejabberd-modules/mod_log_chat/ WinSCP - www.winscp.net/eng/download.php VacuumIM - www.vacuum-im.org
Установка ОС Ubuntu Server 10.04 LTS
1) Вставляем диск с дистрибутивом Linux Ubuntu Server 10.04 LTS x86 2) Выбираем Русский язык 3) Выбираем пункт №1 Установить Ubuntu Server 4) Выбираем регион Украина 5) Выбираем НЕТ не определять раскладку клавиатуры 6) Соответственно выбираем вручную США 7) Главное меню тоже США 8) Дальше система сканирует диск с дистрибутивом 9) После загрузки с диска нужных компонентов система спросит имя для этой машины в сети, в нашем случае выбираем имя «Jabber» 10) Дальше говорим, что наша временная зона является не корректной (НЕТ) и вручную выбираем «Kiev» 11) Дальше вручную размечаем диск на усмотрение главное — swp, / , /home 12) Соглашаемся с тем, что данные изменения теперь будут записаны на диск 13) Пошла установка базовой системы 14) Понадобится использование интернета в данном руководстве подразумевается, что в сети есть DHCP сервер и выход в интернет. 15) Теперь введите имя пользователя и пароль, этот пользователь имеет право на использование команды “sudo” то есть он является sudouser 16) Вводим имя «administrator» и стандартный пароль 17) Нажимаем «НЕТ» не использовать шифрование домашней директории 18) Дальше нас спросят о настройках ПРОКСИ в нашей сети, если ничего такого у нас нет значит просто жмём ввод (enter) или же указываем настройки прокси 19) Теперь опять будет использован интернет 20) На вопрос про способ обновления говорим без автоматического обновления. 21) Для обновления вручную вводим последовательность команд sudo -s aptitude update aptitude upgrade -y 22) Теперь нужно выбрать дополнительное програмное обеспечение, выбираем только OpenSSH (пробелом помечаем) 23) Снова подключается к интернету и вытягивает нужные компоненты 24) Соглашаемся на установку GRUB Loader в MBR 25) Далее машина выкинет CD с дистрибутивом и скажет убедитесь, что диск извлечён и продолжайте установку 26) Перезагрузка 27) После перзагрузки нас спросят Lgin и пароль пользователя
Настройка ОС Ubuntu Server 10.04 LTS
1) Вводим «administrator» со стандартным паролем 2) Сразу видно количество обновлений (около 100) 3) Выполняем вручную обновление системы 4) Напоминаю последовательность – “sudo -s” поле этого вводим пароль пользователя администратора и выполняем - “aptitude update && aptitude upgrade -y” 5) Для этих операций необходим интернет 6) Перезагружаем после обновлений команда «reboot»
Установка и настройка Сервера Ejabberd
1) Повышаем права «sudo -s» затем выполняем «aptitude install ejabberd -y» 2) Проинсталировали, теперь поставим нужные программы для удобства 3) Выполняем команду - aptitude install htop mc trafshow traceroute 4) Запускаем mc 5) Переходим в директорию /etc/ejabberd/ 6) Находим ejabberd.cfg и на нём жмём клавишу F4 7) И приводим к виду (пример этого файла снизу)
ejabberd.conf
% Cимвол «%» говорит Erland”у, что данная строка это комментарий % а комментарии пропускаются при чтении параметров из файла конфигурации % Имя машины сервера {hosts, ["jabber"]}. % Уроень логирования {loglevel, 4}. %% Слушать порты % Слушать порт для подключения клиентов к серверу (c2s) {listen, [ {5222, ejabberd_c2s, [ {access, c2s}, {shaper, c2s_shaper}, {max_stanza_size, 65536}, starttls, {certfile, "/etc/ejabberd/ejabberd.pem"} ]}, % Слушать Web панель администратора {5280, ejabberd_http, [ http_bind, http_poll, web_admin ]} ]}. %% Авторизация % Метод авторизации внутренний {auth_method, internal}. %% Трафик Шейпера (профили) % Создн нормальный шейпер он ограничивает до 1000 B/s {shaper, normal, {maxrate, 1000}}. % Быстрый Шейпер ограничивает до 50000 B/s {shaper, fast, {maxrate, 50000}}. %%% Лист Контроля Доступа % Кто админ {acl, admin, {user, "admin", "jabber"}}. {acl, admin, {user, "kvin", "jabber"}}. % Локальные пользователи (не редактировать эти строки) {acl, local, {user_regexp, ""}}. %% Правила доступа % Максимально кол-во одновременно открытых сессий одним клиентом {access, max_user_sessions, [{1, all}]}. % Иаксимальное кол-во офлайн сообщений {access, max_user_offline_messages, [{10, all}]}. % Доступ только локальным пользователям {access, local, [{allow, local}]}. % Только не заблокированые пользователи могут соединятся с сервером {access, c2s, [{deny, blocked}, {allow, all}]}. % Все кроме админов используют нормальный шейпер {access, c2s_shaper, [{none, admin}, {normal, all}]}. % А вот соединения Сервер к Серверу (s2s) используют быстрый шейпер {access, s2s_shaper, [{fast, all}]}. % Только админы могут создавать широковешятельные сообщения {access, announce, [{allow, admin}]}. % Только админы могут использовать интерфейс конфигурирования {access, configure, [{allow, admin}]}. % Админы сервера так же админы и конференций {access, muc_admin, [{allow, admin}]}. % Всем пользоваетелям разрешено пользоватся конференциями {access, muc, [{allow, all}]}. % Кто угодно может создавать конференции {access, pubsub_createnode, [{allow, all}]}. % Опредеяет параметры сервера {host_config, "jabber", [ % Разрешить соединения c2s админам и всем остальным {access, c2s, [{allow, admin}, {allow, all}]}, % Самовольная регистрация на сервере запрещена {access, register, [{deny, all}]} ] }. %% Языки по умолчанию % Сообщения сервера {language, "ru"}. % Для каждого виртуального сервера определить язык {host_config, "jabber", [{language, "ru"}] }. %% Модули {modules, [ {mod_adhoc, []}, {mod_announce, [{access, announce}]}, % requires mod_adhoc {mod_caps, []}, {mod_configure,[]}, % requires mod_adhoc {mod_admin_extra, []}, {mod_disco, []}, %%{mod_echo, [{host, "echo.localhost"}]}, {mod_irc, []}, {mod_last, []}, {mod_muc, [ {access, muc}, {access_create, muc}, {access_persistent, muc}, {access_admin, muc_admin}, {max_users, 500} ]}, {mod_offline, [{access_max_user_messages, max_user_offline_messages}]}, {mod_privacy, []}, {mod_private, []}, {mod_proxy65, [ {access, local}, {shaper, c2s_shaper} ]}, {mod_pubsub, [ % requires mod_caps {access_createnode, pubsub_createnode}, {pep_sendlast_offline, false}, {last_item_cache, false}, %%{plugins, ["default", "pep"]} {plugins, ["flat", "hometree", "pep"]} % pep requires mod_caps ]}, {mod_roster, []}, % Тут добавлен Общий Список Контактов (редактируется в WEB панели) {mod_shared_roster,[]}, {mod_stats, []}, {mod_time, []}, {mod_vcard, []}, {mod_version, []}, % Этот модуль будет записывать все разговоры {mod_log_chat, [{path, "/var/log/ejabberd/chat"}, {format, html}]} ]}.
% Конец файла ejabberd.conf
8) Нажимаем F2 для сохранения 9) Переходим на сайт модуля log_chat (ссылка есть в начале инструкции) 10) Выкачиваем все папки, как там, в папку mod_log_chat на свой компьютер 11) Находим — mod_log_chat/trunk/src/mod_log_chat.erl 12) Вот этот файл нам надо откомпилировать в формат – beam 13) По поводу скачивания и остального хочу сказать пару слов Скачивать удобнее с машины где есть графическая среда пусть даже и Windows потом просто остаётся перенести эти файлы на наш Ubuntu, а вот как переносить это уже дело десятое. Я буду использовать программу WinSCP (ссылка на программу есть в начале). 14) Скачали все файлы и папки с этого раздела (mod_log_chat) 15) Теперь будем переносить на Ubuntu Server 16) Запускаем WinSCP 17) Нажимаем NEW и заполняем поля IP адрес и порт 18) Что бы узнать IP нашего сервера мы должны ввести в консоле на нём команду “ifconfig” и найти например eth0 раздел inet addr:10.0.2.15 19) Порт 22 (SSH) 20) Соглашаемся на принятие ключа 21) Вводим логин – administrator со стандартным паролем 22) Получаем двухпанельный файловый менеджер 23) Кидаем с нашего компьютера в директорию /home на наш jabber сервер файлы с модулем 24) После того как сбросили все файлы отключаемся 25) Далее дело за компилированием 26) Я скинул в домашнюю директорию администратора создав папку «1» 27) Копируем из папки «src» файл «mod_log_chat.erl» в «../trunk» то есть на уровень выше 28) Туда же копируем необходимые для компилирования файлы из - /usr/lib/ejabberd/ 29) А именно «ejabberd.hl1» и «jlib.hl1» 30) И выполняем команду находясь в директории ./trunk - “erl -pa mod_log_chat.erl -pz ebin -make” 31) Он выдаст не критическую ошибку — Warning: behavior gen_mod undefined 32) Теперь в директории ./trunk появился файл mod_log_chat.beam 33) Копируем его в “/usr/lib/ejabberd/ebin” 34) Переходим в директорию «/var/log/ejabberd» создаём там папку «chat» и выставляем на неё полные права «sudo chmod 777 chat» 35) Выходим из «mc» и пишем «reboot» 36) После перезагрузки заводим нашего админа 37) «sudo ejabberdctl register admin jabber 123» 38) Теперь можем зайти в веб панель администратора 39) Набираем в браузере http://IP-JABBER:5280/admin 40) Где «IP-JABBER» IP нашего сервера 41) Вводим admin@jabber и пароль 123 42) В этой панели очень удобно администрировать и описывать не буду как с ней работать
Настройка Iptables
1) Итак теперь нужно обеспечить безопасность сервера 2) Заходим на машину по пользователем administrator 3) Пишем команду sudo -s вводим пароль 4) Открываем mc 5) Переходим в /etc/ 6) Ищем файл rc.local 7) Открываем его клавишей F4 8) Дописываем перед строчкой exit 0 9) /etc/Firewall.sh 10) Нажимаем F2 и сохраняем 11) Создаём в /etc файл «Firewall.sh» нажатием клавиш Shift+F4 12) Заполняем его
Firewall.sh
#!/bin/sh ########## Clear all tables ########## iptables -t nat -F iptables -t filter -F iptables -t mangle -F ########## Default Rules ########## iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP ########## Open Ports ########## # Open SSH iptables -t filter -A INPUT -i eth0 -p tcp –dport 22 -j ACCEPT # Jabber Web Panel iptables -t filter -A INPUT -i eth0 -p tcp –dport 5280 -j ACCEPT # Client XMPP iptables -t filter -A INPUT -i eth0 -p tcp –dport 5222 -j ACCEPT ########## Allow by state ########## iptables -t filter -A INPUT -i eth0 -m state –state RELATED,ESTABLISHED -j ACCEPT iptables -t filter -A FORWARD -i eth0 -m state –state RELATED,ESTABLISHED -j ACCEPT ########## Allow loopback ########## iptables -t filter -A INPUT -s localhost -d localhost -j ACCEPT iptables -t filter -A FORWARD -s localhost -d localhost -j ACCEPT ########## Allow ICMP ########## iptables -t filter -A INPUT -i eth0 -p icmp -j ACCEPT exit 0
-
13) Выставляем права на файл — chmod 700 /etc/Firewall.sh Клиент Jabber Теперь можете установить себе клиент и начать пользоваться и настраивать свой jabber сервер Рекомендую кроссплатформенный клиент под названием VacuumIM (ссылка в начале инструкции) __ Мануал возможно содержит ошибки |
Модераторы: Владимир Попов
Время создания страницы: 0.108 секунд