如何在 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)。