what is a smart server?
David Ingamells
david.ingamells at mapscape.eu
Mon Jul 14 13:05:08 BST 2008
Viktor Nagy wrote:
> Hello,
>
> I am evaluating bazaar for a project, and the docs seem to me a bit
> contradictory on the definition of a smart server. From the user guide
> section 7.2 I had the feeling that everything is called a smart server
> that uses the bzr | bzr+ssh protocol.
>
> Moreover, I thought that this is a standalone server, so I won't need
> apache for it. I've had this feeling as according to that description
> the server by default works on port 4155
>
> But then I get to section 10, where is speaks about setting up the
> smart server with fastcgi/mod_python. Here the solution is clearly
> independent of the port (actually it can handle any port apache deals
> with), it uses the bzr+http protocol, moreover I see no reason why to
> run "bzr serve" in the background if every request is processed
> through apache and further processed locally in the wsgi handler.
>
> Are these two different things? If not then wha tis bzr serve for? If
> yes, then which one is the preferred way for a dedicated bzr server?
>
> my guess is that they are different solutions, and bzr serve gives
> better performance, but correct me if I'm wrong
>
> if my guess is correct I would like to know as well if it's possible
> to do some kind of authentication in a "bzr serve" server. I've read
> about the server_started hook, but I would like to be confirmed that
> this can be used for authentication.
>
> I hope these questions will help some other people as well!
>
> cheers,
> Viktor
>
>
A brief and incomplete answer (as that is the limit of my knowledge) ...
"bzr serve" does not use apache. It provides a connection via a port to
support remote read [and optionally write] access to a repos located on
the machine where the serve runs. The client used the URL bzr:// and can
do the access from any machine that can see the machine and port that
bzr serve is watching. bzr+ssh is similar but will additionally use the
ssh protocol to validate the client's right to make the request.
I would guess that bzr+http uses an apache server with a bzr plugin to
support access via the authorisation mechanisms the apache provides, but
I've never tried to dig into the details of that.
More information about the bazaar
mailing list