centos7 安装配置svn

1、yum安装

[root@3c5dc52d25fe ~]# yum install subversion -y
[root@3c5dc52d25fe ~]# rpm -qa|grep sub
subversion-libs-1.7.14-14.el7.x86_64
subversion-1.7.14-14.el7.x86_64
svnserve --version
svnserve, version 1.7.14 (r1542130)
   compiled Apr 11 2018, 02:40:28
   ...

2、创建目录作为项目仓库

/data/project/demo
/data/project/toyix


[root@3c5dc52d25fe ~]# mkdir -p /data/project/demo
[root@3c5dc52d25fe ~]# svnadmin create /data/project/demo 
[root@3c5dc52d25fe ~]# ll /data/project/demo/
total 8
-rw-r--r-- 1 root root 229 Sep  3 08:50 README.txt
drwxr-xr-x 2 root root  54 Sep  3 08:50 conf
drwxr-sr-x 6 root root 233 Sep  3 08:50 db
-r--r--r-- 1 root root   2 Sep  3 08:50 format
drwxr-xr-x 2 root root 231 Sep  3 08:50 hooks
drwxr-xr-x 2 root root  41 Sep  3 08:50 locks

[root@3c5dc52d25fe ~]# mkdir -p /data/project/toyix
[root@3c5dc52d25fe ~]# svnadmin create /data/project/toyix/

3、配置代码库

1)、设置SVN用户及口令:

修改文件passwd,设置哪些用户可以访问SVN资源库,
进入上面生成的文件夹conf下,进行配置:

[root@3c5dc52d25fe ~]# vim /data/project/demo/conf/passwd 
[users]
# harry = harryssecret
# sally = sallyssecret
admin = admin
user = 123456
user2 = 123456
demo = demo
toyix = 123456
[root@3c5dc52d25fe ~]# vim /data/project/toyix/conf/passwd 
[users]
# harry = harryssecret
# sally = sallyssecret
admin = admin
user = 123456
user2 = 123456
demo = demo
toyix = 123456
# 这样创建了几个用户,以上语句必须顶格写,左侧不能留有空格
2)、设置权限

修改authz文件,设置哪些用户有什么权限访问哪些目录

[root@3c5dc52d25fe ~]# vim /data/project/demo/conf/authz 
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

# [/foo/bar]
# harry = rw
# &joe = r
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
admin = admin,user,user2	定义admin组
[/]
@admin = rw			admin组中成员可写
toyix = r			toyix只读



[root@3c5dc52d25fe ~]# vim /data/project/toyix/conf/authz 
admin = admin,user,user2
[/]
@admin = rw
toyix = r
注:所有语句必须顶格写,左侧不能留空格,否则会报错

3)、设置配置文件 svnserve.conf
[root@3c5dc52d25fe ~]# cp /data/project/demo/conf/svnserve.conf{,.bak}
[root@3c5dc52d25fe ~]# cat /data/project/demo/conf/svnserve.conf.bak |grep -vE '#|^$' >/data/project/demo/conf/svnserve.conf
[general]
# 匿名访问权限,可以是read,write,none,默认为read
anon-access = none
#授权用户有写权限
auth-access = write
# 密码数据库的路径
password-db = passwd
#访问控制文件
authz-db = authz
# 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = My First Repository
# 以上语句都必须定格写,左侧不能留有空格



[root@3c5dc52d25fe ~]# vim /data/project/toyix/conf/svnserve.conf
[general]
# 匿名访问权限,可以是read,write,none,默认为read
anon-access = none
#授权用户有写权限
auth-access = write
# 密码数据库的路径
password-db = passwd
#访问控制文件
authz-db = authz
# 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = My First Repository
# 以上语句都必须定格写,左侧不能留有空格

4、启动SVN服务:

svnserve -d -r /project/demo 或者
/etc/init.d/svnserve restart

1)带 -d 选项即可以作为一个单独的守护进程运行,-r 选项可以指定发布哪个目录下的版本库;

2)一旦服务器运行,就在默认端口3690进行监听,使用 telnet 可以测试到 3690 端口已经开放了

3)若需更改SVN服务默认端口:

查看端口使用情况:netstat -antp

启动svn和指定端口的方法是:svnserve -d --list-port 3700 -r /project/demo

[root@3c5dc52d25fe ~]# svnserve -d -r /data/project/demo
[root@3c5dc52d25fe ~]# svnserve -d --listen-port 3700 -r /data/project/toyix

[root@3c5dc52d25fe ~]# ps -ef|grep svn
root       216     1  0 09:41 ?        00:00:00 svnserve -d -r /data/project/demo
root       247     1  0 09:45 ?        00:00:00 svnserve -d --listen-port 3700 -r /data/project/toyix
root       291    82  0 10:01 pts/0    00:00:00 grep --color=auto svn
[root@3c5dc52d25fe ~]# netstat -tnlp|grep svn
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      216/svnserve        
tcp        0      0 0.0.0.0:3700            0.0.0.0:*               LISTEN      247/svnserve 

访问地址
svn://192.168.1.171/data/project/demo
svn://192.168.1.171:3700/data/project/toyix

--------------------end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 CentOS 7 中安装 Subversion (SVN) 需要几个步骤,因为默认仓库管理工具不是 SVN。以下是详细的安装过程: 1. **更新包列表并安装依赖**: ``` sudo yum update -y sudo yum install -y curl-devel expat-devel gettext-devel openssl-devel apr-util-devel apr-devel ``` 2. **下载并配置 Apache HTTP Server** (用于作为 SVN 服务器的前端): ``` sudo yum install httpd mod_dav_svn -y ``` 启动并设置为开机启动: ``` sudo systemctl start httpd sudo systemctl enable httpd ``` 3. **安装 SVN**: ``` sudo yum install subversion -y ``` 4. **配置 SVN**: 打开 SVN配置文件 `httpd.conf` 或者找到 `conf.d/subversion.conf` (取决于你的 Apache 版本),通常位于 `/etc/httpd/conf.d/` 目录下。添加以下内容,如果不存在则需要手动创建: ```bash LoadModule dav_svn_module /usr/lib64/httpd/modules/mod_dav_svn.so <Location /repos> DAV svn SVNParentPath /path/to/repositories AuthType Basic AuthName "Subversion Repositories" AuthUserFile /path/to/svn-auth-file </Location> ``` 其中 `/path/to/repositories` 是 SVN 存储库的实际路径,`/path/to/svn-auth-file` 是存放用户名和密码的文件。 5. **设置 SVN 用户权限**: 创建一个 SVN 用户组和文件权限: ``` sudo useradd -R svn-user:svn-user /path/to/repositories sudo chmod -R g+rwx,o= /path/to/repositories ``` 6. **配置 SVN 认证文件**: 使用 `htpasswd` 工具创建认证文件,例如 `/path/to/svn-auth-file`: ``` sudo htpasswd -c /path/to/svn-auth-file username ``` 按提示输入新用户的密码。 7. **重启 Apache** 服务以应用更改: ``` sudo systemctl restart httpd ``` 现在你应该可以访问 `http://your-server-ip/repos` 来使用 SVN 了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值