SVN服务器搭建

1. 搭建步骤

按照此步骤进行搭建:

部署和使用SVN

2. 注意事项

2.1 配置authz和passwd文件

主要是[svnrepos:/]这一行很重要,权限规则必须写在[路径]节点下,如[/][repo:/branch]等。

[svnrepos:/]
# * = r
albert = rw

或者:

[groups]
test_group = urs1,urs2,urs3

[svnrepos:/]
@test_group = rw

实际问题1:搭建svn服务器的Linux服务器下电后,再次上电重启,发现svn服务器连接不上。出问题的为authz文件。

  • 解决方案:authz文件的[svnrepos:/]对应启动服务时的/var/svn[/]对应/var/svn/svnrepos

2.2 配置3690端口

/etc/sysconfig/iptables中修改对应的3690端口:

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

在配置端口时有一个小Tips:

[root@localhost svnrepos]# ss -tuln | grep 3690
tcp   LISTEN 0      128                                   0.0.0.0:3690      0.0.0.0:*
[root@localhost svnrepos]# netstat -tuln | grep 3690
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN

为什么显示这个,还要再在iptables中配3690?

  • 因为这两条命令是在说svnserve 服务已经在 0.0.0.0:3690 上成功监听,等待客户端连接。但实际上防火墙依旧阻止了该端口的流量。

2.3 修改文件权限

通过chmod 644 /var/svn/svnrepos/conf/authz命令修改文件权限,修改完后应显示为下列状态:

-rw-r--r--. 1 root root 1057 Aug  7 17:35 /var/svn/svnrepos/conf/authz

2.4 启动svn服务

svnserve -d -r /var/svn/ --log-file=/var/svn/svn.log    # 加日志打印,此时authz文件对应的是[svnrepos:/]
ps aux |grep svnserve

3. 更新仓库

3.1 添加新文件

1、创建一个临时工作副本

svn checkout svn://server_ip/svnrepos /backup_dir
cd /backup_dir

2、在工作副本中创建并添加新文件夹

mkdir test
svn add test/
svn commit -m "Added new folder test"

3、完成后,删除临时工作副本

cd ..
rm -rf /backup_dir

3.1 删除文件

1、创建一个临时工作副本

svn checkout svn://server_ip/svnrepos /backup_dir
cd /backup_dir

2、在工作副本中删除文件夹

svn delete path/to/file/
svn commit -m "Delete folder path/to/file"
posted @ 2025-08-08 11:20  midorii  阅读(13)  评论(0)    收藏  举报