CentOS安装SVN服务器
在CentOS7 64位机器上配置SVN服务器,并设置允许HTTPS连接,可以配置多个repos源,每个源都拥有自己的组和成员,用于权限控制。
安装相关软件:
Apache
1 |
|
Subversion
1 |
|
SSL
1 |
|
创建版本库
1 |
|
修改SVN配置 /etc/httpd/conf.d/subversion.conf
1 |
|
用户文件passwd的内容只能通过htpasswd命令添加
如添加用户test
1 |
|
[groups]
manager = matx
developer = test
[/]
matx = rw
[sxpt:/]
@manager = rw
@developer = rw
1 |
|
cd /etc/pki/tls/private
openssl genrsa -out svn_server.key 1024
openssl req -new -key svn_server.key -out svn_server.csr
cd /etc/pki/tls/certs
openssl x509 -req -days 365 -in /etc/pki/tls/private/svn_server.csr -signkey /etc/pki/tls/private/svn_server.key -out svn_server.crt
1 |
|
SSLCertificateFile /etc/pki/tls/certs/svn_server.crt
SSLCertificateKeyFile /etc/pki/tls/private/svn_server.key
1 |
|
在最后面加上
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
1 |
|
systemctl restart httpd.service
1 |
|
svnserve -d -r /data/svndata
1 |
|
systemctl list-unit-files |grep crond
1 |
|
systemctl status crond
1 |
|
crontab -e
5 1 * * 0 sh /backup/svn_backup/svn-backup-full.sh
1 |
|
#!/bin/sh
SVN_HOME=/usr/bin/
SVN_ADMIN=$SVN_HOME/svnadmin
SVN_LOOK=$SVN_HOME/svnlook
SVN_REPOROOT=/data/svndata/svn/sxpt
SVN_BACKUP=/backup/svn_backup/
date=$(date ‘+%Y-%m-%d_%H:%M:%S’)
RAR_STORE=/backup/svn_backup/$date
if [ ! -d “$RAR_STORE” ];then
mkdir -p $RAR_STORE
fi
$SVN_ADMIN dump $SVN_REPOROOT > $RAR_STORE/sxpt.dump
```