如何在 Ubuntu 服务器上设置 Bazaar 服务器

如何在 Ubuntu 服务器上设置 Bazaar 服务器

如何在 Ubuntu 服务器上设置 Bazaar 服务器?我有一台运行 Ubuntu Server 12.04 LTS 的家庭服务器,我想将其用作 Bazaar 中央服务器。我该怎么做?(创建存储库(如果不是同一个),打开用于监听的端口,创建用户……)。

已编辑

我发现了一个博客,里面有启动服务器所需的东西。但是……你如何限制用户的权限?给一些用户上传的权限,给其他用户下载的权限等等。

以下是博客内容:http://zeth.net/post/366/

答案1

这里有一个博客,其中有人谈论设置 Bazaar 服务器,因为他们不想发布他们的代码(就像我一样):http://zeth.net/post/366/

首先,他们为 Bazaar 创建了一个新用户(为了让一切保持整洁):

$ sudo useradd -m bzruser

设置用户后,他们只需在那里创建一个常规存储库:

$ sudo su bzruser
$ mkdir -p /home/bzruser/repository/group/project/trunk
$ cd /home/bzruser/repository/group/project/trunk
$ bzr init

创建仓库后,只需使用以下命令启动服务器

$ bzr server --directory=/home/bzruser/repository

它开始监听端口 4155(虽然可以使用以下命令更改它- 港口选项)。

当然,目录层次结构由您(管理员)决定,以及让服务器在启动时启动之类的事情,但这是另一回事。Bazaar 服务器已启动并正在运行 ;)

答案2

我通过 WebDAV 托管我的 Bazaar 存储库。请注意,这是不是这是首选方法,因为重新打包会涉及大量流量(SSH 或智能服务器不存在此问题)。这就是为什么我晚上通过 cron 为所有存储库运行“bzr pack”的原因。如果您不想打开另一个端口,或者想像我一样使用 Apache 的身份验证方法,WebDAV 是一个很好的解决方案。在我看来,这是最简单的解决方案。

创建文件/etc/apache2/conf.d/bzr-repos(名称无所谓,但 conf.d 中的任何文件都会自动包含):

# This assumes you have your repos in /var/bzr-repos which should be owned
# (or at least read-and-writable) by the user www-data
Alias /bzr /var/bzr-repos
<Directory /var/bzr-repos>
    DAV On
    Options Indexes

    # The bzr.webdav plugin for http(s)+webdav transport
    # only works with this option:
    DirectorySlash Off
</Directory>
<Location /bzr>
    # Put SSLRequireSSL here if you want
    Order deny,allow
    Deny from all
</Location>

然后您可以像这样添加单个存储库:

# Repo stored in /var/bzr-repos/my-repo-name
<Location /bzr/my-repo-name>
    Order allow,deny
    Allow from all

    # If you want authentication (I guess so, or do you want everyone to
    # be able to push and pull?)
    AuthType Basic
    AuthName "My repository"
    AuthUserFile /etc/apache2/my-passwords.passwd
    Require user my-username
</Location>

然后别忘了重启 Apache。你可能必须启用 DAV 模块(a2enmod dav dav_fs)。

为了使用存储库,请使用 URL“http+webdav://example.com/bzr/my-repo-name/”(或https+webdav://HTTPS)。

答案3

五分钟逛集市

如果你按照这个简短的教程,你将能够创建一个当地的Bazaar 分支,提交你的代码并将其推送到任何位置,包括发射台(实际上不是五分钟,但肯定是几分钟而不是几小时):

您可以在此处找到 Bazaar 高级使用的完整教程:

Bazaar 用户指南

相关内容