| 1 |
#use wml::debian::template title="push サーバを設定する"
|
| 2 |
#use wml::debian::translation-check translation="1.21"
|
| 3 |
#use wml::debian::toc
|
| 4 |
|
| 5 |
<p>push サーバの設定は、基本的に 2 つの作業からなります。
|
| 6 |
ひとつは rsync 接続 (通常の<q>pull</q>ミラー) の設定、
|
| 7 |
もうひとつは ssh のトリガ機構 (pull ミラーを<q>push</q>するためのもの)
|
| 8 |
の設定です。
|
| 9 |
</p>
|
| 10 |
|
| 11 |
<p><small>
|
| 12 |
(push サーバに関する詳細は <a href="push_mirroring">push ミラーの説明</a>
|
| 13 |
をご覧ください。)</small>
|
| 14 |
</p>
|
| 15 |
|
| 16 |
<toc-display />
|
| 17 |
|
| 18 |
<toc-add-entry name="rsync">rsync の設定</toc-add-entry>
|
| 19 |
|
| 20 |
<p><code>rsync</code> 2.1.1 以降をインストールします。
|
| 21 |
もし Debian を使っているサイトでしたら、単に
|
| 22 |
<a href="http://packages.debian.org/stable/net/rsync">rsync</a>
|
| 23 |
パッケージの最新版をインストールするだけです。
|
| 24 |
</p>
|
| 25 |
|
| 26 |
<p><code>rsyncd.conf</code> ファイルを作り、
|
| 27 |
以下のような内容を追加します。
|
| 28 |
</p>
|
| 29 |
|
| 30 |
<pre>
|
| 31 |
uid = nobody
|
| 32 |
gid = nogroup
|
| 33 |
max connections = 25
|
| 34 |
socket options = SO_KEEPALIVE
|
| 35 |
|
| 36 |
[debian]
|
| 37 |
path = /srv/debian/mirror
|
| 38 |
comment = The Debian Archive (~250 GB)
|
| 39 |
auth users = authorized_account1,authorized_account2,authorized_accountN
|
| 40 |
read only = true
|
| 41 |
secrets file = /etc/rsyncd/debian.secrets
|
| 42 |
</pre>
|
| 43 |
|
| 44 |
<p>push する各サイトに対応するエントリを、
|
| 45 |
<code>/etc/rsyncd/debian.secrets</code> ファイルに追加します。
|
| 46 |
</p>
|
| 47 |
|
| 48 |
<pre>
|
| 49 |
authorized_account1:a_password
|
| 50 |
authorized_account2:another_password
|
| 51 |
authorized_accountN:password
|
| 52 |
</pre>
|
| 53 |
|
| 54 |
<p>これで下流のミラーに、あなたのマシンのアーカイブへの
|
| 55 |
接続を許したことになります。
|
| 56 |
</p>
|
| 57 |
|
| 58 |
<p>rsync デーモンは inetd から起動することになるでしょう。
|
| 59 |
これにはまず、<code>/etc/services</code> ファイルに
|
| 60 |
次のような rsync サービスを (まだなければ) 追加します。
|
| 61 |
</p>
|
| 62 |
|
| 63 |
<pre>
|
| 64 |
rsync 873/tcp
|
| 65 |
</pre>
|
| 66 |
|
| 67 |
<p>
|
| 68 |
デーモンを inetd から起動させるには、次の行を
|
| 69 |
<code>/etc/inetd.conf</code> ファイルに加えます。
|
| 70 |
</p>
|
| 71 |
|
| 72 |
<pre>
|
| 73 |
rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon
|
| 74 |
</pre>
|
| 75 |
|
| 76 |
<p>
|
| 77 |
(修正後に inetd に HUP シグナルを送り、
|
| 78 |
修正された設定ファイルを読み込ませるのを忘れないこと)
|
| 79 |
</p>
|
| 80 |
|
| 81 |
<toc-add-entry name="sshtrigger">ssh トリガ機構の設定</toc-add-entry>
|
| 82 |
|
| 83 |
<p>Debian のミラーに用いるアカウントの ssh 鍵を新しく作ります。
|
| 84 |
すでにある自分の鍵を上書きしないよう、-f オプションを用いましょう。
|
| 85 |
たとえば次のようになります。
|
| 86 |
</p>
|
| 87 |
|
| 88 |
<pre>
|
| 89 |
ssh-keygen -f ~/.ssh/identity.mysite
|
| 90 |
</pre>
|
| 91 |
|
| 92 |
<p>公開鍵 (~/.ssh/identity.mysite.pub) の先頭に、
|
| 93 |
IPADDRESS をあなたの上流ミラーに置き換えて、次の内容を追加してください。
|
| 94 |
</p>
|
| 95 |
|
| 96 |
<pre>
|
| 97 |
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="~/bin/ftpsync",from="IPADDRESS"
|
| 98 |
</pre>
|
| 99 |
|
| 100 |
<p>次に、下流のミラーに接続するスクリプトを書きます。
|
| 101 |
ftpsync の tarball に含まれる <code>runmirrors</code>
|
| 102 |
スクリプトが必要な作業を全て処理します。ftpsync.conf を
|
| 103 |
<code>HUB=true</code> の設定を含めるように簡単に変更し、
|
| 104 |
<code>runmirrors.conf.sample</code> を <code>runmirrors.conf</code>
|
| 105 |
に、<code>runmirrors.mirror.sample</code> を <code>runmirrors.mirror</code>
|
| 106 |
にコピーして設定ファイルをあなたのシステムに合うように設定します。
|
| 107 |
それから下流ミラーの一覧を runmirrors.mirror 中に書けば ftpsync/runmirror
|
| 108 |
が後は全てやってくれます。
|
| 109 |
</p>
|
| 110 |
|
| 111 |
<p>これが何をするのかというと、
|
| 112 |
自分のミラー更新が終わったらシステムは下流ミラーに ssh 接続を試み、
|
| 113 |
それによって下流は更新を開始できます。これは上で説明したように、
|
| 114 |
下流ミラー管理者に runmirrors で使う ssh 鍵を通知し、
|
| 115 |
下流側でそれを ~/.ssh/authorized_keys に追加していることを前提としています。
|
| 116 |
</p>
|
| 117 |
|
| 118 |
<p>もし問題が起こったら、
|
| 119 |
<a href="mailto:mirrors@debian.org">連絡してください</a>。
|
| 120 |
</p>
|