UbuntuサーバーでBazaarサーバーをセットアップするにはどうすればよいですか?私はBazaar中央サーバーとして使用したいUbuntu Server 12.04 LTSを実行しているホームサーバーを持っています。それ、どうやったら出来るの? (リポジトリを作成します(同じでない場合)、リスニング用のポートを開き、ユーザーを作成します...)。
編集済み
サーバーを起動するために必要なものがあるブログを見つけました。しかし...ユーザーの権利をどのように制限しますか?一部のユーザーにアップロードの権利を与え、他のユーザーにダウンロードなどの権利を与えます。
こちらがブログです: http://zeth.net/post/366/
これは、コードを公開したくなかったので(ちょうど私と同じように)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のリッスンを開始します(ただし、-portオプションを使用して変更できます)。
もちろん、ディレクトリ階層は管理者とあなた次第ですが、起動時にサーバーを起動するようなこともできますが、それは別の話です。 Bazaarサーバーが稼働しています;)
WebDAV経由でBazaarリポジトリをホストします。これはnotが望ましい方法であることに注意してください。再パッキングには大量のトラフィックが含まれるためです(SSHまたはスマートサーバーにはこの問題はありません)。それが私がすべてのレポジトリに対して夜間にcron経由で「bzr pack」を実行する理由です。 WebDAVは、別のポートを開きたくない場合や、私のようにApacheの認証方法を使用したい場合に適したソリューションです。私の意見では最も簡単な解決策です。
ファイル/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の場合はhttps+webdav://
)を使用します。