Subversion(SVN)安装文档

Subversion(SVN)安装文档

SVN中文网址(操作手册)
http://www.iusesvn.com/   
软件版本(当前版本):
subversion-1.6.17.tar.gz
subversion-deps-1.6.17.tar.gz
下载地址:
http://subversion.tigris.org/ser ... amp;expandFolder=74

apache: httpd-2.2.22.tar.gz
下载地址:
http://apache.etoak.com/httpd/

apr:apr-1.3.9.tar.gz
apr-util:apr-util-1.3.9.tar.gz
下载地址:
http://apr.apache.org/download.cgi

1.        安装apr和apr-util
# tar zxvf apr-1.3.9.tar.gz
# cd apr-1.3.9
# ./configure --prefix=/usr/local/apr
# make
# make install

# tar zxvf apr-util-1.3.9.tar.gz
# cd apr-util-1.3.9
# ./configure --with-apr=/usr/local/apr
# make
# make install

2.        安装apache
# tar zxvf httpd-2.2.22.tar.gz
# cd httpd-2.2.22
# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav --enable-maintainer-mode --enable-ssl
# make
# make install

测试:
/usr/local/apache/bin/apachectl –k start #启动
http://ip     

3.安装subversion
# tar zxvf subversion-1.6.17.tar.gz
# tar zxvf subversion-deps-1.6.17.tar.gz
# cd subversion-1.6.17
# rm -rf apr apr-util/        #自带版本较老,建议采用新的版本。
# ./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-ssl
# make
# make install

/*将svnadmin放入$PATH环境变量里*/
# cp /usr/local/svn/bin/svnadmin /usr/local/sbin
测试安装是否成功
# usr/local/svn/bin/svnadmin –version

4.subversion环境的搭建:使用与Apache模块的方式运行

# vi apache/conf/httpd.conf

确保配置文件添加了如下内容(表示正确加载了SVN的模块):
# LoadModule foo_module modules/mod_foo.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
#
#然后配置仓库:(需要自己添加的内容)
<Location /svn>
DAV svn
SVNParentPath /data/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /data/svn/svnpasswd
Require valid-usr
AuthzSVNAccessFile /data/svn/svnaccessfile
</Location>

建立SVN版本库
# cd /data/svn/      #/data/svn目录是版本库目录
# /usr/local/svn/bin/svnadmin create project  #创建版本库project
# chmod -R 777 project/       #修改权限

建立svnaccessfile
# vi svnaccessfile     #文件名称与apache配置的保持一致
[project:/]
xb = rw                  #添加能访问的版本库的用户及权限
添加apache的用户和密码(登录apache):
# /usr/local/apache/bin/htpasswd -bc svnpasswd xb admin     
# -bc 第一次创建需要c参数以后用户只要b即可

重启apache:
# /usr/local/apache/bin/apachectl -k restart

5.通过http测试:
http://192.168.1.241/svn/project

提示输入用户名及密码:

附一:svnaccessfile权限控制文件说明:
[svn1:/]                                        #表示仓库svn1的根目录下的访问权限
test1 = rw                                #svn1仓库test1用户具有读和写的权限
test2 = r                                        #svn1仓库test2用户具有读的权限
[svn2:/]                                        #仓库svn2根目录下的访问权限
test1 = r                                         #test1用户在仓库svn2根目录只有读权限
test2 =                                         #test2用户在仓库svn2根目录没有任何权限
[/]                                                #表示所有仓库的根目录下的权限
* =                                                 #表示所有用户都有读权限
[groups]                                        #表示群组设置
group1= test1, test2                #设置组名及成员
@group1 = rw                                设置组权限

附二:备份(可以直接将版本仓库通过rsync同步到另一台svn服务器进行备份或直接备份版本仓库目录)
svn备份一般采用三种方式:
1)svnadmin dump
2)svnadmin hotcopy
3)svnsync.
优缺点分析
==============
第一种svnadmin dump是官方推荐的备份方式,优点是比较灵活,可以全量备份也可以增量备份,并提供了版本恢复机制。
缺点是:如果版本比较大,如版本数增长到数万、数十万,那么dump的过程将非常慢;备份耗时,恢复更耗时;不利于快速进行灾难恢复。
个人建议在版本数比较小的情况下使用这种备份方式。
第二种svnadmin hotcopy原设计目的估计不是用来备份的,只能进行全量拷贝,不能进行增量备份;
优点是:备份过程较快,灾难恢复也很快;如果备份机上已经搭建了svn服务,甚至不需要恢复,只需要进行简单配置即可切换到备份库上工作。
缺点是:比较耗费硬盘,需要有较大的硬盘支持
第三种svnsync实际上是制作2个镜像库,当一个坏了的时候,可以迅速切换到另一个。不过,必须svn1.4版本以上才支持这个功能。
优点是:当制作成2个镜像库的时候起到双机实时备份的作用;
缺点是:当作为2个镜像库使用时,没办法做到“想完全抛弃今天的修改恢复到昨晚的样子”;而当作为普通备份机制每日备份时,操作又较前2种方法麻烦。
操作:
以下为了方便操作将svn的目录添加到PATH中
# vim /etc/profile
PATH=/usr/local/svn/binPATH
# source /etc/profile
1、svnadmin dump使用
1).使用svnadmin dump 做完全备份
# svnadmin dump /data/svn/project/ >/home/backup/svn.full.bak
* Dumped revision 0.
* Dumped revision 1.
2).使用svnadmin dump 做增量备份
# svnadmin dump /data/svn/project/ -r2 --incremental >/home/backup/svn.2.bak
以增量方式将版本号2的版本库备份为svn.2.bak
3).使用svnadmin dump 还原,为了方便测试建立一个test的版本库
# svnadmin create /data/svn/test
# svnadmin load /data/svn/test/ < /home/backup/svn.full.bak
<<< Started new transaction, based on original revision 1
     * adding path : 12.pdf ... done.
     * adding path : httpd.doc ... done.
    * adding path : lihttpd.zip ... done.

------- Committed revision 1 >>>

<<< Started new transaction, based on original revision 2
     * adding path : abc1.zip ... done.
     * adding path : abc2.pdf ... done.
     * adding path : abc3.doc ... done.

------- Committed revision 2 >>>
如果还有增量备份的文件:
# svnadmin load /data/svn/test/ < /home/backup/svn.2.bak

2、hotcopy 使用
1.使用svnadmin hotcopy做完全备份
# svnadmin hotcopy /data/svn/project/ /home/backup/svn --clean-logs
2.使用svnadmin hotcopy还原
# svnadmin hotcopy /home/backup/svn /data/svn/test/
 
Subversion(SVN)安装文档

SVN中文网址(操作手册)
http://www.iusesvn.com/   
软件版本(当前版本):
subversion-1.6.17.tar.gz
subversion-deps-1.6.17.tar.gz
下载地址:
http://subversion.tigris.org/ser ... amp;expandFolder=74

apache: httpd-2.2.22.tar.gz
下载地址:
http://apache.etoak.com/httpd/

apr:apr-1.3.9.tar.gz
apr-util:apr-util-1.3.9.tar.gz
下载地址:
http://apr.apache.org/download.cgi

1.        安装apr和apr-util
# tar zxvf apr-1.3.9.tar.gz
# cd apr-1.3.9
# ./configure --prefix=/usr/local/apr
# make
# make install

# tar zxvf apr-util-1.3.9.tar.gz
# cd apr-util-1.3.9
# ./configure --with-apr=/usr/local/apr
# make
# make install

2.        安装apache
# tar zxvf httpd-2.2.22.tar.gz
# cd httpd-2.2.22
# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav --enable-maintainer-mode --enable-ssl
# make
# make install

测试:
/usr/local/apache/bin/apachectl –k start #启动
http://ip     

3.安装subversion
# tar zxvf subversion-1.6.17.tar.gz
# tar zxvf subversion-deps-1.6.17.tar.gz
# cd subversion-1.6.17
# rm -rf apr apr-util/        #自带版本较老,建议采用新的版本。
# ./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-ssl
# make
# make install

/*将svnadmin放入$PATH环境变量里*/
# cp /usr/local/svn/bin/svnadmin /usr/local/sbin
测试安装是否成功
# usr/local/svn/bin/svnadmin –version

4.subversion环境的搭建:使用与Apache模块的方式运行

# vi apache/conf/httpd.conf

确保配置文件添加了如下内容(表示正确加载了SVN的模块):
# LoadModule foo_module modules/mod_foo.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
#
#然后配置仓库:(需要自己添加的内容)
<Location /svn>
DAV svn
SVNParentPath /data/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /data/svn/svnpasswd
Require valid-usr
AuthzSVNAccessFile /data/svn/svnaccessfile
</Location>

建立SVN版本库
# cd /data/svn/      #/data/svn目录是版本库目录
# /usr/local/svn/bin/svnadmin create project  #创建版本库project
# chmod -R 777 project/       #修改权限

建立svnaccessfile
# vi svnaccessfile     #文件名称与apache配置的保持一致
[project:/]
xb = rw                  #添加能访问的版本库的用户及权限
添加apache的用户和密码(登录apache):
# /usr/local/apache/bin/htpasswd -bc svnpasswd xb admin     
# -bc 第一次创建需要c参数以后用户只要b即可

重启apache:
# /usr/local/apache/bin/apachectl -k restart

5.通过http测试:
http://192.168.1.241/svn/project

提示输入用户名及密码:

附一:svnaccessfile权限控制文件说明:
[svn1:/]                                        #表示仓库svn1的根目录下的访问权限
test1 = rw                                #svn1仓库test1用户具有读和写的权限
test2 = r                                        #svn1仓库test2用户具有读的权限
[svn2:/]                                        #仓库svn2根目录下的访问权限
test1 = r                                         #test1用户在仓库svn2根目录只有读权限
test2 =                                         #test2用户在仓库svn2根目录没有任何权限
[/]                                                #表示所有仓库的根目录下的权限
* =                                                 #表示所有用户都有读权限
[groups]                                        #表示群组设置
group1= test1, test2                #设置组名及成员
@group1 = rw                                设置组权限

附二:备份(可以直接将版本仓库通过rsync同步到另一台svn服务器进行备份或直接备份版本仓库目录)
svn备份一般采用三种方式:
1)svnadmin dump
2)svnadmin hotcopy
3)svnsync.
优缺点分析
==============
第一种svnadmin dump是官方推荐的备份方式,优点是比较灵活,可以全量备份也可以增量备份,并提供了版本恢复机制。
缺点是:如果版本比较大,如版本数增长到数万、数十万,那么dump的过程将非常慢;备份耗时,恢复更耗时;不利于快速进行灾难恢复。
个人建议在版本数比较小的情况下使用这种备份方式。
第二种svnadmin hotcopy原设计目的估计不是用来备份的,只能进行全量拷贝,不能进行增量备份;
优点是:备份过程较快,灾难恢复也很快;如果备份机上已经搭建了svn服务,甚至不需要恢复,只需要进行简单配置即可切换到备份库上工作。
缺点是:比较耗费硬盘,需要有较大的硬盘支持
第三种svnsync实际上是制作2个镜像库,当一个坏了的时候,可以迅速切换到另一个。不过,必须svn1.4版本以上才支持这个功能。
优点是:当制作成2个镜像库的时候起到双机实时备份的作用;
缺点是:当作为2个镜像库使用时,没办法做到“想完全抛弃今天的修改恢复到昨晚的样子”;而当作为普通备份机制每日备份时,操作又较前2种方法麻烦。
操作:
以下为了方便操作将svn的目录添加到PATH中
# vim /etc/profile
PATH=/usr/local/svn/binPATH
# source /etc/profile
1、svnadmin dump使用
1).使用svnadmin dump 做完全备份
# svnadmin dump /data/svn/project/ >/home/backup/svn.full.bak
* Dumped revision 0.
* Dumped revision 1.
2).使用svnadmin dump 做增量备份
# svnadmin dump /data/svn/project/ -r2 --incremental >/home/backup/svn.2.bak
以增量方式将版本号2的版本库备份为svn.2.bak
3).使用svnadmin dump 还原,为了方便测试建立一个test的版本库
# svnadmin create /data/svn/test
# svnadmin load /data/svn/test/ < /home/backup/svn.full.bak
<<< Started new transaction, based on original revision 1
     * adding path : 12.pdf ... done.
     * adding path : httpd.doc ... done.
    * adding path : lihttpd.zip ... done.

------- Committed revision 1 >>>

<<< Started new transaction, based on original revision 2
     * adding path : abc1.zip ... done.
     * adding path : abc2.pdf ... done.
     * adding path : abc3.doc ... done.

------- Committed revision 2 >>>
如果还有增量备份的文件:
# svnadmin load /data/svn/test/ < /home/backup/svn.2.bak

2、hotcopy 使用
1.使用svnadmin hotcopy做完全备份
# svnadmin hotcopy /data/svn/project/ /home/backup/svn --clean-logs
2.使用svnadmin hotcopy还原
# svnadmin hotcopy /home/backup/svn /data/svn/test/
 
Subversion(SVN)安装文档

SVN中文网址(操作手册)
http://www.iusesvn.com/   
软件版本(当前版本):
subversion-1.6.17.tar.gz
subversion-deps-1.6.17.tar.gz
下载地址:
http://subversion.tigris.org/ser ... amp;expandFolder=74

apache: httpd-2.2.22.tar.gz
下载地址:
http://apache.etoak.com/httpd/

apr:apr-1.3.9.tar.gz
apr-util:apr-util-1.3.9.tar.gz
下载地址:
http://apr.apache.org/download.cgi

1.        安装apr和apr-util
# tar zxvf apr-1.3.9.tar.gz
# cd apr-1.3.9
# ./configure --prefix=/usr/local/apr
# make
# make install

# tar zxvf apr-util-1.3.9.tar.gz
# cd apr-util-1.3.9
# ./configure --with-apr=/usr/local/apr
# make
# make install

2.        安装apache
# tar zxvf httpd-2.2.22.tar.gz
# cd httpd-2.2.22
# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav --enable-maintainer-mode --enable-ssl
# make
# make install

测试:
/usr/local/apache/bin/apachectl –k start #启动
http://ip     

3.安装subversion
# tar zxvf subversion-1.6.17.tar.gz
# tar zxvf subversion-deps-1.6.17.tar.gz
# cd subversion-1.6.17
# rm -rf apr apr-util/        #自带版本较老,建议采用新的版本。
# ./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-ssl
# make
# make install

/*将svnadmin放入$PATH环境变量里*/
# cp /usr/local/svn/bin/svnadmin /usr/local/sbin
测试安装是否成功
# usr/local/svn/bin/svnadmin –version

4.subversion环境的搭建:使用与Apache模块的方式运行

# vi apache/conf/httpd.conf

确保配置文件添加了如下内容(表示正确加载了SVN的模块):
# LoadModule foo_module modules/mod_foo.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
#
#然后配置仓库:(需要自己添加的内容)
<Location /svn>
DAV svn
SVNParentPath /data/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /data/svn/svnpasswd
Require valid-usr
AuthzSVNAccessFile /data/svn/svnaccessfile
</Location>

建立SVN版本库
# cd /data/svn/      #/data/svn目录是版本库目录
# /usr/local/svn/bin/svnadmin create project  #创建版本库project
# chmod -R 777 project/       #修改权限

建立svnaccessfile
# vi svnaccessfile     #文件名称与apache配置的保持一致
[project:/]
xb = rw                  #添加能访问的版本库的用户及权限
添加apache的用户和密码(登录apache):
# /usr/local/apache/bin/htpasswd -bc svnpasswd xb admin     
# -bc 第一次创建需要c参数以后用户只要b即可

重启apache:
# /usr/local/apache/bin/apachectl -k restart

5.通过http测试:
http://192.168.1.241/svn/project

提示输入用户名及密码:

附一:svnaccessfile权限控制文件说明:
[svn1:/]                                        #表示仓库svn1的根目录下的访问权限
test1 = rw                                #svn1仓库test1用户具有读和写的权限
test2 = r                                        #svn1仓库test2用户具有读的权限
[svn2:/]                                        #仓库svn2根目录下的访问权限
test1 = r                                         #test1用户在仓库svn2根目录只有读权限
test2 =                                         #test2用户在仓库svn2根目录没有任何权限
[/]                                                #表示所有仓库的根目录下的权限
* =                                                 #表示所有用户都有读权限
[groups]                                        #表示群组设置
group1= test1, test2                #设置组名及成员
@group1 = rw                                设置组权限

附二:备份(可以直接将版本仓库通过rsync同步到另一台svn服务器进行备份或直接备份版本仓库目录)
svn备份一般采用三种方式:
1)svnadmin dump
2)svnadmin hotcopy
3)svnsync.
优缺点分析
==============
第一种svnadmin dump是官方推荐的备份方式,优点是比较灵活,可以全量备份也可以增量备份,并提供了版本恢复机制。
缺点是:如果版本比较大,如版本数增长到数万、数十万,那么dump的过程将非常慢;备份耗时,恢复更耗时;不利于快速进行灾难恢复。
个人建议在版本数比较小的情况下使用这种备份方式。
第二种svnadmin hotcopy原设计目的估计不是用来备份的,只能进行全量拷贝,不能进行增量备份;
优点是:备份过程较快,灾难恢复也很快;如果备份机上已经搭建了svn服务,甚至不需要恢复,只需要进行简单配置即可切换到备份库上工作。
缺点是:比较耗费硬盘,需要有较大的硬盘支持
第三种svnsync实际上是制作2个镜像库,当一个坏了的时候,可以迅速切换到另一个。不过,必须svn1.4版本以上才支持这个功能。
优点是:当制作成2个镜像库的时候起到双机实时备份的作用;
缺点是:当作为2个镜像库使用时,没办法做到“想完全抛弃今天的修改恢复到昨晚的样子”;而当作为普通备份机制每日备份时,操作又较前2种方法麻烦。
操作:
以下为了方便操作将svn的目录添加到PATH中
# vim /etc/profile
PATH=/usr/local/svn/binPATH
# source /etc/profile
1、svnadmin dump使用
1).使用svnadmin dump 做完全备份
# svnadmin dump /data/svn/project/ >/home/backup/svn.full.bak
* Dumped revision 0.
* Dumped revision 1.
2).使用svnadmin dump 做增量备份
# svnadmin dump /data/svn/project/ -r2 --incremental >/home/backup/svn.2.bak
以增量方式将版本号2的版本库备份为svn.2.bak
3).使用svnadmin dump 还原,为了方便测试建立一个test的版本库
# svnadmin create /data/svn/test
# svnadmin load /data/svn/test/ < /home/backup/svn.full.bak
<<< Started new transaction, based on original revision 1
     * adding path : 12.pdf ... done.
     * adding path : httpd.doc ... done.
    * adding path : lihttpd.zip ... done.

------- Committed revision 1 >>>

<<< Started new transaction, based on original revision 2
     * adding path : abc1.zip ... done.
     * adding path : abc2.pdf ... done.
     * adding path : abc3.doc ... done.

------- Committed revision 2 >>>
如果还有增量备份的文件:
# svnadmin load /data/svn/test/ < /home/backup/svn.2.bak

2、hotcopy 使用
1.使用svnadmin hotcopy做完全备份
# svnadmin hotcopy /data/svn/project/ /home/backup/svn --clean-logs
2.使用svnadmin hotcopy还原
# svnadmin hotcopy /home/backup/svn /data/svn/test/
 
Subversion(SVN)安装文档

SVN中文网址(操作手册)
http://www.iusesvn.com/   
软件版本(当前版本):
subversion-1.6.17.tar.gz
subversion-deps-1.6.17.tar.gz
下载地址:
http://subversion.tigris.org/ser ... amp;expandFolder=74

apache: httpd-2.2.22.tar.gz
下载地址:
http://apache.etoak.com/httpd/

apr:apr-1.3.9.tar.gz
apr-util:apr-util-1.3.9.tar.gz
下载地址:
http://apr.apache.org/download.cgi

1.        安装apr和apr-util
# tar zxvf apr-1.3.9.tar.gz
# cd apr-1.3.9
# ./configure --prefix=/usr/local/apr
# make
# make install

# tar zxvf apr-util-1.3.9.tar.gz
# cd apr-util-1.3.9
# ./configure --with-apr=/usr/local/apr
# make
# make install

2.        安装apache
# tar zxvf httpd-2.2.22.tar.gz
# cd httpd-2.2.22
# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav --enable-maintainer-mode --enable-ssl
# make
# make install

测试:
/usr/local/apache/bin/apachectl –k start #启动
http://ip     

3.安装subversion
# tar zxvf subversion-1.6.17.tar.gz
# tar zxvf subversion-deps-1.6.17.tar.gz
# cd subversion-1.6.17
# rm -rf apr apr-util/        #自带版本较老,建议采用新的版本。
# ./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-ssl
# make
# make install

/*将svnadmin放入$PATH环境变量里*/
# cp /usr/local/svn/bin/svnadmin /usr/local/sbin
测试安装是否成功
# usr/local/svn/bin/svnadmin –version

4.subversion环境的搭建:使用与Apache模块的方式运行

# vi apache/conf/httpd.conf

确保配置文件添加了如下内容(表示正确加载了SVN的模块):
# LoadModule foo_module modules/mod_foo.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
#
#然后配置仓库:(需要自己添加的内容)
<Location /svn>
DAV svn
SVNParentPath /data/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /data/svn/svnpasswd
Require valid-usr
AuthzSVNAccessFile /data/svn/svnaccessfile
</Location>

建立SVN版本库
# cd /data/svn/      #/data/svn目录是版本库目录
# /usr/local/svn/bin/svnadmin create project  #创建版本库project
# chmod -R 777 project/       #修改权限

建立svnaccessfile
# vi svnaccessfile     #文件名称与apache配置的保持一致
[project:/]
xb = rw                  #添加能访问的版本库的用户及权限
添加apache的用户和密码(登录apache):
# /usr/local/apache/bin/htpasswd -bc svnpasswd xb admin     
# -bc 第一次创建需要c参数以后用户只要b即可

重启apache:
# /usr/local/apache/bin/apachectl -k restart

5.通过http测试:
http://192.168.1.241/svn/project

提示输入用户名及密码:

附一:svnaccessfile权限控制文件说明:
[svn1:/]                                        #表示仓库svn1的根目录下的访问权限
test1 = rw                                #svn1仓库test1用户具有读和写的权限
test2 = r                                        #svn1仓库test2用户具有读的权限
[svn2:/]                                        #仓库svn2根目录下的访问权限
test1 = r                                         #test1用户在仓库svn2根目录只有读权限
test2 =                                         #test2用户在仓库svn2根目录没有任何权限
[/]                                                #表示所有仓库的根目录下的权限
* =                                                 #表示所有用户都有读权限
[groups]                                        #表示群组设置
group1= test1, test2                #设置组名及成员
@group1 = rw                                设置组权限

附二:备份(可以直接将版本仓库通过rsync同步到另一台svn服务器进行备份或直接备份版本仓库目录)
svn备份一般采用三种方式:
1)svnadmin dump
2)svnadmin hotcopy
3)svnsync.
优缺点分析
==============
第一种svnadmin dump是官方推荐的备份方式,优点是比较灵活,可以全量备份也可以增量备份,并提供了版本恢复机制。
缺点是:如果版本比较大,如版本数增长到数万、数十万,那么dump的过程将非常慢;备份耗时,恢复更耗时;不利于快速进行灾难恢复。
个人建议在版本数比较小的情况下使用这种备份方式。
第二种svnadmin hotcopy原设计目的估计不是用来备份的,只能进行全量拷贝,不能进行增量备份;
优点是:备份过程较快,灾难恢复也很快;如果备份机上已经搭建了svn服务,甚至不需要恢复,只需要进行简单配置即可切换到备份库上工作。
缺点是:比较耗费硬盘,需要有较大的硬盘支持
第三种svnsync实际上是制作2个镜像库,当一个坏了的时候,可以迅速切换到另一个。不过,必须svn1.4版本以上才支持这个功能。
优点是:当制作成2个镜像库的时候起到双机实时备份的作用;
缺点是:当作为2个镜像库使用时,没办法做到“想完全抛弃今天的修改恢复到昨晚的样子”;而当作为普通备份机制每日备份时,操作又较前2种方法麻烦。
操作:
以下为了方便操作将svn的目录添加到PATH中
# vim /etc/profile
PATH=/usr/local/svn/binPATH
# source /etc/profile
1、svnadmin dump使用
1).使用svnadmin dump 做完全备份
# svnadmin dump /data/svn/project/ >/home/backup/svn.full.bak
* Dumped revision 0.
* Dumped revision 1.
2).使用svnadmin dump 做增量备份
# svnadmin dump /data/svn/project/ -r2 --incremental >/home/backup/svn.2.bak
以增量方式将版本号2的版本库备份为svn.2.bak
3).使用svnadmin dump 还原,为了方便测试建立一个test的版本库
# svnadmin create /data/svn/test
# svnadmin load /data/svn/test/ < /home/backup/svn.full.bak
<<< Started new transaction, based on original revision 1
     * adding path : 12.pdf ... done.
     * adding path : httpd.doc ... done.
    * adding path : lihttpd.zip ... done.

------- Committed revision 1 >>>

<<< Started new transaction, based on original revision 2
     * adding path : abc1.zip ... done.
     * adding path : abc2.pdf ... done.
     * adding path : abc3.doc ... done.

------- Committed revision 2 >>>
如果还有增量备份的文件:
# svnadmin load /data/svn/test/ < /home/backup/svn.2.bak

2、hotcopy 使用
1.使用svnadmin hotcopy做完全备份
# svnadmin hotcopy /data/svn/project/ /home/backup/svn --clean-logs
2.使用svnadmin hotcopy还原
# svnadmin hotcopy /home/backup/svn /data/svn/test/
 
Subversion(SVN)安装文档

SVN中文网址(操作手册)
http://www.iusesvn.com/   
软件版本(当前版本):
subversion-1.6.17.tar.gz
subversion-deps-1.6.17.tar.gz
下载地址:
http://subversion.tigris.org/ser ... amp;expandFolder=74

apache: httpd-2.2.22.tar.gz
下载地址:
http://apache.etoak.com/httpd/

apr:apr-1.3.9.tar.gz
apr-util:apr-util-1.3.9.tar.gz
下载地址:
http://apr.apache.org/download.cgi

1.        安装apr和apr-util
# tar zxvf apr-1.3.9.tar.gz
# cd apr-1.3.9
# ./configure --prefix=/usr/local/apr
# make
# make install

# tar zxvf apr-util-1.3.9.tar.gz
# cd apr-util-1.3.9
# ./configure --with-apr=/usr/local/apr
# make
# make install

2.        安装apache
# tar zxvf httpd-2.2.22.tar.gz
# cd httpd-2.2.22
# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav --enable-maintainer-mode --enable-ssl
# make
# make install

测试:
/usr/local/apache/bin/apachectl –k start #启动
http://ip     

3.安装subversion
# tar zxvf subversion-1.6.17.tar.gz
# tar zxvf subversion-deps-1.6.17.tar.gz
# cd subversion-1.6.17
# rm -rf apr apr-util/        #自带版本较老,建议采用新的版本。
# ./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-ssl
# make
# make install

/*将svnadmin放入$PATH环境变量里*/
# cp /usr/local/svn/bin/svnadmin /usr/local/sbin
测试安装是否成功
# usr/local/svn/bin/svnadmin –version

4.subversion环境的搭建:使用与Apache模块的方式运行

# vi apache/conf/httpd.conf

确保配置文件添加了如下内容(表示正确加载了SVN的模块):
# LoadModule foo_module modules/mod_foo.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
#
#然后配置仓库:(需要自己添加的内容)
<Location /svn>
DAV svn
SVNParentPath /data/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /data/svn/svnpasswd
Require valid-usr
AuthzSVNAccessFile /data/svn/svnaccessfile
</Location>

建立SVN版本库
# cd /data/svn/      #/data/svn目录是版本库目录
# /usr/local/svn/bin/svnadmin create project  #创建版本库project
# chmod -R 777 project/       #修改权限

建立svnaccessfile
# vi svnaccessfile     #文件名称与apache配置的保持一致
[project:/]
xb = rw                  #添加能访问的版本库的用户及权限
添加apache的用户和密码(登录apache):
# /usr/local/apache/bin/htpasswd -bc svnpasswd xb admin     
# -bc 第一次创建需要c参数以后用户只要b即可

重启apache:
# /usr/local/apache/bin/apachectl -k restart

5.通过http测试:
http://192.168.1.241/svn/project

提示输入用户名及密码:

附一:svnaccessfile权限控制文件说明:
[svn1:/]                                        #表示仓库svn1的根目录下的访问权限
test1 = rw                                #svn1仓库test1用户具有读和写的权限
test2 = r                                        #svn1仓库test2用户具有读的权限
[svn2:/]                                        #仓库svn2根目录下的访问权限
test1 = r                                         #test1用户在仓库svn2根目录只有读权限
test2 =                                         #test2用户在仓库svn2根目录没有任何权限
[/]                                                #表示所有仓库的根目录下的权限
* =                                                 #表示所有用户都有读权限
[groups]                                        #表示群组设置
group1= test1, test2                #设置组名及成员
@group1 = rw                                设置组权限

附二:备份(可以直接将版本仓库通过rsync同步到另一台svn服务器进行备份或直接备份版本仓库目录)
svn备份一般采用三种方式:
1)svnadmin dump
2)svnadmin hotcopy
3)svnsync.
优缺点分析
==============
第一种svnadmin dump是官方推荐的备份方式,优点是比较灵活,可以全量备份也可以增量备份,并提供了版本恢复机制。
缺点是:如果版本比较大,如版本数增长到数万、数十万,那么dump的过程将非常慢;备份耗时,恢复更耗时;不利于快速进行灾难恢复。
个人建议在版本数比较小的情况下使用这种备份方式。
第二种svnadmin hotcopy原设计目的估计不是用来备份的,只能进行全量拷贝,不能进行增量备份;
优点是:备份过程较快,灾难恢复也很快;如果备份机上已经搭建了svn服务,甚至不需要恢复,只需要进行简单配置即可切换到备份库上工作。
缺点是:比较耗费硬盘,需要有较大的硬盘支持
第三种svnsync实际上是制作2个镜像库,当一个坏了的时候,可以迅速切换到另一个。不过,必须svn1.4版本以上才支持这个功能。
优点是:当制作成2个镜像库的时候起到双机实时备份的作用;
缺点是:当作为2个镜像库使用时,没办法做到“想完全抛弃今天的修改恢复到昨晚的样子”;而当作为普通备份机制每日备份时,操作又较前2种方法麻烦。
操作:
以下为了方便操作将svn的目录添加到PATH中
# vim /etc/profile
PATH=/usr/local/svn/binPATH
# source /etc/profile
1、svnadmin dump使用
1).使用svnadmin dump 做完全备份
# svnadmin dump /data/svn/project/ >/home/backup/svn.full.bak
* Dumped revision 0.
* Dumped revision 1.
2).使用svnadmin dump 做增量备份
# svnadmin dump /data/svn/project/ -r2 --incremental >/home/backup/svn.2.bak
以增量方式将版本号2的版本库备份为svn.2.bak
3).使用svnadmin dump 还原,为了方便测试建立一个test的版本库
# svnadmin create /data/svn/test
# svnadmin load /data/svn/test/ < /home/backup/svn.full.bak
<<< Started new transaction, based on original revision 1
     * adding path : 12.pdf ... done.
     * adding path : httpd.doc ... done.
    * adding path : lihttpd.zip ... done.

------- Committed revision 1 >>>

<<< Started new transaction, based on original revision 2
     * adding path : abc1.zip ... done.
     * adding path : abc2.pdf ... done.
     * adding path : abc3.doc ... done.

------- Committed revision 2 >>>
如果还有增量备份的文件:
# svnadmin load /data/svn/test/ < /home/backup/svn.2.bak

2、hotcopy 使用
1.使用svnadmin hotcopy做完全备份
# svnadmin hotcopy /data/svn/project/ /home/backup/svn --clean-logs
2.使用svnadmin hotcopy还原
# svnadmin hotcopy /home/backup/svn /data/svn/test/
 
Subversion(SVN)安装文档

SVN中文网址(操作手册)
http://www.iusesvn.com/   
软件版本(当前版本):
subversion-1.6.17.tar.gz
subversion-deps-1.6.17.tar.gz
下载地址:
http://subversion.tigris.org/ser ... amp;expandFolder=74

apache: httpd-2.2.22.tar.gz
下载地址:
http://apache.etoak.com/httpd/

apr:apr-1.3.9.tar.gz
apr-util:apr-util-1.3.9.tar.gz
下载地址:
http://apr.apache.org/download.cgi

1.        安装apr和apr-util
# tar zxvf apr-1.3.9.tar.gz
# cd apr-1.3.9
# ./configure --prefix=/usr/local/apr
# make
# make install

# tar zxvf apr-util-1.3.9.tar.gz
# cd apr-util-1.3.9
# ./configure --with-apr=/usr/local/apr
# make
# make install

2.        安装apache
# tar zxvf httpd-2.2.22.tar.gz
# cd httpd-2.2.22
# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav --enable-maintainer-mode --enable-ssl
# make
# make install

测试:
/usr/local/apache/bin/apachectl –k start #启动
http://ip     

3.安装subversion
# tar zxvf subversion-1.6.17.tar.gz
# tar zxvf subversion-deps-1.6.17.tar.gz
# cd subversion-1.6.17
# rm -rf apr apr-util/        #自带版本较老,建议采用新的版本。
# ./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-ssl
# make
# make install

/*将svnadmin放入$PATH环境变量里*/
# cp /usr/local/svn/bin/svnadmin /usr/local/sbin
测试安装是否成功
# usr/local/svn/bin/svnadmin –version

4.subversion环境的搭建:使用与Apache模块的方式运行

# vi apache/conf/httpd.conf

确保配置文件添加了如下内容(表示正确加载了SVN的模块):
# LoadModule foo_module modules/mod_foo.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
#
#然后配置仓库:(需要自己添加的内容)
<Location /svn>
DAV svn
SVNParentPath /data/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /data/svn/svnpasswd
Require valid-usr
AuthzSVNAccessFile /data/svn/svnaccessfile
</Location>

建立SVN版本库
# cd /data/svn/      #/data/svn目录是版本库目录
# /usr/local/svn/bin/svnadmin create project  #创建版本库project
# chmod -R 777 project/       #修改权限

建立svnaccessfile
# vi svnaccessfile     #文件名称与apache配置的保持一致
[project:/]
xb = rw                  #添加能访问的版本库的用户及权限
添加apache的用户和密码(登录apache):
# /usr/local/apache/bin/htpasswd -bc svnpasswd xb admin     
# -bc 第一次创建需要c参数以后用户只要b即可

重启apache:
# /usr/local/apache/bin/apachectl -k restart

5.通过http测试:
http://192.168.1.241/svn/project

提示输入用户名及密码:

附一:svnaccessfile权限控制文件说明:
[svn1:/]                                        #表示仓库svn1的根目录下的访问权限
test1 = rw                                #svn1仓库test1用户具有读和写的权限
test2 = r                                        #svn1仓库test2用户具有读的权限
[svn2:/]                                        #仓库svn2根目录下的访问权限
test1 = r                                         #test1用户在仓库svn2根目录只有读权限
test2 =                                         #test2用户在仓库svn2根目录没有任何权限
[/]                                                #表示所有仓库的根目录下的权限
* =                                                 #表示所有用户都有读权限
[groups]                                        #表示群组设置
group1= test1, test2                #设置组名及成员
@group1 = rw                                设置组权限

附二:备份(可以直接将版本仓库通过rsync同步到另一台svn服务器进行备份或直接备份版本仓库目录)
svn备份一般采用三种方式:
1)svnadmin dump
2)svnadmin hotcopy
3)svnsync.
优缺点分析
==============
第一种svnadmin dump是官方推荐的备份方式,优点是比较灵活,可以全量备份也可以增量备份,并提供了版本恢复机制。
缺点是:如果版本比较大,如版本数增长到数万、数十万,那么dump的过程将非常慢;备份耗时,恢复更耗时;不利于快速进行灾难恢复。
个人建议在版本数比较小的情况下使用这种备份方式。
第二种svnadmin hotcopy原设计目的估计不是用来备份的,只能进行全量拷贝,不能进行增量备份;
优点是:备份过程较快,灾难恢复也很快;如果备份机上已经搭建了svn服务,甚至不需要恢复,只需要进行简单配置即可切换到备份库上工作。
缺点是:比较耗费硬盘,需要有较大的硬盘支持
第三种svnsync实际上是制作2个镜像库,当一个坏了的时候,可以迅速切换到另一个。不过,必须svn1.4版本以上才支持这个功能。
优点是:当制作成2个镜像库的时候起到双机实时备份的作用;
缺点是:当作为2个镜像库使用时,没办法做到“想完全抛弃今天的修改恢复到昨晚的样子”;而当作为普通备份机制每日备份时,操作又较前2种方法麻烦。
操作:
以下为了方便操作将svn的目录添加到PATH中
# vim /etc/profile
PATH=/usr/local/svn/binPATH
# source /etc/profile
1、svnadmin dump使用
1).使用svnadmin dump 做完全备份
# svnadmin dump /data/svn/project/ >/home/backup/svn.full.bak
* Dumped revision 0.
* Dumped revision 1.
2).使用svnadmin dump 做增量备份
# svnadmin dump /data/svn/project/ -r2 --incremental >/home/backup/svn.2.bak
以增量方式将版本号2的版本库备份为svn.2.bak
3).使用svnadmin dump 还原,为了方便测试建立一个test的版本库
# svnadmin create /data/svn/test
# svnadmin load /data/svn/test/ < /home/backup/svn.full.bak
<<< Started new transaction, based on original revision 1
     * adding path : 12.pdf ... done.
     * adding path : httpd.doc ... done.
    * adding path : lihttpd.zip ... done.

------- Committed revision 1 >>>

<<< Started new transaction, based on original revision 2
     * adding path : abc1.zip ... done.
     * adding path : abc2.pdf ... done.
     * adding path : abc3.doc ... done.

------- Committed revision 2 >>>
如果还有增量备份的文件:
# svnadmin load /data/svn/test/ < /home/backup/svn.2.bak

2、hotcopy 使用
1.使用svnadmin hotcopy做完全备份
# svnadmin hotcopy /data/svn/project/ /home/backup/svn --clean-logs
2.使用svnadmin hotcopy还原
# svnadmin hotcopy /home/backup/svn /data/svn/test/
 

Subversion( SVN)安装文档
 
SVN中文网址(操作手册)
http://www.iusesvn.com/  
软件版本(当前最新版):
subversion-1.6.17.tar.gz
subversion-deps-1.6.17.tar.gz
下载地址:
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74
 
apache: httpd-2.2.22.tar.gz
下载地址:
http://apache.etoak.com/httpd/
 
apr:apr-1.3.9.tar.gz
apr-util:apr-util-1.3.9.tar.gz
下载地址:
http://apr.apache.org/download.cgi
 
1.    安装apr和apr-util
# tar zxvf apr-1.3.9.tar.gz
# cd apr-1.3.9
# ./configure --prefix=/usr/local/apr
# make
# make install
 
# tar zxvf apr-util-1.3.9.tar.gz
# cd apr-util-1.3.9
# ./configure --with-apr=/usr/local/apr
# make
# make install
 
2.    安装apache
# tar zxvf httpd-2.2.22.tar.gz
# cd httpd-2.2.22
# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav --enable-maintainer-mode --enable-ssl
# make
# make install
 
测试:
 /usr/local/apache/bin/apachectl –k start #启动
http://ip    
 
3. 安装subversion
# tar zxvf subversion-1.6.17.tar.gz
# tar zxvf subversion-deps-1.6.17.tar.gz
# cd subversion-1.6.17
# rm -rf apr apr-util/         #自带版本较老,建议采用新的版本。
# ./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-ssl
# make
# make install
 
/*将 svnadmin放入$PATH环境变量里*/
# cp /usr/local/svn/bin/svnadmin /usr/local/sbin
测试安装是否成功
# usr/local/svn/bin/svnadmin –version
 
4.subversion 环境的搭建:使用与Apache模块的方式运行
 
# vi apache/conf/httpd.conf
 
确保配置文件添加了如下内容(表示正确加载了 SVN的模块):
# LoadModule foo_module modules/mod_foo.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module    modules/mod_authz_svn.so
#
#然后配置仓库:(需要自己添加的内容)
<Location /svn>
DAV svn
SVNParentPath /data/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /data/svn/svnpasswd
Require valid-usr
AuthzSVNAccessFile /data/svn/svnaccessfile
</Location>
 
建立 SVN版本库
# cd /data/svn/       #/data/svn目录是版本库目录
# /usr/local/svn/bin/svnadmin create project #创建版本库project
# chmod -R 777 project/        #修改权限
 
建立 svnaccessfile
# vi svnaccessfile      #文件名称与apache配置的保持一致
[project:/]
xb = rw                   #添加能访问的版本库的用户及权限
添加 apache的用户和密码(登录apache):
# /usr/local/apache/bin/htpasswd -bc svnpasswd xb admin     
# -bc 第一次创建需要c参数以后用户只要b即可
 
重启 apache:
# /usr/local/apache/bin/apachectl -k restart
 
5. 通过http测试:
http://192.168.1.241/svn/project
 
提示输入用户名及密码:
 
附一:svnaccessfile权限控制文件说明:
[svn1:/]                                           #表示仓库svn1的根目录下的访问权限
test1 = rw                                      #svn1仓库test1用户具有读和写的权限
test2 = r                                         #svn1仓库test2用户具有读的权限
[svn2:/]                                           #仓库svn2根目录下的访问权限
test1 = r                                                #test1用户在仓库svn2根目录只有读权限
test2 =                                         #test2用户在仓库svn2根目录没有任何权限
 [/]                                                  #表示所有仓库的根目录下的权限
* =                                                 #表示所有用户都有读权限
 [groups]                                       #表示群组设置
group1= test1, test2                  #设置组名及成员
@group1 = rw                              设置组权限
 
附二:备份(可以直接将版本仓库通过rsync同步到另一台svn服务器进行备份或直接备份版本仓库目录)
svn备份一般采用三种方式:
1)svnadmin dump
2)svnadmin hotcopy
3)svnsync.
优缺点分析
==============
第一种 svnadmin dump是官方推荐的备份方式,优点是比较灵活,可以全量备份也可以增量备份,并提供了版本恢复机制。
缺点是:如果版本比较大,如版本数增长到数万、数十万,那么dump的过程将非常慢;备份耗时,恢复更耗时;不利于快速进行灾难恢复。
个人建议在版本数比较小的情况下使用这种备份方式。
第二种svnadmin hotcopy原设计目的估计不是用来备份的,只能进行全量拷贝,不能进行增量备份;
优点是:备份过程较快,灾难恢复也很快;如果备份机上已经搭建了svn服务,甚至不需要恢复,只需要进行简单配置即可切换到备份库上工作。
缺点是:比较耗费硬盘,需要有较大的硬盘支持
第三种 svnsync实际上是制作2个镜像库,当一个坏了的时候,可以迅速切换到另一个。不过,必须svn1.4版本以上才支持这个功能。
优点是:当制作成2个镜像库的时候起到双机实时备份的作用;
缺点是:当作为2个镜像库使用时,没办法做到“想完全抛弃今天的修改恢复到昨晚的样子”;而当作为普通备份机制每日备份时,操作又较前2种方法麻烦
操作:
以下为了方便操作将 svn的目录添加到PATH中
# vim /etc/profile
PATH=/usr/local/svn/bin:$PATH
# source /etc/profile
1 svnadmin dump使用
1) .使用svnadmin dump 做完全备份
# svnadmin dump /data/svn/project/ >/home/backup/svn.full.bak
* Dumped revision 0.
* Dumped revision 1.
2) .使用svnadmin dump 做增量备份
# svnadmin dump /data/svn/project/ -r2 --incremental >/home/backup/svn.2.bak
以增量方式将版本号 2的版本库备份为svn.2.bak
3) .使用svnadmin dump 还原,为了方便测试建立一个test的版本库
# svnadmin create /data/svn/test
# svnadmin load /data/svn/test/ < /home/backup/svn.full.bak
<<< Started new transaction, based on original revision 1
     * adding path : 12.pdf ... done.
     * adding path : httpd.doc ... done.
    * adding path : lihttpd.zip ... done.
 
------- Committed revision 1 >>>
 
<<< Started new transaction, based on original revision 2
     * adding path : abc1.zip ... done.
     * adding path : abc2.pdf ... done.
     * adding path : abc3.doc ... done.
 
------- Committed revision 2 >>>
如果还有增量备份的文件:
# svnadmin load /data/svn/test/ < /home/backup/svn.2.bak
 
2 hotcopy 使用
1.使用 svnadmin hotcopy做完全备份
# svnadmin hotcopy /data/svn/project/ /home/backup/svn --clean-logs
2.使用 svnadmin hotcopy还原
# svnadmin hotcopy /home/backup/svn /data/svn/test/

你可能感兴趣的:(Subversion(SVN)安装文档)