SVN服务器部署
软件安装
1、安装apache2.059
2、安装svn1.5.3
3、安装TortoiseSVN-1.5.8
软件配置
1、添加加载模块
如果在加载模块里没有mod_dav_svn.so和mod_authz_svn.so和libdb44.dll
(1)文件拷贝
从subversion/bin里考到apache/module:
mod_dav_svn.so
mod_authz_svn.so
libdb44.dll
(2)修改配置文件
修改apache里的配置文件httpd.conf
在加载模块内容里添加
LoadModuledav_svn_module modules/mod_dav_svn.so
LoadModuleauthz_svn_module modules/mod_authz_svn.so
2、修改配置文件
在httpd.conf里加入
<Location /svn>
DAV svn
SVNParentPath D:/SVN
AuthType Basic
AuthName "welcome"
AuthUserFile D:/SVN/svn-auth-file
Require valid-user
AuthzSVNAccessFile D:/SVN/svn-access-file
Require valid-user
</Location>
创建版本库
1、建立统一路径
创建新文件夹作为统一svn版本库存放的路径(比如新建一个名叫svn的文件夹)
2、创建版本库
在svn文件夹下新建文件夹boss,然后创建版本库。
3、备份版本库
在cmd命令控制台下执行命令,恢复备份
E:\Program Files\Subversion\bin>svnadmindump E:\svn\authmangement > E:\svnbak\authmangement.20100802.bak
生成authmangement.20100802.bak文件
3、恢复版本库
把authmangement.20100802.bak拷贝到某个文件夹下
在cmd命令控制台下执行命令,恢复备份
E:\Program Files\Subversion\bin>svnadminload /usr/local/svn/OA2009020010 < /usr/local/svnbak/OA2009020010.20100802.bak
配置访问权限
svn-auth-file配置访问服务器的权限
svn-access-file配置访问版本库的权限
svn-auth-file的内容:
svn-auth-file配置访问服务器的权限
svn-access-file配置访问版本库的权限
svn-auth-file的内容:
svn-access-file的内容:
Linux环境下安装SVN服务器
1、软件下载
(1)apache下载
httpd-2.2.16.tar.gz
(1)SVN下载
http://svn.haxx.se/dev/archive-2010-06/0320.shtml
subversion-1.6.12.tar.gz
subversion-deps-1.6.12.tar.gz
2、软件安装
(1)apache安装
把安装压缩包[httpd-2.2.16.tar.gz]拷到linux环境/usr/local/下面。
[root@localhost/]# cd /usr/local/
[root@localhost/]# tar zxf httpd-2.2.16.tar.gz
(安装包解压缩,解压缩后生成安装文件夹[httpd-2.2.16])
[root@localhost/]# cd /usr/local/httpd-2.2.16
[root@localhost/]# configure -prefix=/usr/local/apache -enable-dav -enable-so && make&& make install
(进入安装文件夹[httpd-2.2.16],执行安装程序configure,安装到apache文件夹中)
(重起apache,判断是否安装成功)
[root@localhostsubversion]# /usr/local/apache/bin/httpd -k restart
[root@localhostsubversion]# /usr/local/apache/bin/httpd -k stop
[root@localhostsubversion]# /usr/local/apache/bin/httpd -k start
(1)SVN安装
把安装压缩包[subversion-1.6.12.tar.gz]和[subversion-deps-1.6.12.tar.gz]拷到linux环境/usr/local/下面。
[root@localhost/]# cd /usr/local/
[root@localhost/]# tar zxf subversion-1.6.12.tar.gz
[root@localhost/]# tar zxf subversion-deps-1.6.12.tar.gz
(安装包解压缩,解压缩后生成安装文件夹[subversion-1.6.12],两个文件都会解压缩到同一个文件夹下)
[root@localhostlocal]# cd /usr/local/subversion-1.6.12
[root@localhostsubversion-1.6.12]# rm -rf apr
[root@localhostsubversion-1.6.12]# rm -rf apr-util
(删除subversion自带的apr和apr-util文件夹,用apache的就可以)
[root@localhostsubversion-1.6.12]# cd/usr/local/subversion-1.6.12
[root@localhost/]# configure -prefix=/usr/local/subversion-with-apxs=/usr/local/apache/bin/apxs-with-apr=/usr/local/apache/bin/apr-1-config-with-apr-util=/usr/local/apache/bin/apu-1-config && make &&make install
[root@localhostsubversion-1.6.12]#/usr/local/subversion/bin/svnserve --version
(查看版本确认安装成功)
3、建立SVN版本库
[root@localhostsubversion-1.6.12]# cd /usr/local/subversion
[root@localhost subversion]# svnadmin create/usr/local/svn/authmangement
(创建版本库)
[root@localhostsubversion]# svnadmin load /usr/local/svn/authmangement < /usr/local/svnbak/authmangement.20100802.bak
(恢复版本库数据)
[root@localhostsubversion]# svnadmin create /usr/local/svn/boss
[root@localhostsubversion]# svnadmin load /usr/local/svn/boss </usr/local/svnbak/boss.20100802.bak
[root@localhostsubversion]# svnadmin create /usr/local/svn/ccenter
[root@localhostsubversion]# svnadmin load /usr/local/svn/ccenter </usr/local/svnbak/ccenter.20100802.bak
[root@localhostsubversion]# svnadmin create /usr/local/svn/crm
[root@localhostsubversion]# svnadmin load /usr/local/svn/crm </usr/local/svnbak/crm.20100802.bak
[root@localhostsubversion]# svnadmin create /usr/local/svn/ctibd
[root@localhostsubversion]# svnadmin load /usr/local/svn/ctibd </usr/local/svnbak/ctibd.20100802.bak
[root@localhostsubversion]# svnadmin create /usr/local/svn/ctidflow
[root@localhostsubversion]# svnadmin load /usr/local/svn/ctidflow </usr/local/svnbak/ctidflow.20100802.bak
[root@localhostsubversion]# svnadmin create /usr/local/svn/ctidweb
[root@localhostsubversion]# svnadmin load /usr/local/svn/ctidweb </usr/local/svnbak/ctidweb.20100802.bak
[root@localhostsubversion]# svnadmin create /usr/local/svn/ctidwebsite
[root@localhostsubversion]# svnadmin load /usr/local/svn/ctidwebsite </usr/local/svnbak/ctidwebsite.20100802.bak
[root@localhost subversion]#svnadmin create /usr/local/svn/huiyitongpt
[root@localhostsubversion]# svnadmin load /usr/local/svn/huiyitongpt </usr/local/svnbak/huiyitongpt.20100802.bak
[root@localhostsubversion]# svnadmin create /usr/local/svn/hytConfWatch
[root@localhostsubversion]# svnadmin load /usr/local/svn/hytConfWatch </usr/local/svnbak/hytConfWatch.20100802.bak
[root@localhostsubversion]# svnadmin create /usr/local/svn/information
[root@localhostsubversion]# svnadmin load /usr/local/svn/information < /usr/local/svnbak/information.20100802.bak
[root@localhostsubversion]# svnadmin create /usr/local/svn/newcenter
[root@localhostsubversion]# svnadmin load /usr/local/svn/newcenter </usr/local/svnbak/newcenter.20100802.bak
[root@localhostsubversion]# svnadmin create /usr/local/svn/OA2009020010
[root@localhostsubversion]# svnadmin load /usr/local/svn/OA2009020010 </usr/local/svnbak/OA2009020010.20100802.bak
[root@localhostsubversion]# svnadmin create /usr/local/svn/operation
[root@localhostsubversion]# svnadmin load /usr/local/svn/operation </usr/local/svnbak/operation.20100802.bak
[root@localhostsubversion]# svnadmin create /usr/local/svn/prm
[root@localhostsubversion]# svnadmin load /usr/local/svn/prm </usr/local/svnbak/prm.20100802.bak
[root@localhostsubversion]# svnadmin create /usr/local/svn/questioncollection
[root@localhostsubversion]# svnadmin load /usr/local/svn/questioncollection </usr/local/svnbak/questioncollection.20100802.bak
4、设置SVN访问权限
cd /usr/local/svn/svnconf/conf
vi svnconf/conf/authz
[groups] #表示用户组,用户组中有哪些用户 system = yangyanjie [/usr/local/svn/system] #表示某个SVN项目所在的绝对路径 @system = rw #表示该项目下哪些组有着什么样的权限(也可直接加用户)
|
5、在apache中配置SVN
(1)修改apache的端口
修改/usr/local/apache/conf/httpd.conf中的端口配置
#Listen 12.34.56.78:80 Listen 8089 ##不改也可以 |
(2)生成SVN的用户权限文件
创建访问权限文件
/usr/local/apache/bin/htpasswd -cmb /usr/local/svn/svn-auth-file fengxian fengxian c:create m:md5 b:在命令行上输入密码解释:创建svn-auth-file文件,增加用户名为fengxian的用户,密码为md5加密的fengxian |
更新用户密码
[root@localhostsubversion]#/usr/local/apache/bin/htpasswd /usr/local/svn/svn-auth-file fengxian
添加新用户
[root@localhostsubversion]# /usr/local/apache/bin/htpasswd -mb /usr/local/svn/svn-auth-filezhangdongjie zhangdongjie
[root@localhostsubversion]# /usr/local/apache/bin/htpasswd -mb /usr/local/svn/svn-auth-fileyulei yulei
[root@localhostsubversion]# /usr/local/apache/bin/htpasswd -mb /usr/local/svn/svn-auth-filebaojie baojie
[root@localhostsubversion]# /usr/local/apache/bin/htpasswd -mb /usr/local/svn/svn-auth-filezhangjian zhangjian
[root@localhostsubversion]# /usr/local/apache/bin/htpasswd -mb /usr/local/svn/svn-auth-filezhangzhaoyuan zhangzhaoyuan
(必须这样添加用户,否则无效)
删除用户
[root@localhostsubversion]# /usr/local/apache/bin/htpasswd htpasswd -D /usr/local/svn/svn-auth-filefengxian
(3)让apache管理SVN
在/usr/local/apache/conf/httpd.conf最后面添加管理SVN的代码,让apache启动的时候自动加载SVN
<Location /svn> DAV svn SVNParentPath /usr/local/svn ##svn工程主目录位置,内部存放工程子目录,其下必须有刚才svnadmin create创建的工程子目录 AuthType Basic AuthName "welcome" AuthUserFile /usr/local/svn/svn-auth-file ##svn用户名、密码存放文件 #Require valid-user #AuthzSVNAccessFile /usr/local/svn/svn-access-file Require valid-user </Location> |
svn-auth-file是上一步生成的用户权限文件,用于控制对服务器的访问,内容如下:
yangyanjie:$apr1$Z.6/MGxF$fCt1XT68yilIcxqac/IMW0 |
svn-access-file是版本库的访问权限,用于控制对版本库的访问,内容如下:(这个还没弄明白)
5、给apache授权管理SVN
修改/usr/local/apache/conf/httpd.conf中的用户信息
把
User daemon Group daemon |
改为
User apache Group apache |
改为
把SVN版本库的管理权限授予apache用户
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/authmangement
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/boss
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/ccenter
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/crm
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/ctibd
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/ctidflow
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/ctidweb
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/ctidwebsite
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/huiyitongpt
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/hytConfWatch
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/information
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/newcenter
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/OA2009020010
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/operation
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/prm
[root@localhostsubversion]# chown -R apache:apache /usr/local/svn/questioncollection
客户端更改SVN服务器地址
1、TortoriseSVN客户端
修改地址:
2、EclipseSVN客户端
修改地址: