• Обратная связь: [email protected]

    Наш канал в telegram: https://t.me/ru_sfera

    Группа VK: https://vk.com/rusfera

    Пользователи могут писать на форуме ТОЛЬКО ЧЕРЕЗ 7 ДНЕЙ после регистрации

Информация Супер-новый мануалл по настройке и установке ejabber + Lets'Encrypt


X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 199
Репутация
8 333
Как-то заказал сервер с CentOs 7 для работы с этим форумом, обычно работаю под Ubuntu и Debian.

Решил поизучать эту систему, хотя опыт имею работы с линуксом, но не суть...

Вообще ситуация с ejabber достаточно странная, в Debian в репозитории какое-то старье, по мойму вообще 12-го года, а в CentOs так вообще его удалили из репозитория.

В сети какие-то старые маннуалы, короче пришлось больше самому разбираться, вот решил запостить, что получилось:

Итак:

1)Качаем версию ejabber по новей (Возможно есть и новее), но это хоть 2018 года, не самое старьё:
Код:
wget https://www.process-one.net/downloads/downloads-action.php?file=/ejabberd/18.06/ejabberd-18.06-0.x86_64.rpm -O ejabberd.rpm

2)Устанавливаем:
Код:
rpm -ihv ejabberd.rpm

3)И следуем простым инструкциям. Когда сервер будет установлен, следуем в каталог /opt/ejabberd-18.06/.
Нас интересуют два каталога: bin и conf. В первом лежат исполняемые файлы, во втором, соответственно, конфиги.

4)Теперь нам нужно настроить файервол (Открыть порты 5222, 5269, 5280):
Код:
iptables -A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5269 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5280 -j ACCEPT
Код:
service iptables save

5)Запуск сервера:/opt/ejabberd-18.06/bin/start
Стоп сервера:/opt/ejabberd-18.06/bin/stop

6)Админка:
http://:5280/admin.
Рекомендую закрыть доступ по айпи в файерволе.

7)Сейчас пара настроек, /opt/ejabberd/conf/ejabberd.yml

Если нужно, что-бы была возможность регистрации на вашем сервере всем, а не только из корпоративной сети, то найдите "ip_access" и замените на:ip_access:all

Если хотите, что-бы регистрация была только a-z0-9._- (Латиница), иногда полезно, то найдите в конфиге:
Код:
###'  DEFAULT LANGUAGE

Ниже добавьте (Это добовляем регулярку):
Код:
acl:
  ascii:
    user_regexp: "^[a-z0-9._-]+$"
Теперь применим эту регулярку, найдите в конфиге примерно что-то такое:
Код:
  ## In-band registration allows registration of any possible username.
  ## To disable in-band registration, replace 'allow' with 'deny'.
И замените:
Код:
register:
    - allow: ascii
    - deny
Ну всё понятно, разрешаем то-что в ascii (Это наша регулярка), все остальные в блок.

8)С конфигом всё, вообще можете поразбираться, там можно много чего делать...

Настраиваем Let's Encrypt:

Установка:
Код:
sudo yum install epel-release -y
sudo yum install certbot -y

Получение сертификата:

Код:
 certbot certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d ru-sfera.org

Вместо ru-sfera.org введите свой домен, или *.ru-sfera.org для поддоменов, ну и следуйте инструкциям.

В папке /etc/letsencrypt/live/ будут ваши сертификаты.

Далее нужно сделать следующее:
Код:
#Объеденить файлы в один сертификат:
cat /etc/letsencrypt/live/ru-sfera.org-0001/privkey.pem /etc/letsencrypt/live/ru-sfera.org-0001/fullchain.pem > /opt/ejabberd/conf/ssl.pem

В /opt/ejabberd/conf/ejabberd.yml в "certfiles:" указать такой путь:
Код:
- "/opt/ejabberd-18.06/conf/ssl.pem"

И перезапустить сервер.

9)Есчо пара штук:

Добавляем в автозапуск (Самое простое в крон, во время автозапуска) (Команда crontab -e ):
Код:
@reboot /opt/ejabberd-18.06/bin/start

Как обновлять сертификат (автоматически), накидал простой скрипт:
Код:
#!/bin/bash
#Обновить все сертификаты:
/usr/bin/certbot renew >> /var/log/le-renew.log
#Объеденить файлы в один сертификат:
cat /etc/letsencrypt/live/my_site/privkey.pem /etc/letsencrypt/live/my_site/fullchain.pem > /opt/ejabberd/conf/ssl.pem
#Перезапуск jabber:
/opt/ejabberd-18.06/bin/stop
/opt/ejabberd-18.06/bin/start

! Вместо my_site свой путь !


10)Последний штрих, нужно добавить SRV в DNS записи:
Код:
_jabber._tcp.example.com. IN SRV 0 0 5269 example.com.
_xmpp-server._tcp.example.com. IN SRV 0 0 5269 example.com.
_xmpp-client._tcp.example.com. IN SRV 0 0 5222 example.com.

Вместо example.com ваш домен.

Вроде всё.
 
Автор темы Похожие темы Форум Ответы Дата
X-Shar Мир Jabber 0
Верх Низ