<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link href="/css/main.css" rel="stylesheet" /> <link href="/css/theme.css" rel="stylesheet" /> <link href="/css/third-party.css" rel="stylesheet" /> <link href="/css/responsivity.css" rel="stylesheet" /> <title>Блог самохостера Lotigara — Заметки с меткой "класс"</title> </head><body> <input type="checkbox" id="theme-switch"> <div id="divbodyholder"><div class="inner_page"> <div class="headerholder"><div class="header"> <div id="title"> <div class="page_header floating_element"> <h1 class="floating_element">Блог самохостера Lotigara</h1> </div> <div class="floating_element"> <h4 style="display:inline"><a style="color:white" href="/">главная|main page</a></h4> <h4 style="display:inline"><a style="color:white" href="/status.php">состояние|status</a></h4> <p style="display:inline">блог|blog</p> <h4 style="display:inline"><a style="color:white" href="/files">файлы|files</a></h4> <h4 style="display:inline"><a style="color:white" href="https://git.lotigara.ru">программы|software</a></h4> <label id="switch-label" for="theme-switch"></label> </div> </div></div></div> <div id="divbody"><div class="content"> <div class="section_header"><a class="ablack" href="pubnix----prosody--pam-.html"> Pubnix - Установка Prosody с PAM-авторизацией </a></div> <!-- bashblog_timestamp: #202505042146.43# --> <div class="subtitle">мая 04, 2025 — Ivan Davydov </div> <!-- text begin --> <h1>Использованные источники</h1> <ul> <li><a href="https://blog.desdelinux.net/en/prosody-im-local-users-SME-networks">DesdeLinux</a></li> <li><a href="https://landchad.net/prosody">LandChad</a></li> <li><a href="https://prosody.im">Prosody</a></li> </ul> <h1>0. Системные требования</h1> <ul> <li>Firewall с следующими открытыми портами:</li> <li><ul> <li>5000/tcp (передача файлов)</li> </ul></li> <li><ul> <li>5222/tcp (подключение клиента)</li> </ul></li> <li><ul> <li>5269/tcp (федерация, подключение сервера к серверу)</li> </ul></li> <li><ul> <li>5281/tcp (по желанию, но рекомендуется)</li> </ul></li> <li><p>Debian 12 с последними обновлениями</p></li> </ul> <p>Все команды выполняются пользователем <code>root</code>, если не указано иначе.</p> <h1>1. Установка</h1> <p>Выполните эти команды:</p> <pre> 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/ mod_auth_pam </pre> <h1>2. Настройка</h1> <p>Начните редактировать файл <code>/etc/prosody/prosody.cfg.lua</code>. Следуйте этим инструкциям, заменяя <code>example.net</code> на доменное имя, привязанное к вашему серверу.</p> <p>Найдите строку, начинающуюся с слова <code>admins</code>, и добавьте ваше будущее имя пользователя в фигурные скобки подобным образом:</p> <pre> admins = { "admin@example.net" } </pre> <p>Где <code>admin</code> - это ваше имя пользователя в вашей системе.</p> <p>Дальше найдите строку <code>--"mam";</code> и удалите два дефиса, сделайте то же самое с строкой <code>--"turn_external";</code>, находящейся ниже.</p> <p>Теперь перейдите к строке <code>authentication = "internal_hashed"</code> и замените <code>internal_hashed</code> на <code>pam</code>.</p> <p>Перейдите к строке, начинающейся с <code>storage</code> и поменяйте <code>sql</code> на <code>internal</code> (по желанию, в этой инструкции я не рассматриваю настройку с базами данных)</p> <p>По желанию в строке <code>archive_expires_after = "1w"</code> замените <code>1w</code> на <code>never</code>, чтобы истории переписок не удалялись каждую неделю.</p> <p>Найдите строку, начинающуюся с <code>VirtualHost</code> и замените <code>localhost</code> на <code>example.net</code>.</p> <p>Если вам нужны многопользовательские переписки, на следующей строке добавьте следущее:</p> <pre> Component "muc.lotigara.ru" "muc" modules_enabled = { "muc_mam", "vcard_muc" } </pre> <p>Последнюю строку можете опустить, если вам не нужно сохранение истории многопользовательских переписок.</p> <p>Если нужна возможность загружать файлы на ваш сервер, дополните конфигурацию следующими строками:</p> <pre> 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 --измеряется в секундах </pre> <p>В данном случае, лимит размера файла - это 512 МиБ (0,5 ГиБ), а удаляться файлы будут через ~1000 лет. Если требуется изменить какое-либо из этих свойств, смотрите комментарии (в Lua они начинаются с двух дефисов) и пробуйте изменять значения.</p> <p class="readmore"><a href="./pubnix----prosody--pam-.html">Читать далее...</a></p> </div> <div class="section_header section_header_last"> <p>(c) Ivan Davydov 2025. Делайте с этим документом всё, что хотите!</p><hr/> <a href="https://www.lotigara.ru/blog">Веб-сайт самохостера Lotigara</a> сгенерирован при помощи <a href="https://github.com/jakimfett/bashblog">Bashblog</a>. Исходные коды этой версии Bashblog можно найти <a href="https://www.lotigara.ru/files/bashblog">здесь</a>.</div> </div> </div></div></div> </body></html>