安装SVN
sudo yum install -y subversion
查询SVN
svnserve --version
创建SVN版本库
打开SVN版本库
cd /var/svn
自动生成SVN版本库文件
sudo svnadmin create /var/svn/svnrepos
打开svnrepos
cd svnreposls
目录
db |
存放所有的版本控制数据文件。 |
hooks |
放置hook脚本文件。 |
locks |
用来追踪存取文件库的客户端。 |
format |
一个文本文件,文件中只包含一个整数,表示当前文件库配置的版本号。 |
conf |
SVN版本库的配置文件(版本库的访问账号、权限等)。 |
命令修改(打开后用 i 键 编辑)
cd conf/sudo vim passwd
添加账号和密码的格式为:zhaosay = 123
设置账号权限
sudo vim authz
或者手动修改
[/]zhaosay=rw
修改配置
sudo vim svnserve.conf
或者找到配置,#号去掉,目录要对
anon-access = readauth-access = writepassword-db = passwdauthz-db = authzrealm = /var/svn/svnrepos
运行命令,启动服务,看是否正确
sudo svnserve -d -r /var/svn/svnrepos/
查看svn是否开启
ps -ef |grep svn
如果不是此目录,杀掉服务,再次重复启动
killall svnserve
阿里云特殊规则
出现“主机没有反应”可能有以下原因:
1.SVN服务器未启动
2.安全组中未开放SVN服务器所需端口
3.ECS实例开启了firewalld防火墙,但是未放行SVN服务器所需的端口
先看启动服务对不对
sudo svnserve -d -r /var/svn/svnrepos/
再看安全组规则
-
HTTP模式:开放22、80、443
-
svnserve模式:开放22、80、443、3690
另外要看firewalld防火墙
查看状态
sudo firewall-cmd --state
-
回显信息为
not running
说明firewalld防火墙未开启,对SVN服务器无影响。 -
回显信息为
running
说明firewalld防火墙已开启,请继续执行下一步。
放行端口
sudo firewall-cmd --add-port=3690/tcp --per
重载配置,启动生效
sudo systemctl reload firewalld
另外的辅助命令
查看端口是否被占用
fuser -n tcp 端口号