ejabberd это сервер Jabber / XMPP для обмена мгновенными сообщениями который выпускается под лицензией GPLv2 (Free и Open Source), написанная на Erlang / OTP.
Thank you for reading this post, don't forget to subscribe!
wget https://www.process-one.net/downloads/ejabberd/15.03/ejabberd-15.03-linux-x86-installer.run
Так как в репозитариях CentOS ejabberd нет (раньше был в EPEL, но его оттуда зачем то выпилили)
Дистрибутив можно скачать с process-one.net (куда и ведет ссылка с сайта разработчиков)
и раз уж мы собрались его запустить:
#chmod +x ejabberd-15.03-linux-x86-installer.run
#./ejabberd-15.03-linux-x86-installer.run
После чего нужно пройти несколько шагов установщика:
1. Первый вопрос установщика — выбор языка. Русский, расположенн под цифрой 5
2. Далее предлагается прочесть лицензионное соглашение, в общем придется несколько раз нажать Enter и в завершении согласится со всем прочитанным клавишей y
3. Выбор каталога установки, по умолчанию предлагается /opt/ejabberd-15.03
4. Выбор доменного имени XMPP сервера
5. Имя пользователя с администраторскими правами по умолчанию admin, но лучше его переименовать
6. Пароль администратора
7. И наконец нам предстоит выбрать будет ли сервер частью кластер. Так как сервер один, то и кластера у нас никакого быть не может.
8. Нажимаем Y для продолжения и смотрим на процесс установки
9. На последнем шаге нам предлагают посмотреть readme, после чего установку можно считать законченной.
Теперь начинается самое интересное, хотя в нашем случае много настроек не потребуется.
Всё необходимое для запуска сервера находится в /opt/ejabberd-15.03/bin Там есть скрипты start stop status много всего полезного, что нужно для работы ejabberd.
Для начала запустим сервер
#/opt/ejabberd-15.03/bin/start
Web интерфейс сервера доступен по адресу http://<Мой_сервер>:5280/admin
Самый интересный файл с настройками: /opt/ejabberd-15.03/conf/ejabberd.yml (раньше это был etc/ejabberd/ejabberd.cfg), но сейчас нам там менять нечего.
Мой pidgin не смог договорится с сервером о шифровании и вообще сертификат сформированный при установке не хотел корректно работать. Сам сертификат лежит в /opt/ejabberd-15.03/conf/server.pem
Пришлось создать самоподписанный сертификат, для наших целей он пока подходит (я делаю XMPP сервер для внутреннего пользования в организации)
Итак:
#openssl req -new -x509 -nodes -newkey rsa:1024 -days 3650 -keyout privkey.pem -out server.pem
#cat privkey.pem >> server.pem
#rm privkey.pem
После чего заменяем «заводской» server.pem в папке /opt/ejabberd-15.03/conf/ на вновь созданный и клиент может благополучно подключится к серверу, хотя ругается и предупреждает о самоподписанном сертификате.