1.安装
yum -y install subversion
2.配置
创建svn资源目录
mkdir /var/svn/svnrepos
创建svn版本库
svnadmin create /var/svn/svnrepos/xxx
xxx代表自定义版本库的名称,结果如下
进入conf目录,将authz和passwd两个文件移动到svnrepos目录下
mv authz …/…/
mv passwd …/…/
修改svnserve.conf文件
vim svnserve.conf
配置如下:
[general]
anon-access = none
auth-access = write
password-db = ../../passwd
authz-db = ../../authz
realm = project1 #自定义你的资源名
# force-username-case = none
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256
开启修改备注功能,进入hooks目录下
cp pre-revprop-change.tmpl pre-revprop-change
chmod +x pre-revprop-change
配置用户名密码
vim /var/svn/svnrepos/passwd
[users]
ld = ld
wn = wn
xl = xl
ls = ls
#配置用户账户,等号前为用户名,等号后为密码
添加权限
vim /var/svn/svnrepos/authz
[groups]
group1 = ld,ls
[dianzanlib:/]
@dianzan4 = rw
wn = r
xl =
ld与ls同在group1组中,并且对dianzanlib资源有读写权限。wn用户只有读的权限。xl对该目录及子目录没有任何访问权限
3.启动
手动启动
svnserve -d -r /var/svn/svnrepos
配置到开机项自动启动。检查该文件是否存在,否则创建
vim /lib/systemd/system/svnserve.service
[Unit]
Description=Subversion protocol daemon
After=syslog.target network.target
[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/svnserve
ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS
[Install]
WantedBy=multi-user.target
看到需要用 daemon用户启动,命令行执行:
systemctl daemon-reload
配置$OPTIONS参数
vim /etc/sysconfig/svnserve
将 OPTIONS="-r /var/svn" 改为 svn 版本库存放的目录
OPTIONS="-r /var/svn/svnrepos"
启动服务
systemctl enable svnserve.service
4.访问
用svn客户端连接
svn://ip/dianzanlib
如果报这样的错:svn: E204900: Can’t open file ‘/var/svn/wangwa/format’: Permission denied的错误。那就是与SELinux有关系,先把SELinux关闭吧
临时关闭
sudo setenforce 0
永久关闭
sudo vim /etc/sysconfig/selinux
修改:
SELINUX = disable