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
|
スマートサーバーを稼働させる
============================
BazaarはHTTP、FTPもしくはSFTPを通して動作するので特化したサーバーは\
必須ではありません。
SSH、inetd、もしくは専用モードで起動できるスマートサーバー(smart server)\
の選択肢があります。
ダムサーバー
-------------
HTTP、FTP、SFTPとHTTP-WebDAVを"ダム(dumb)"サーバーとして記述します。
これらはBazaarに支援を提供しないからです。
これらのプロトコルのどれかを通してBazaarリポジトリを利用できるようにする場合、
Bazaarはリモートからの読み込みを許可します。
実行しているBazaarコマンドの中でブランチへのURLを入力するだけです。::
bzr log http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev
BazaarはFTP、SFTPと(プラグインを通した)HTTP-WebDAVを通した書き込みをサポートします。
ハイパフォーマンスなスマートサーバー
-------------------------------------
ハイパフォーマンスなスマートサーバー(hpss - high-performance smart server)は\
いくつかのオペレーションをダムサーバーよりも遙かに高速に実行します。
開発者がパフォーマンスのチューニングを継続するので、将来のリリースでは\
スマートサーバーを利用することで改善されるオペレーションの範囲は増えます。
高度なセキュリティの維持を可能にするために、
デフォルトでは現在のスマートサーバーはリードオンリーになります。
読み込みと書き込み権限を有効にするには、 ``--allow-writes`` で動かします。
SSHアクセスメソッドを利用するとき、bzrは ``--allow-writes`` オプションで\
自動的に実行します。
次はスマートサーバーの代替の設定方法を説明します。
SSH
~~~
SSHを通してBazaarを利用する際にサーバー上の特別な設定は必要ありません。
サーバーに Bazaar がインストールされていれば、 ``bzr+ssh`` の URL を
利用することができます。 例::
bzr log bzr+ssh://host/path/to/branch
`bzr` がサーバーのシステムワイドな場所にインストールされていない場合、
リモートの `bzr` がどこにあるかをローカルの `bzr` に教える必要があるかも
しれません。 ::
BZR_REMOTE_PATH=~/bin/bzr bzr log bzr+ssh://host/path/to/branch
``BZR_REMOTE_PATH`` 環境変数はリモートシステムで `bzr` が起動する方法を調整します。
デフォルトでは単に `bzr` として起動するので、 `bzr` 実行ファイルはデフォルトの\
検索パス上にあることが要求されます。
この設定を場所ごとの設定ファイルである ``locations.conf`` に書いて
永続化することもできます。
SFTP と同じく、 ``~`` で始まるパスはホームディレクトリからの相対パスになります。
例えば ``bzr+ssh://example.com/~code/proj`` のようになります。
加えて、 ``~user`` は user のホームディレクトリからの相対パスになります。
inetd
~~~~~
この例では ``/srv/bzr/repo/branchname`` にブランチがある ``/srv/bzr/repo`` 内の
共用リポジトリ用に専用ユーザーの `bzruser` で `bzr` を実行する方法を示しています。
inetdからBazaarサーバーを動かすにはinetd.confエントリが必要です::
4155 stream TCP nowait bzruser /usr/bin/bzr /usr/bin/bzr serve --inet --directory=/srv/bzr/repo
クライアントコマンドを実行するとき、提供するURLは
inetd.confに渡される ``--directory`` オプションに相対的な `bzr://` です::
bzr log bzr://host/branchname
可能であれば、 ``~`` や ``~user`` で始まるパスは ``bzr+ssh`` と同じように展開されますが、
``bzr serve`` に指定された ``--directory`` オプションの外にあるホームディレクトリには
アクセスできません。
専用サーバー
~~~~~~~~~~~~~
このモードはinetdモードと同じパスとURLのふるまいを持ちます。
特定のユーザーとして実行するには、 ``su`` を使うもしくはそのユーザーとしてログインします。
この例では公式のポート番号の `4155` 上でbzrを稼働しすべてのインターフェイス上でリスンします。
これによってポート `4155` 上のマシンに到達できる世界のどこからでも接続できます。
サーバー::
bzr serve --directory=/srv/bzr/repo
クライアント::
bzr log bzr://host/branchname
この例では `localhost` のポート `1234` で ``bzr serve`` が実行されます。
サーバー::
bzr serve --port=localhost:1234 --directory=/srv/bzr/repo
クライアント::
bzr log bzr://localhost:1234/branchname
|