Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN数据

参考:http://cssor.com/ubuntu-server-svn.html,迁移方式不同

 

1、安装apache

sudo apt-get install apache2

 

2、安装svn和连接库

sudo apt-get install subversion
sudo apt-get install libapache2-svn

 

3、增加svn用户组,用于管理svn,并加入到www-data的apache组:

sudo addgroup subversion
sudo usermod -G subversion -a www-data

 

4、创建svn仓库文件,并初始化一个测试用途的仓库(在后面迁移时会用到)

# 一般可以将项目仓库建立到/home/svn目录
# 假设项目名为temproj,先建立空目录
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir temproj
$ sudo chown -R root:subversion temproj
 
#创建为svn项目,使用以下命令
$ sudo svnadmin create /home/svn/temproj
# 然后才赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
# 如果命令顺序搞错,可能会报错,请参照官方wiki
$ sudo chmod -R g+rws temproj

 

5、配置Apache。

# 在安装了libapache2-svn时会自动生成该文件
$ sudo vi /etc/apache2/mods-available/dav_svn.conf
<Location /svn>  #/svn表示http://hostname/svn/
  DAV svn
  SVNParentPath /home/svn #配置仓库父目录
  AuthType Basic
  AuthName "Tebs Svn Server"
  AuthUserFile /home/svn/htpasswd  #svn用户文件,便于迁移用户,直接将名称改为和virtual svn的命名一样
  AuthzSVNAccessFile /home/svn/authz #授权访问文件
  Require valid-user
</Location>

因为用到了授权模块,所以还需要配置验证模块

sudo vi /etc/apache2/mods-available/dav.load
#在最后加入
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so

 

6、将Virtual SVN仓库目录下的文件都拷贝出来,并把htpasswd文件以及authz文件格式转换为unix格式,通过winscp或其他工具,上传到/home/svn目录下

 

7、将生成的temproj目录拷贝到windows中,并复制多个副本后,删除副本中的db目录。

 

8、将Virtual SVN仓库目录中的项目的db文件夹,拷贝到第7步生成的目录中。并用temproj\db\中的fsfs.conf替换到其他所有目录的相同位置。

 

9、将调整完的仓库目录,上传到/home/svn目录下。

 

10、上传完了之后,集体更改下用户组,并授权

cd /home/svn
sudo chgrp -R subversion .
sudo chmod -R g+rws .

 

11、最后重启apache

sudo service apache2 restart

 

至此,大功告成。。。

posted @ 2013-05-21 02:08  血舞&葬青衣  Views(1256)  Comments(1Edit  收藏  举报