ubuntu-svn筆記
1.安裝及設定SVN
a. ubuntu上安裝svn server
安裝apache2、libapache-svn、subversion這三個套件
b. 建立 svn root目錄
$ sudo mkdir -p svn
d. 新建一個檔案庫並將存取檔授予 apache2
$cd svn
$sudo mkdir -p <ProjectName>
$sudo chmod -R g+rws <ProjectName>
(g+rws : group add read and write, +s不是很懂)
$sudo svnadmin create <ProjectName>
建立svn群組
$ sudo addgroup subversion
$ sudo adduser www-data subversion
$ sudo adduser <UserName> subversion
$ sudo chown -R www-data:subversion <ProjectName>
e. 新增使用者資訊
$ sudo htpasswd [-參數] /opt/svnroot/htpasswd username
依照指示輸入使用者密碼即可。
/opt/svnroot/htpasswd 這個可以自己改成想要的路徑與檔名
參數:
-c:表示是否要新建檔案,舊有檔案內容會完全刪除,適用於第一次建立檔案時
-m:密碼以 MD5 進行編碼
若要再加帳號,或是修改某帳號的密碼,也都是用這個指令(記得不要加 -c 參數)
f. 在apache2中設定svn
這一步就很討厭了,因為我一查就查到了三種…
1./etc/apache2/mods-available/dav_svn.conf
2./etc/apache2/sites-available/default
3./etc/apache2/sites-available/default-ssl
這裡一開始我是使用第3個…
後來改成用第一個,因為看檔名也知道是專門給SVN使用的!
設定內容倒是大同小異
<Location "/svn/"> DAV svn SVNParentPath /home/kirk/svn/ SVNListParentPath on AuthType Basic AuthName "Subversion Repository" AuthUserFile /home/kirk/svn/test/conf/htpasswd AuthzSVNAccessFile /home/kirk/svn/test/conf/authz Require valid-user </Location>
如此設定會使用url = https://localhost/svn/
這裡的設定非常容易出錯,目前的設定是允許目錄瀏覽的(主要是SVNListParentPath on及Location Url)
g. apache2 error log
$ tail -f /var/log/apache2/error.log
h. error
The URI does not contain the name of a repository
i. 指令(終於到這次整理的重點:列出某版本後的修改檔案列表清單)
列出版本2和版本3有修改的檔案
$ svn log -r 2:3 -v
$ svn log --username www-data -r 2:3 -v
$ svn log | sed -n '/username/,/-----$/ p'
$ svn log -r {2011-09-06}
$ svn log -r {2006-11-20}:{2006-11-29}
FINALLY:
輸出六月一號之後到今天有更動的檔案到20110906.out
$ svn log -r {2011-06-01}:head -v | sed -n '/<username>/,/-----$/ p' > ~/20110906.out
========================================================
別人整理的完整設定程序如下
sudo apt-get install apache2 apache2.2-common apache2-utils libapache2-svn subversion
sudo addgroup subversion
sudo adduser www-data subversion
sudo adduser <UserName> subversion
sudo mkdir /var/lib/svn
cd /var/lib/svn
sudo mkdir <ProjectName>
sudo chmod -R g+rws <ProjectName>
sudo svnadmin create /var/lib/svn/<ProjectName>
sudo chown -R www-data:subversion <ProjectName>
#Http設定
sudo vi /etc/apache2/mods-available/dav_svn.conf
<Location /svn/<ProjectName>>
DAV svn
SVNPath /var/lib/svn/<ProjectName>
AuthType Basic
AuthName "<ProjectName> Subversion Repository"
AuthUserFile /var/lib/svn/<ProjectName>/conf/passwd
Require valid-user
</Location>
#帳號密碼設定
sudo htpasswd -cm /var/lib/svn/<ProjectName>/conf/passwd <UserName>
sudo /etc/init.d/apache2 restart
from http://phorum.study-area.org/index.php?topic=55163.0
====================================================
參考:
在 Ubuntu 中架設 SVN Server (+SSL)
UBUNTU 下安裝 SVN Server
Ubuntu - 安裝 SVN (Subversion Server)
Debian6下安裝SVN+Apache2+SSH實現HTTPS
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf