dap: (Default)

ejabberd — это свободный, распределённый и устойчивый к отказам XMPP-сервер, написанный в основном на Erlang. Установка его тривиальна:

sudo zypper ar -k http://download.opensuse.org/repositories/server:/messaging/openSUSE_12.1/server:messaging.repo
sudo zypper ref
sudo zypper in --no-recommends ejabberd

Чтобы наш сервер мог связываться с другими, нужно привязать его к домену. Регистрируемся на любом сервер Free DNS, например, здесь. Выбираем и добавляем субдомен типа A здесь. Ваш ip автоматически определится и привяжется к домену.

Если фаервол настроен параноидально, ползём в Яст (Безопасность и пользователи => Бранмауэр => Разрешённые службы => Дополнительно) и открываем порты 5222 5269, записываем через пробел, сохраняем изменения и перезапускаем фаервол. Рядом (Система => Системные службы (Уровень зпауска)) можно включить автозагрузку демона.

Редактируем конфиг /etc/ejabberd/ejabberd.cfg: вместо строки {hosts, ["localhost"]}. делаем hosts, ["localhost", "наш.домен"]}. Подключаемся к нашему серверу через домен (NB! Аккаунт с тем же именем, созданный для локалхост будет отличным от аккаунта, привязанного к домену), создаём новый аккаунт. После регистрации можно заменить сервер для джида на localhost. Запрещаем новые регистрации: в строке {access, register, [{allow, all}]}. заменяем allow на deny.

Теперь желательно автоматизировать обновление записи DNS. Здесь берём свои параметры. Здесь выбираем утилиту. Пролистав доступные, я выбрал скрипт от Adam Dean и модифицировал его, свой вариант отправил админу сайта. Скрипт надо выполнять после каждого переподключения, я закинул его в kvpnc.

Пробежимся по содержимому скрипта:

dig @8.8.8.8 $DOM пробьёт домен через DNS гугла;

egrep -v "^$|;" выбросит пустые строки и строки с точкой с запятой;

Опционально можно выводить уведомления в KDE (не работает с kvpnc) или обновлять запись в хостс (нужны права root). Несмотря на все хитрости, похоже, что связь с другими серверами работает только, когда у них обновятся DNS. Поэтому после запуска компьютера ждём минут 5, уходим аккаунтов оффлайн, потом онлайн, и всё будет работать.

Подпилил скрипт для огробления статистики провайдера. Во-первых, для сравнения чисел нужно использовать -gt вместо >. Теперь скрипт не гадит пустыми файлами при запуске. Во-вторых, непустую строку можно опознать параметром -n. [man test или с примерами.] Этот вариант работает в zsh. Актуальная версия: 0.2.1.3. Спасибо, ascrazyaesdana, settler!

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

January 2016

S M T W T F S
     12
34567 89
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 9th, 2025 12:53 pm
Powered by Dreamwidth Studios