美文网首页
利用Nginx+Subversion搭建SVN http协议服务

利用Nginx+Subversion搭建SVN http协议服务

作者: Evan_Zhang_AU | 来源:发表于2020-02-28 20:51 被阅读0次

大概步骤

  1. 搭建svn服务
  2. 使用Apache HTTP服务将svn协议转成http协议
  3. nginx转发http请求到apache http服务

详细步骤

  1. 安装必要程序
yum install httpd subversion mod_dav_svn -y
  1. 创建svn库
mkdir -p /svn/project
svnadmin create /svn/project
cd /svn/project/conf/
  1. 增加用户名和密码
vi passwd
  1. 配置用户组和使用权限
vi authz 
  1. 配置svnserve.conf
anon-access = none#匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /svn/project # 认证空间名,版本库所在目录

6 .启动svn

svnserve -d -r /svn/project
# 停止svn:killall svnserve
# 如果提示找不到killall:yum install psmisc
  1. 设置为自启动
systemctl enable svnserve
  1. 在httpd下创建svn.conf配置文件
cd /etc/httpd/conf.d/
vi svn.conf

增加如下内容

<Location /svn/project>
        DAV svn
        SVNPath /svn/project
        AuthType Basic
        AuthName "Authorization Realm"
        AuthUserFile /svn/project/conf/passwdfile
        AuthzSVNAccessFile /svn/project/conf/authz
        Require valid-user
        SVNAdvertiseV2Protocol Off
</Location>
  1. 配置http用户名密码认证文件/svn/project/conf/passwdfile
# -c表示创建 -m表示密码用md5加密,这里的用户名密码要跟passwd保持一致,需要根据提示输入两次密码
htpasswd -c /svn/project/conf/passwdfile user1
htpasswd /svn/project/conf/passwdfile user2
htpasswd -b /svn/project/conf/passwdfile user2 password 不必再次输入密码
  1. 配置/etc/httpd/conf/httpd.conf
service iptables stop && setenforce 0
vim /etc/httpd/conf/httpd.conf
# 这里需要配置Listen和ServerName
Listen = 86
ServerName = 127.0.0.1:86
  1. 重启httpd服务
systemctl restart httpd
# 或httpd -k start/restart
  1. 配置nginx
vim /usr/local/nginx/conf/nginx.conf

增加 location /svn/project

server {
    listen       80;
    server_name localhost ;
 
    location /svn/project {
        proxy_pass  http://127.0.0.1:86/svn/project;
        # 上传文件不能超过100m
        client_max_body_size 100m;
    }
 
    location / {
        return 404;
    }
}
  1. 重启nginx
nginx -s reload
  1. 可配置多个仓库
    /etc/httpd/conf.d/svn.conf中增加多个Location节点,nginx中增加对应location

相关文章

网友评论

      本文标题:利用Nginx+Subversion搭建SVN http协议服务

      本文链接:https://www.haomeiwen.com/subject/yvyrhhtx.html