通過參考各種教程終于搭建svn伺服器成功,現整理步驟如下:
先确定安裝了apache,沒有安裝則用以下指令:
sudo apt-get install apache2
然後安裝subversion及svn-apache連接配接庫:
sudo apt-get install subversion
sudo apt-get install libapache2-svn
# 一般可以将項目倉庫建立到/home/svn目錄
# 假設項目名為myproject,先建立空目錄
$ sudo mkdir /mnt/tool/svn
$ cd /mnt/tool/svn
$ sudo mkdir myproject
#建立為svn項目,使用以下指令
$ sudo svnadmin create /mnt/tool/svn/myproject
#修改權限,不然可能svn可以checkout但是送出不了
sudo chown -R www-data:www-data /mnt/tool/svn/myproject
#配置:
sudo vi /etc/apache2/mods-enabled/dav_svn.conf
#增加如下内容
<Location /svn>
DAV svn
SVNParentPath /mnt/tool/svn #svn根目錄
AuthType Basic
AuthName "syh Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd #使用者名和密碼所在目錄
AuthzSVNAccessFile /etc/apache2/dav_svn.authz #權限所在目錄
Require valid-user
</Location>
#增加使用者,同時建立使用者檔案,已有使用者了執行此指令會清空使用者
sudo htpasswd -c /etc/apache2/dav_svn.passwd user_svn
#接着會要求輸入兩次密碼,user_svn與登入ubuntu的使用者無關
如果修改密碼或者增加使用者,則使用以下指令
htpasswd -m /etc/apache2/dav_svn.passwd user_svn ,如果沒有該使用者則建立
#修改權限
vi /etc/apache2/dav_svn.authz
#增加以下2行内容,表示所有使用者可讀寫,先可用在說,以後再研究權限問題
[/]
* = rw
#重新開機apache
sudo /etc/init.d/apache2 restart
#大功告成,checkout(http://XX.XX.XX.XX/svn/android)試試,使用使用者名user_svn和之前輸入的密碼
參考内容:
http://rbgeek.wordpress.com/2012/05/01/svn-server-on-ubuntu-12-04-lts-with-web-access/
http://www.krizna.com/ubuntu/install-svn-ubuntu-12-04/
http://www.2cto.com/os/201303/195828.html
http://cssor.com/ubuntu-server-svn.html