docker配置之svn

镜像

权限控制

权限采用了Apache的SVN模块来控制,配置方式与上面的官方文档存在不一致。

问题

  1. 用户组和repository权限配置与文档一致。
  2. 用户密码的配置完全不一样。

通过分析/etc/apache2/mods-enabled/dav_svn.conf

<Location /svn/>
    DAV svn
    SVNParentPath /var/local/svn/
    SVNListParentPath on

    AuthzSVNAccessFile /etc/apache2/dav_svn/dav_svn.authz

    Satisfy any
    Require valid-user
    AuthType Digest
    AuthName "Subversion"
    AuthUserFile /etc/apache2/dav_svn/dav_svn.passwd
</Location>

我们了解到认证使用的是Digest类型,而上面文档提到的htpasswd 生成的密码只适用于Basic类型,我们需要用htdigest来生成密码。还有这个镜像中也没有安装htpasswd。

解决方案

安装apache2-utils

htdigest和htpasswd都包含在apache2-utils中

apt-get install apache2-utils
添加密码
htdigest  ./dav_svn.passwd "Subversion" user

输密码输两次就好了。
htdigest 命令和htpasswd用法基本一致

htdigest [ -c ] passwdfile realm username

realm就对应上面的AuthName

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容