4871.1.1
by Neil Martinsen-Burrell
Put in place a structure for the admin-guide |
1 |
Other Setups |
2 |
============ |
|
3 |
||
4 |
Dumb servers |
|
5 |
------------ |
|
6 |
||
4871.6.1
by Neil Martinsen-Burrell
introduction and setup recipes for various types of access |
7 |
Bazaar can also serve branches over protocols that know nothing about Bazaar's |
8 |
specific needs. These are called "dumb servers" to distinguish them from |
|
9 |
Bazaar's native protocol. Currently HTTP, FTP, SFTP and HTTP+WebDAV can be |
|
10 |
used to read branches remotely. FTP, SFTP and HTTP+WebDAV can be used for |
|
11 |
writing as well. To use any of these protocols, it is just necessary to |
|
12 |
provide access to the server's filesystem under ``/srv/bzr``. |
|
13 |
||
14 |
For example, for Apache to provide read-only access to the branches |
|
15 |
in ``/srv/bzr`` the configuration may look like this:: |
|
16 |
||
17 |
Alias /code /srv/bzr |
|
18 |
<Directory /srv/bzr> |
|
19 |
Options Indexes |
|
20 |
# ... |
|
21 |
</Directory> |
|
22 |
||
23 |
and users could use the URL ``http://server.example.com/code/projectx/trunk`` |
|
24 |
to refer to the trunk branch. |
|
25 |
||
4871.6.2
by Neil Martinsen-Burrell
tweaks based on JAMs review |
26 |
Note that SFTP access is often available whenever there is SSH access and it |
4871.6.1
by Neil Martinsen-Burrell
introduction and setup recipes for various types of access |
27 |
may be a good choice when Bazaar cannot be installed on the server to allow |
28 |
``bzr+ssh://`` access. Dumb servers are slower by their very nature than the |
|
29 |
native protocol, but they can be a good choice in situations where the |
|
30 |
software and protocols that can be used on the server or the network is |
|
31 |
limited. |
|
32 |
||
4871.1.1
by Neil Martinsen-Burrell
Put in place a structure for the admin-guide |
33 |
Smart server over HTTP(S) |
34 |
------------------------- |
|
35 |
||
4871.6.1
by Neil Martinsen-Burrell
introduction and setup recipes for various types of access |
36 |
Bazaar can use its native protocol with HTTP requests. Since HTTP is a network |
37 |
protocol that is available on many networks, this can be a good option where |
|
38 |
SSH access is not possible. Another benefit of this setup is that all of the |
|
39 |
authentication and access control methods available to the HTTP server (basic, |
|
40 |
LDAP, ActiveDirectory, etc.) are then available to control access to Bazaar |
|
41 |
branches. More information about setting up this type of access using Apache |
|
42 |
and FastCGI or mod_python or WSGI is in the `smart server section of the User's |
|
43 |
Guide <../user-guide/http_smart_server.html>`_. |
|
44 |
||
4871.1.1
by Neil Martinsen-Burrell
Put in place a structure for the admin-guide |
45 |
Direct Smart Server Access |
46 |
-------------------------- |
|
47 |
||
4871.6.2
by Neil Martinsen-Burrell
tweaks based on JAMs review |
48 |
The built-in server that is used by ``bzr+ssh://`` access can also be used as a |
49 |
persistent server on a dedicated port. Bazaar's official port is 4155, |
|
4871.6.1
by Neil Martinsen-Burrell
introduction and setup recipes for various types of access |
50 |
although the port used can be configured. Further information on running the |
51 |
Bazaar smart server from inetd, or directly from the shell is in the `User's |
|
4871.6.2
by Neil Martinsen-Burrell
tweaks based on JAMs review |
52 |
Guide <../user-guide/server.html#inetd>`_. The dedicated Bazaar server does |
53 |
not currently perform any authentication, so this server by default provides |
|
54 |
read-only access. It can be run with the ``--allow-writes`` option, but the |
|
55 |
smart server does not do any additional access control so this may allow |
|
56 |
undesired people to make changes to branches. (Which of course can be |
|
57 |
reverted.) If the user that runs the server has write access to the branches |
|
58 |
on the filesystem, then anyone with access to port 4155 on the server can make |
|
59 |
changes to the branches stored there. |
|
4871.1.1
by Neil Martinsen-Burrell
Put in place a structure for the admin-guide |
60 |