Установка ejabberd

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/ на вновь создан­ный и кли­ент может бла­го­по­луч­но под­клю­чит­ся к сер­ве­ру, хотя руга­ет­ся и пре­ду­пре­жда­ет о само­под­пи­сан­ном сертификате.