svn集成ldap

参考文章

http://solin.blog.51cto.com/11319413/1918718 基本搭建

http://lansgg.blog.51cto.com/5675165/1844836

http://www.361way.com/subversion-apache-ldap/2863.html svn集成ldap

http://jiyude.blog.51cto.com/7582964/1730447   SVN服务器集群(基于LDAP)

http://zengestudy.blog.51cto.com/1702365/1911179

http://ly36843.blog.51cto.com/3120113/1673892  这篇ldap讲的最详细

基本安装

使用web方式访问svn

svn集成ldap,先参照git集成ldap(这个之前做过)

基本安装
svn版本1.6 

yum -y install subversion
mkdir -p /application/svndata
mkdir -p /application/svnpasswd
svnserve -d -r /application/svndata/  启动
lsof -i tcp:3690
svnadmin create /application/svndata/sadoc
ll /application/svndata/sadoc/
配置允许用户solin读写访问
cd /application/svndata/sadoc/conf/
/bin/cp svnserve.conf svnserve.conf.solin$(date +%F)
egrep "\-access|\-db =" svnserve.conf
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
[[email protected] conf]# egrep "\-access|\-db =" svnserve.conf
# anon-access = none   #不允许匿名访问
# auth-access = write  #允许可写
# password-db = /application/svnpasswd/passwd  #密码数据库,存放SVN吗
# authz-db = /application/svnpasswd/authz      #控制权限的数据库
[[email protected] conf]# egrep "\-access|\-db =" svnserve.conf
# anon-access = read
anon-access = none
# auth-access = write
auth-access = write
# password-db = passwd
password-db = /application/svnpasswd/passwd
# authz-db = authz
authz-db = /application/svnpasswd/authz
[[email protected] conf]# diff svnserve.conf.solin2017-04-20 svnserve.conf
12a13
> anon-access = none
13a15
> auth-access = write
20a23
> password-db = /application/svnpasswd/passwd
27a31
> authz-db = /application/svnpasswd/authz
配置authz、passwd证书文件
[[email protected] conf]# cp authz passwd /application/svnpasswd/
[[email protected] conf]# ll /application/svnpasswd/
总用量 8
-rw-r--r-- 1 root root 1080 4月  20 17:22 authz
-rw-r--r-- 1 root root  309 4月  20 17:22 passwd
[[email protected] conf]# chmod 700 /application/svnpasswd/*
[[email protected] conf]# ll /application/svnpasswd/
总用量 8
-rwx------ 1 root root 1080 4月  20 17:22 authz
-rwx------ 1 root root  309 4月  20 17:22 passwd

vi /application/svnpasswd/authz
添加如下:
[groups]
bd_sa = solin,test
# [/foo/bar]
[sadoc:/]
# [repository:/baz/fuz]
@bd_sa = rw
test1 = r

vi /application/svnpasswd/passwd
添加如下:
[users]
solin = bdyun
test = bdyun

pkill svnserve
svnserve -d -r /application/svndata/
使用web方式访问svn
yum -y install httpd httpd-devel
yum -y install mod_dav_svn mod_auth_mysql 
vim /etc/httpd/conf/httpd.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /home>
  DAV svn
  SVNPath /var/www/html/svna/home
</Location>

权限控制
htpasswd -c /etc/svnpwd/svnpwdfile svnpwduser01
mkdir /etc/svnpwd
htpasswd -c /etc/svnpwd/svnpwdfile svnpwduser01

AuthType Basic
AuthName "svn repos"
AuthUserFile /etc/svnpwd/svnpwdfile
Require valid-user

我的svn是单独一台机器的,ldap一台机器

先参考以前git做的

cd /opt/git/gitlab/config

cat gitlab.yml|grep -v "#"

production: &base

  gitlab:
    host: 内部域名

    email_from: [email protected]
    email_display_name: GitLab
    email_reply_to: [email protected]

    default_projects_features:
      issues: true
      merge_requests: true
      wiki: true
      snippets: false

  incoming_email:
    enabled: false
    address: "incoming+%{key}@gitlab.example.com"

  gravatar:

  gitlab_ci:

  ldap:
    enabled: true
    servers:
        label: ‘LDAP‘

        host: ‘ldap ip‘
        port: 389
        uid: ‘uid‘
        bind_dn: ‘cn=gitlab,ou=People,dc=xx,dc=com‘
        password: ‘gitlab密码‘
          
        active_directory: false

        allow_username_or_email_login: true

        block_auto_created_users: false

        base: ‘dc=xx,dc=com‘

        user_filter: ‘‘

        attributes:
          username: [‘uid‘, ‘userid‘, ‘sAMAccountName‘]
          email:    [‘mail‘, ‘email‘, ‘userPrincipalName‘]

          name:       ‘cn‘
          first_name: ‘givenName‘
          last_name:  ‘sn‘

  omniauth:
    enabled: false

    allow_single_sign_on: false
    block_auto_created_users: true
    auto_link_ldap_user: false

    providers:

  satellites:
    path: /opt/git/gitlab-satellites/
    timeout: 30

  backup:

  gitlab_shell:
    path: /opt/git/gitlab-shell/

    repos_path: /opt/git/repositories/
    hooks_path: /opt/git/gitlab-shell/hooks/

    secret_file: /opt/git/gitlab/.gitlab_shell_secret

    upload_pack: true
    receive_pack: true

  git:
    bin_path: /opt/soft/git/bin/git
    timeout: 100

  extra:

  rack_attack:
    git_basic_auth:

development:
  <<: *base

test:
  <<: *base
  gravatar:
    enabled: true
  gitlab:
    host: 内部域名
    port: 80

  satellites:
    path: tmp/tests/gitlab-satellites/
  backup:
    path: tmp/tests/backups
  gitlab_shell:
    path: tmp/tests/gitlab-shell/
    repos_path: tmp/tests/repositories/
    hooks_path: tmp/tests/gitlab-shell/hooks/
  issues_tracker:
    redmine:
      title: "Redmine"
      project_url: "http://redmine/projects/:issues_tracker_id"
      issues_url: "http://redmine/:project_id/:issues_tracker_id/:id"
      new_issue_url: "http://redmine/projects/:issues_tracker_id/issues/new"
  ldap:
    enabled: true
    servers:
      main:
        label: ldap
        host: ldap ip
        port: 389
        uid: ‘uid‘
        base: ‘dc=xx,dc=com‘
        user_filter: ‘‘
        bind_dn: ‘cn=xx,ou=People,dc=xx,dc=com‘
        password: ‘xx密码‘
        admin_group: ‘‘
        sync_ssh_keys: false

staging:
  <<: *base

apache配置

[[email protected] conf.d]# cat subversion.conf |grep -v "#"
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /svn/>
        DAV svn
        SVNListParentPath on
        SVNParentPath /application/svndata
        AuthBasicAuthoritative on
        AuthType Basic
        AuthName "svn"
        AuthBasicProvider ldap
        AuthzLDAPAuthoritative    off
        AuthLDAPURL    "ldap://ldap ip:389/ou=People,dc=xx,dc=com?uid?sub?(objectClass=*)"
        AuthLDAPBindDN "cn=xx,ou=People,dc=xx,dc=com"
        AuthLDAPBindPassword "xx密码" #xx在ldap服务器上有本地用户
        AuthzSVNAccessFile /etc/httpd/conf/svnauthz.conf
        Require valid-user
</Location>

cat /etc/httpd/conf/svnauthz.conf
[groups]
admin = one
[/]
@admin = rw
#[test:/]
two = r

最后权限的问题,不知道是否需要chown -R apache.apache /application/*

时间: 2024-11-05 12:15:30

svn集成ldap的相关文章

liferay 集成ldap

1.下载并安装(Active direcotry 下面统一为AD) https://directory.apache.org/studio/download/download-windows.html http://directory.apache.org/apacheds/download/download-windows.html 2.安装完成后启动apacheDs服务和LDAP管理,如果遇到无法启动的问题,可以查看本文的问题解决方案 3.配置一个新的连接: 4.填写相关的信息,connec

SVN使用LDAP认证

完成了openldap的配置之后,为了更进一步的进行用户统一身份认证,所以需要配置SVN使用openldap进行认证,这样的话只需要维护ldap中的用户数据,然后在SVN上进行服务授权即可完成SVN的用户权限分配.同样的,这个配置也适合于其他的软件,比如vsftpd,ssh,openvpn等,下面开始配置SVN使用ldap认证. 1.安装sasl SASL全称Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制. SASL是一个

Zeppelin集成LDAP的部署和实践

环境信息: Zeppelin版本:0.7.0 Kylin版本:1.6.0 Zeppelin部署: 1.      修改$ZEPPELIN_HOME/conf/shiro.ini文件,配置Zeppelin集成LDAP: ### A sample for configuring LDAP DirectoryRealm ldapRealm = org.apache.zeppelin.realm.LdapGroupRealm ## search base for ldap groups (onlyrel

svn+ apache + ldap 配置

svn+ apache + ldap 配置: <Location /> # Uncomment this to enable the repository DAV svn # Set this to the path to your repository #SVNPath /var/lib/svn # Alternatively, use SVNParentPath if you have multiple repositories under # under a single directo

Samba集成Ldap认证

Samba集成Ldap认证 1.基础安装 yum -y install samba-common samba samba-client smbldap-tools  openldap-clients  nss-pam-ldapd 2.配置authconfig-tui 执行命令 "authconfig-tui" 验证配置 # getent passwd zhangsan:x:6460:18650:zhangsan:/home/zhangsan:/bin/bash  #此账户为LDAP用户

ldap配置系列二:jenkins集成ldap

ldap配置系列二:jenkins集成ldap jenkins简介 jenkins是一个独立的.开放源码的自动化服务器,它可以用于自动化与构建.测试.交付或部署软件相关的各种任务. jenkins官方文档: https://jenkins.io/doc/ jenkins安装 jenkins下载地址: https://jenkins.io/download/ # jdk1.8下载 [[email protected]_0_15_centos local]# wget http://download

gitlab集成ldap

出于公司账号太多的缘故,遂萌生了gitlab集成ldap的念头.ldap在此不做描述,推荐用docker镜像安装,简单了事.gitlab集成ldap比较简单只需修改gitlab配置文件:/etc/gitlab/gitlab.rb .....(中间配置不动,此处省略) 注意:uid:由于我的ldap用户全是英文,所以我的值是cn,此处没配置好,登录最易报错. 配置完成后,gitlab-ctl reconfigure 即可. 检查ldap用户: gitlab-rake gitlab:ldap:che

Jenkins+sonar+tomcat+SVN集成搭建

一. 文档说明 本文档用于说明Jenkins+tomcat+sonar+SVN集成分析代码的搭建过程和可能遇到的问题及问题的相关解决办法:本文档针对内部人员公开,搭建过程中一些工作是为远程访问Jenkins.sonar而做,若是在本地服务器搭建则不需要做相关工作:Jenkins和sonar的搭建环境为Linux.mysql.jdk1.7.jenkins.sonar4.5等,相关的版本说明会在后续文档中详细描述. 二. jdk1.7安装 1. 准备jdk安装包 去官方网站选择你需要的版本,下载rp

Rancher 部署Grafana+项目监控并集成LDAP

业务服务暴露了prometheus的指标,现需要获取该指标值,并用grafana进行展示,并集成ldap验证登入grafana 1.启动监控 在rancher对应的业务的项目下启用监控,工具 -> 监控.在服务列表中能够找到两个服务,这两个服务都可以访问prometheus数据. http://access-prometheus http://expose-prometheus:8080 2.部署Grafana 镜像 grafana/grafana:6.5.1 密文:grafana GF_SEC