aboutsummaryrefslogtreecommitdiffstats
path: root/russian/mirror/push_server.wml
blob: 662fc63216565e3844f3ade5e9b65a2ba0005276 (plain) (blame)
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
#use wml::debian::template title="Настройка проталкивающего сервера"
#use wml::debian::translation-check translation="8af469f41d65d1e2618d91408e57a4313cf98f8b" maintainer="Lev Lamberov"
#use wml::debian::toc

<p>Настройка проталкивающего сервера состоит из двух основных задач: настройка rsync
доступа (для нормального, <q>тянущего</q> зеркалирования) и настройка триггерного механизма ssh
(для <q>проталкивания</q> тянущего зеркалирования).
</p>

<p><small>(Подробности о том, что такое проталкивающий сервер, читайте в
<a href="push_mirroring">разъяснениях о проталкивающем зеркалировании</a>.)</small>
</p>

<toc-display />

<toc-add-entry name="rsync">Настройка rsync</toc-add-entry>

<p>Установите <code>rsync</code>. Если ваш сайт под управлением Debian, то
просто установите пакет <a href="https://packages.debian.org/stable/rsync">rsync</a>.
</p>

<p>Создайте файл <code>rsyncd.conf</code> и внесите в него что-то подобное этому:
</p>

<pre>
uid = nobody
gid = nogroup
max connections = 50
socket options = SO_KEEPALIVE

[debian]
  path = /srv/debian/mirror
  comment = The Debian Archive (https://www.debian.org/mirror/size)
  auth users = *
  read only = true
  secrets file = /etc/rsyncd/debian.secrets
</pre>

<p>Добавьте запись для каждого сайта, который вы проталкиваете, в файл
<code>/etc/rsyncd/debian.secrets</code>:
</p>

<pre>
site1.example.com:пароль
site2.example.com:ещё_пароль
site3.example.net:другой_пароль
</pre>

<p>Теперь вы даёте нижележащим зеркалам доступ к архиву на вашей
машине. Если вы хотите предоставить доступ через rsync всем, то пропустите
настройку <code>auth users</code> и <code>secrets file</code> в
<code>rsyncd.conf</code>. В этом случае вам не нужны секретные файлы.
</p>

<p>Возможно, вы захотите, чтобы служба rsync запускалась из inetd.
Чтобы включить службу добавьте следующую строку в ваш файл
<code>/etc/inetd.conf</code>:
</p>

<pre>
rsync      stream      tcp         nowait      root /usr/bin/rsync rsyncd --daemon
</pre>

<p>
(Не забудьте послать inetd сигнал HUP, чтобы сказать ему перечитать конфигурационный файл
после модификации.)
</p>

<toc-add-entry name="sshtrigger">Настройка механизма триггера ssh</toc-add-entry>

<p>С помощью <code>ssh-keygen</code> создайте новый ssh-ключ для учётной записи,
которую вы используете для зеркалирования Debian. Если у вашей учётной записи уже имеется ключ,
используемый для других целей, то можно создать ещё один и сохранить его в другом файле с помощью
команды <code>ssh-keygen -f ~/.ssh/identity.mysite</code></p>

<p>
На серверах, которые выполняют синхронизацию с вашим сервером в качестве источника,
в их файлы <code>~/.ssh/authorized_keys</code> следует добавить следующую строку:</p>

<pre>
command="~/bin/ftpsync",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty &lt;содержимое вашего файла ~/.ssh/&lt;ключ&gt;.pub&gt;
</pre>

<p>Вам нужно настроить процесс зеркалирования так, чтобы он связывался с нижележащими серверами по
завершению его синхронизации.
Набор сценариев ftpsync содержит сценарий <code>runmirrors</code>, который выполняет все
необходимые вам задачи. Просто измените ваш ftpsync.conf так, чтобы он содержал
<code>HUB=true</code>, скопируйте <code>runmirrors.conf.sample</code> в
<code>runmirrors.conf</code>, <code>runmirrors.mirror.sample</code> в
<code>runmirrors.mirror</code> и измените файл настроек так, чтобы он подходил вашей системе.
Затем добавьте все ваши нижележащие зеркала в файл runmirrors.mirror, а дуэт ftpsync/runmirror
сделает за вас всю тяжёлую работу.
</p>

<p>Это приведёт к тому, что ваша система попытается подключиться по ssh к вашим нижележащим зеркалам
после того, как ваше зеркало будет обновлено, так они смогут начать своё обновление. Это предполагает,
что вы передадите операторам ваших нижележащих зеркал ssh-ключ, который вы указали при настройке runmirrors,
и что они добавят его к свой собственный файл ~/.ssh/authorized_keys, как это было описано выше.
</p>

<p>Если у вас появились с этим какие-то проблемы, <a href="mailto:mirrors@debian.org">
свяжитесь с нами</a>.
</p>

© 2014-2024 Faster IT GmbH | imprint | privacy policy