您的位置:首页 > 运维架构 > Linux

Linux安装配置SVN服务器

2016-03-20 22:12 477 查看
1、安装SVN服务器:

  首先检查Linux服务器上是否已经存在   

rpm -qa subversion


  安装SVN服务器

yum install subversion


  验证安装

cd /etc/httpd/module
ls | grep svn


  会出现:    

mod_authz_svn.so
mod_dav_svn.so


  查看安装svn版本   

svnserve -version


2、代码库建立

  安装完成后要建立SVN repos库

  首先建立相应路径文件夹

mkdir -p /opt/svn/repos
svnadmin create /opt/svn/repos


  执行后,自动建立repositories库,查看/opt/svn/repos文件夹包含了conf,db,format,hooks,locks,        README.txt等文件,说明一个SVN库已经建立。

3. 配置版本库:

  进入上面conf文件夹下,进行配置

cd /opt/svn/repos


a. 用户密码passwd配置:

vim passwd
[users]
# harry = harryssecret
lwz=123456


b. 权限控制authz配置:

vim authz


设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

[/]

lwz=rw  //给该用户访问所有库的权限

 或

[repos:/project]  //repos库的根目录权限

lwz=rw

/ 表示根目录及以下,根目录是svnserve启动时指定的,我们指定的是/opt/svn;/ 就是指对全部版本库都具有权限

repos:/ 表示对库repositories的根目录设置权限

* 权限配置文件中出现的用户名必须已在用户配置文件中定义。

* 对权限配置文件的修改立即生效,不必重启svn。 

c. 服务svnserve.con配置:

vim svnserve.conf

[general]
#匿名访问的权限--read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repos


所有标签不能错,也不能有重复,否则无法连接,如果为了安全起见,也可以直接将注释中的个标签解开,但是切记要将标签缩到顶格,如果前面有空格的话,是无法识别的(友情提示)。 

d. 配置防火墙端口(如果需要,有三种方式):

1、霸道式:

chkconfig iptables off #关闭防火墙,重启生效
2、临时式:

service iptables stop #关闭防火墙,临时生效,重启失效


3、正规式:

vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT#添加此行内容,后重启防火墙service iptables restart


4、启动SVN
svnserve -d -r /opt/svn/repos


5. 停止重启SVN:
killall svnserve //停止
svnserve -d -r /opt/svn/repositories // 启动


6. 测试连接:

使用TortoiseSVN进行测试:

  1. SVN服务启动后,需要使用客户端测试连接:

     客户端连接地址:svn://192.168.1.200;然后,输入用户名密码;

  2. 新建一个文件夹,即本地的库文件夹,右键checkout,将会得到一个隐藏文件夹.svn;

  3. 在此文件夹中放入项目内容,然后右键点击commit,就可以上传本地项目了。

7、SVN备份:   

svnadmin dump /var/svn/svnrepos >/var/svn/svnrepos.dump
8、SVN备份还原:

svnadmin load /var/svn/test <svnrepos.dump
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: