废话不多说,客官往下看。
1、安装 svn 及 依赖
yum install mod_dav_svn subversion
2、创建版本库
svnadmin create /data/svndata/rd
不出意外,此时,可以用 svn://协议访问了
3、安装apache
yum -y install httpd
4、修改第二步创建的版本库配置文件
[general]
anon-access = none
auth-access = write
password-db = /data/svndata/passwd.conf #httpd鉴权使用
authz-db = /data/svndata/authz.conf #svn版本库权限文件
realm = rd #版本库
# force-username-case = none
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256
5、创建第四步提到的鉴权文件并添加一个用户
touch /data/svndata/passwd.conf
htpasswd -c /data/svndata/passwd.conf unclecode #添加第二个用户的时候,不要-c,否则会被覆盖
6、创建第四步提到的svn版本库权限文件
vi /data/svndata/authz.conf
[groups]
rd= unclecode
[rd:/]
@rd=rw
7、http 方式
vi /etc/httpd/conf/httpd.conf
Listen 8088
vi /etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath /data/svndata
AuthType Basic
AuthName "Authorization"
AuthUserFile /data/svndata/passwd.conf
AuthzSVNAccessFile /data/svndata/authz.conf
Require valid-user
</Location>
启动 apache: systemctl restart httpd.service
启动svn : svnserve -d -r /data/svndata/
8、http方式看效果
http://127.0.0.1:8088/svn
输入第五步创建的用户名和密码即可
9、https 方式
9.1、安装openssl
yum install mod_ssl openssl
9.2、生成证书
cd /etc/pki/tls/private
openssl genrsa -out svn_server.key 1024
openssl req -new -key my.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
9.3、配置apache ssl
vi /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/svn_server.crt
SSLCertificateKeyFile /etc/pki/tls/private/svn_server.key
vi /etc/httpd/conf.d/subversion.conf
</Location> 前添加一行
SSLRequireSSL
vi /etc/httpd/conf/httpd.conf
最下面加2行
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
10、重启apache
systemctl restart httpd.service
11、https方式看效果
https://127.0.0.1:8088/svn
输入第五步创建的用户名和密码即可