centos7+svn1.7+apache2.4.6搭建http、https访问svn并鉴权

废话不多说,客官往下看。

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
输入第五步创建的用户名和密码即可


你可能感兴趣的:(java,apache,centos,SVN,subversion)