From 03ef1aac0a5548bf5865ec5e41cbe576b830fe62 Mon Sep 17 00:00:00 2001 From: Ivan Davydov Date: Sun, 4 May 2025 21:46:52 +0300 Subject: Rebuild tags --- pubnix----prosody--pam-.html | 114 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 pubnix----prosody--pam-.html (limited to 'pubnix----prosody--pam-.html') diff --git a/pubnix----prosody--pam-.html b/pubnix----prosody--pam-.html new file mode 100644 index 0000000..9803815 --- /dev/null +++ b/pubnix----prosody--pam-.html @@ -0,0 +1,114 @@ +Pubnix - Установка Prosody с PAM-авторизацией + + +
+
+
+
+
+ + + +
мая 04, 2025 — +Ivan Davydov +
+ + +

Использованные источники

+ + + +

0. Системные требования

+ +
    +
  • Firewall с следующими открытыми портами:
  • +
    • +
    • 5000/tcp (передача файлов)
    • +
  • +
    • +
    • 5222/tcp (подключение клиента)
    • +
  • +
    • +
    • 5269/tcp (федерация, подключение сервера к серверу)
    • +
  • +
    • +
    • 5281/tcp (по желанию, но рекомендуется)
    • +
  • +
  • Debian 12 с последними обновлениями

  • +
+ +

Все команды выполняются пользователем root, если не указано иначе.

+ +

1. Установка

+ +

Выполните эти команды: +``` +wget https://prosody.im/files/prosody.sources -O/etc/apt/sources.list.d/prosody.sources +apt update +apt install prosody lua5.4 liblua5.4-0 liblua5.4-dev luarocks certbot

+ +

usermod -aG shadow prosody +usermod -aG ssl-cert prosody

+ +

luarocks install luaposix

+ +

git clone https://github.com/devurandom/lua-pam && cd lua-pam +make LUA_VERSION=5.4 +cp pam.so /usr/lib/

+ +

prosodyctl install --server=https://modules.prosody.im/rocks/ modauthpam +```

+ +

2. Настройка

+ +

Начните редактировать файл /etc/prosody/prosody.cfg.lua. +Следуйте этим инструкциям, заменяя example.net на доменное имя, привязанное к вашему серверу.

+ +

Найдите строку, начинающуюся с слова admins, и добавьте ваше будущее имя пользователя в фигурные скобки подобным образом: +lua +admins = { "admin@example.net" } + +Где admin - это ваше имя пользователя в вашей системе.

+ +

Дальше найдите строку --"mam"; и удалите два дефиса, сделайте то же самое с строкой --"turn_external";, находящейся ниже.

+ +

Теперь перейдите к строке authentication = "internal_hashed" и замените internal_hashed на pam.

+ +

Перейдите к строке, начинающейся с storage и поменяйте sql на internal (по желанию, в этой инструкции я не рассматриваю настройку с базами данных)

+ +

По желанию в строке archive_expires_after = "1w" замените 1w на never, чтобы истории переписок не удалялись каждую неделю.

+ +

Найдите строку, начинающуюся с VirtualHost и замените localhost на example.net.

+ +

Если вам нужны многопользовательские переписки, на следующей строке добавьте следущее: +lua +Component "muc.lotigara.ru" "muc" +modules_enabled = { "muc_mam", "vcard_muc" } + +Последнюю строку можете опустить, если вам не нужно сохранение истории многопользовательских переписок.

+ +

Если нужна возможность загружать файлы на ваш сервер, дополните конфигурацию следующими строками: + +Component "uf.lotigara.ru" "http_file_share" +http_file_share_size_limit = 512 * 1024 * 1024 --измеряется в байтах +http_file_share_expire_after = 60 * 60 * 24 * 31 * 1000 --измеряется в секундах + +В данном случае, лимит размера файла - это 512 МиБ (0,5 ГиБ), а удаляться файлы будут через ~1000 лет. +Если требуется изменить какое-либо из этих свойств, смотрите комментарии (в Lua они начинаются с двух дефисов) и пробуйте изменять значения.

+ +
+ +

В завершении статьи хочется обратить ваше внимание на то, что данная инструкция предоставляется БЕЗ каких-либо гарантий. Если при выполнении указаний из данной инструкции случилось что-то непредвиденное, вы можете обратиться ко мне, но не стоит ожидать какого-либо результата.

+ +

Метки: prosody, pubnix, xmpp, 7 класс

+ + +
+
+ -- cgit v1.2.3