главная|main page

состояние|status

блог|blog

файлы|files

программы|software

summaryrefslogtreecommitdiff
path: root/pubnix----prosody--pam-.html
blob: b7ccb9722e33090998f474810cc885f6d890e13e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<!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>Pubnix - Установка Prosody с PAM-авторизацией</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">
<!-- entry begin -->
<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 &mdash; 
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>

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

<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>

<hr />

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

<p>Метки: <a href='tag_prosody.html'>prosody</a>, <a href='tag_pubnix.html'>pubnix</a>, <a href='tag_xmpp.html'>xmpp</a>, <a href='tag_7 класс.html'>7 класс</a></p>
<!-- text end -->
<!-- entry end -->
</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>