您的位置:首页 > 其它

Ubuntu 安装 subversion 服务器

2012-10-26 08:17 183 查看
打算想要架 svn + apache2 + trac + + virtual host, 先從 subversion 和 apache2 開始 :)

apt-get install libapache2-svn apache2 subversion
mkdir -p /home/svn/repository # 可以建到 /home/svn 即可(我習慣多一個檔案庫, 之後 svn 那層 可以放設定檔或其它東西)
svnadmin create /home/svn/repository/PROJECT_NAME
chown -R www-data.www-data /home/svn/repository/PROJECT_NAME
vim /etc/apache2/mods-available/dav_svn.conf # 拿掉下述地方的註解, 只有 SVNParentPath 要修改路徑.(或者直接 cp 下面的即可),沒有此檔可靠 a2enmod dav_svn 產生.
<Location /svn>

DAV svn

SVNParentPath /home/svn/repository

AuthType Basic

AuthName "Subversion Repository"

AuthUserFile /etc/apache2/dav_svn.passwd

AuthzSVNAccessFile /etc/apache2/dav_svn.authz

Require valid-user

</Location>


編 輯 vim /etc/apache2/dav_svn.authz, ACCOUNT1 只能讀, ACCOUNT2 可以讀寫, 其它所有都不能進來.(PROJECT_NAME:/, 那個 / 可以是 /trunk => 代表設定誰在 trunk 能做什麼事的意思)

[PROJECT_NAME:/]

* =

ACCOUNT1 = r

ACCOUNT2 = rw


增加透過 apache 存取(ci/co)的 使用者帳號/密碼 到 /etc/apache2/dav_svn.passwd

/usr/bin/htpasswd -c /etc/apache2/dav_svn.passwd ACCOUNT1
/usr/bin/htpasswd /etc/apache2/dav_svn.passwd ACCOUNT2

重新啟動 apache: /etc/init.d/apache2 restart

這樣子就可以做 checkout(co)/commit(ci)/update(up)... 等動作囉~ 存取 url 如下:

svn co http://localhost/svn/PROJECT_NAME svn co http://DOMAIN_NAME/svn/PROJECT_NAME 同樣於 http://DOMAIN_NAME/svn/PROJECT_NAME/ 應該就會看到 Revision 資訊

參考來源: 在Debian下安裝SVN(subversion)
附註:
快速新增其它 SVN PROJECT 的方法:

svnadmin create /home/svn/repository/NEW_PROJECT_NAME
chown -R www-data.www-data /home/svn/repository/NEW_PROJECT_NAME
vim /etc/apache2/mods-available/dav_svn.conf 裡面 對 <Location /svn> 改成另外的名字, 就可以用變另一種專案, 裡面的帳號/密碼也都可以另外產生.
vim /etc/apache2/dav_svn.authz 這個檔案檔名會依照 dav_svn.conf 做修改, 裡面加上 NEW_PROJECT_NAME/帳號 等參數, 再重新啟動 apache 即可.
就可以 http://DOMAIN_NAME/svn/NEW_PROJECT_NAME 存取.

通常 PROJECT 習慣建立如下目錄(branches, tags, trunk):

mkdir /tmp/PROJECT_NAME
mkdir /tmp/PROJECT_NAME/branches # 分支
mkdir /tmp/PROJECT_NAME/tags
mkdir /tmp/PROJECT_NAME/trunk # 主幹, 所有檔案都往裡面塞
svn import /tmp/PROJECT_NAME http://DOMAIN_NAME/svn/PROJECT_NAME/ -m "initial import"
或 svn import /tmp/PROJECT_NAME file:///home/svn/repository/PROJECT_NAME
之後 checkout: svn co http://DOMAIN_NAME/svn/PROEJCT_NAME/trunk
參考文件: Subversion的權限控制

作者 jon ( My-Favorite-Site ) :: 迴響
(7):: 靜態連結網址

转载地址:http://www.360doc.com/content/12/1026/08/9943320_243820783.shtml

转载地址:http://www.wretch.cc/blog/ciiing/17418153
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: