CentOS-6.3安装配置SVN

2021-07-09 11:33:46 浏览数 (1)

安装说明 系统环境:CentOS-6.5 安装方式:yum install (源码安装容易产生版本兼容的问题) 安装软件:系统自动下载SVN软件

检查已安装版本

检查是否安装了低版本的SVN

代码语言:javascript复制
[root@localhost /]# rpm -qa subversion

#卸载旧版本SVN

代码语言:javascript复制
[root@localhost /]# yum remove subversion

安装SVN

代码语言:javascript复制
[root@localhost /]# yum install subversion
PS:yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql(这是安装配合Apache的模块,你可以只装subversion,多装了也无所谓
[root@localhost /]# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
PS:yum install httpd httpd-devel subversion mod_dav_svn 

确认已安装了svn模块

代码语言:javascript复制
[root@localhost /]# cd /etc/httpd/modules
[root@localhost /]# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so

检查是否安装成功 检验已经安装的SVN版本信息

代码语言:javascript复制
[root@localhost /]# svnserve --version
代码语言:javascript复制
svnserve, version 1.6.11 (r934486)
   compiled Aug 17 2015, 08:21:51

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository back-end (FS) modules are available:

* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.

Cyrus SASL authentication is available.

代码库创建 SVN软件安装完成后还需要建立SVN库

代码语言:javascript复制
[root@localhost /]# mkdir -p /var/svn #我这里把版本库放在了var目录下的svn文件夹,方便管理  
[root@localhost /]# svnadmin create /var/svn/svnproject #我这里将svn作为所有版本库的目录,并创建了一个名为svnproject的版本库

执行上面的命令后,自动建立svnproject库,查看/var/svn/svnproject 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

说明: (1)svnserve.conf: svn服务综合配置文件。 (2)passwd: 用户名口令文件。 (3)authz: 权限配置文件

配置代码库 进入上面生成的文件夹conf下,进行配置

代码语言:javascript复制
[root@localhost /]# cd /var/svn/svnproject/conf

用户密码passwd配置

代码语言:javascript复制
[root@localhost password]# cd /var/svn/svnproject/conf
[root@admin conf]# vi   passwd

修改passwd为以下内容:

代码语言:javascript复制
[users]
# harry = harryssecret
# sally = sallyssecret
lwliang=123456

权限控制authz配置

代码语言:javascript复制
[root@admin conf]# vi   authz

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

代码语言:javascript复制
#设置[/]代表根目录下所有的资源 
[/]
lwliang=rw
服务svnserve.conf配置
[root@admin conf]# vi   svnserve.conf

追加以下内容:

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

配置防火墙端口

代码语言:javascript复制
[root@localhost conf]# vi /etc/sysconfig/iptables
添加以下内容: 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙 
[root@localhost conf]# service iptables restart

启动SVN

代码语言:javascript复制
svnserve -d -r /var/svn/svnproject

查看SVN进程

代码语言:javascript复制
[root@localhost conf]# ps -ef|grep svn|grep -v grep
root     12538     1  0 14:40 ?        00:00:00 svnserve -d -r /var/svn/svnproject

检测SVN 端口

代码语言:javascript复制
[root@localhost conf]# netstat -ln |grep 3690
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN

停止重启SVN

代码语言:javascript复制
[root@localhost password]# killall svnserve    //停止 
[root@localhost password]# svnserve -d -r /var/svn/svnproject  // 启动

测试 SVN服务已经启动,使用客户端测试连接。 客户端连接地址:svn://192.168.15.233 用户名/密码: lwliang/123456 测试创建文件夹等操作。

0 人点赞