svn http ad域

本文详细介绍了如何在CentOS环境下安装配置Subversion (SVN) 与 Apache HTTP Server,并实现与Active Directory (AD) 域的整合,以简化用户认证流程,同时保留SVN的权限管理功能。文章涵盖了依赖包安装、Apache与SVN的配置步骤,以及解决常见问题的方法。
摘要由CSDN通过智能技术生成

svn本地添加用户太麻烦了,如果公司有一百个开发人员要访问,要创建账号密码太麻烦了;所以让他们用AD域账号去登录就很方便,但是权限的管控还是在svn的本地添加(这个暂时还没办法很好的解决)

一、安装依赖包和模块包

  1、域环境已经配置好的,域名example.com

  2、安装本地依赖包和第三方包:

  • #yum -y install openssl  perl perl* pcre  zlib  tree gcc gcc-c++ make libtool pcre-devel lrzsz zlib-devel openssl-devel neon openldap-devel
  • 安装apr

   # tar zvxf  apr-1.5.2.tar.gz

   #cd apr-1.5.2

   #./configure  --prefix=/usr/local/apr

   #make && make install

  • 安装apr-util

   #tar zxvf apr-util-1.5.4.tar.gz

   #cd apr-util-1.5.4

   #./configure --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr

   #make && make install

   #/usr/local/apr-util/bin/apu-1-config  --version   检测apr-util是否安装成功

  • 安装pcre

   #tar zxvf pcre-8.35.tar.gz

   #cd pcre-8.35

   #./configure --prefix=/usr/local/pcre

   #make && make install

  • 安装openssl

   #tar zvxf openssl-1.0.2c.tar.gz
   #cd openssl-1.0.2c
   #./config --prefix=/usr/local/openssl
   #make  && make install

  • 安装sqlite

   #tar zvxf sqlite-autoconf-3080500.tar.gz
   #cd sqlite-autoconf-3080500
   #./config
   #make  && make  install 

  • 安装dap

   #tar zvxf dap-3.9.tar.gz
   #cd dap-3.9.tar.gz
   #./configure

   #make  && make install

  • 安装libtool

   #tar zvxf libtool libtool-2.4.6.tar.gz
   #cd libtool-2.4.6
   #./configure

   #make && make install 

二、安装http

  #tar zvxf httpd-2.4.6.tar.gz
  #cp -rf ./apr-1.5.2  ./httpd-2.4.6/srclib/apr
  #cp -rf ./apr-util-1.5.4  ./httpd-2.4.6/srclib/apr-util  需要apr和apr-utils并解压到 ./srclib/ 目录下, 再进行编译。
  #cd httpd-2.4.6
  #./configure --prefix=/usr/local/apache --enable-ldap=shared --enable-authnz-ldap=sahred --with-included-apr --with-ldap --with-apr --with-apr-util --enable-so --enable-dav --enable-rewrite=shared --enable-ssl=shared --enable-deflate=shared --enable-authn-dbm=shared --enable-authn-anon=shared --enable-auth-basic=shared  --with-mpm=prefork --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache

  ./configure --prefix=/usr/local/apache --enable-ldap --enable-authnz-ldap --with-included-apr --with-ldap --with-apr --with-apr-util --enable-so --enable-dav --enable-rewrite --enable-ssl --enable-deflate=shared --enable-authn-dbm --enable-authn-anon --enable-auth-basic  --with-mpm=prefork --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache

   #make && make install

   #ln -s /usr/local/apache  /etc/httpd

   #rmdir /etc/httpd/logs

   #mkdir /var/log/httpd

   #ln -s  /var/log/httpd  /etc/httpd/logs

   #rm /etc/rc.d/init.d/http

   #cp /usr/local/apache/bin/apachectl  /etc/rc.d/init.d/httpd

   #/etc/init.d/httpd start

   #netstat -ntlp | grep httpd   查看http的端口是否开启

   

三、安装svn

  #tar zvxf subversion-1.8.13.tar.gz
  #cd subversion-1.8.10
  # ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apache --with-apr-util=/usr/local/apache  --with-zlib

    #make  && make install

    #cd ~
    #vim .bash_profile
  #PATH=$PATH:$HOME/bin:/usr/local/subversion/bin
     #source .bash_profile 

  #mkdir -p /var/www/svn

  #svnadmin create /var/www/svn/repo1 

  #chown -R apache:apache /var/www/svn/repo1    增加一个站点

  

  #vim /var/www/svn/repo1/conf/svnserve.conf    修改4个点

  

  #vim /var/www/svn/repo1/conf/passwd  添加两个用户密码

  

  #vim /var/www/svn/repo1/conf/authz  设置权限

  

  #svnserve -d -r /var/www/svn/repo1

  #ps aux | grep svn  查看是否正常启动

  

  可以用svn客户端测试一下:

  

 

四、http和svn的合用

  #cp /usr/local/subvesion/libexec/mod_authz_svn.so  /usr/local/apache/modules/mod_authz_svn.so

  #cp /usr/local/subvesion/libexec/mod_dav_svn.so  /usr/local/apache/modules/mod_dav_svn.so

  #vim /etc/httpd/conf/httpd.conf    添加修改以下项

  

  #svnadmin create /var/www/svn/svntest

  #cp /var/www/svn/svntest/conf/authz  /var/www/svn/

  #touch /var/www/svn/passwd

  #htpasswd /var/www/svn/passwd  svntest

  #htpasswd /var/www/svn/passwd  svnuser    web登录密码设置

  

  #vim /var/www/svn/authz     权限设置

  

  #chown -R  apache:apache  /var/www/svn/svntest

  #vim /etc/httpd/conf/httpd.conf    http配置文件添加访问svn站点

    

Centos7 重新启动httpd服务的时候出现了如下问题:

分析了一下问题,发现启动失败的原因是无法加载 modules/mod_dav_svn.so 。当查看/etc/httpd/modules中的文件时发现缺失了mod_dav_svn.so 。

解决方法如下:直接安装加载mod_dav_svn

安装过程输入y即可执行安装。

当安装完成后,查看/etc/httpd/modules中已存在缺失的so文件:

然后重新启动httpd服务即可。

 

   登录网页测试一下 http://ip/svntest/svntest   第一个svntest是http配置文件的Location后面那个/svntest;第二个svntest才是svn服务器在本地create的站点

  

五、http、svn和AD域的合用

  #cat  /etc/hosts

  

  #cat /etc/resolv.conf

  

  #vim /etc/httpd/conf/httpd.conf

  

  

  在域服务器上添加ou及用户  

  

   登录网页测试一下 http://ip/svntest/svntest  ok啦!

 可能会出现的错误:

1、上传文件时,出现以下报错

  解决方法:创建仓库时

      

      加上--pre-1.6-compatible

2、可能会提示没有权限访问db

  使Apache用户有访问仓库的权限

  

3、最重要的一点,httpd.conf文件中,以下两个区别很重要!!!!!!

  SVNPath F:/SvnData/4rims    定义到具体仓库位置
  SVNParentPath F:/SvnData    定义多个仓库

在CentOS上实现SVN与Active Directory(AD)的同步,可以按照以下步骤进行操作: 1. 首先,确保已经安装了subversion和svnserve。可以使用以下命令进行安装: ``` yum -y install subversion svnserve ``` 2. 创建两个SVN版本仓库,一个用于存储服务端代码(server),另一个用于存储部署代码(deploy)。可以使用以下命令创建: ``` mkdir -p /data/svn/server mkdir -p /data/svn/deploy svnadmin create /data/svn/server svnadmin create /data/svn/deploy ``` 3. 停止SVN服务,可以使用以下命令停止: ``` killall svnserve ``` 4. 在SVN服务器上设置钩子(hooks)来实现代码自动部署。可以使用hooks/post-commit钩子来触发代码部署。具体操作可以参考SVN的文档或者相关教程。 5. 在本地创建三个分支:deploy、server和server_pub。deploy分支用于模拟开发、运维等人员修改发版等脚本的本地分支;server分支用于模拟开发等人员提交服务端代码到SVN的本地分支;server_pub分支用于工作站拉取最新代码的本地分支,也是同步到目标服务器的内容所使用的分支。可以使用以下命令创建: ``` mkdir -p /data/svnTest cd /data/svnTest svn co svn://127.0.0.1/deploy svn co svn://127.0.0.1/server svn co svn://127.0.0.1/server server_pub ``` 至于SVNAD的同步,可以使用LDAP认证来实现。具体的配置步骤和设置可以参考SVN的文档或者相关教程。 #### 引用[.reference_title] - *1* *3* [centos7下Jenkins+SVN搭建自动构建和部署](https://blog.csdn.net/inininin123/article/details/121598135)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [CentOs6.8离线安装svn,并设置自动更新](https://blog.csdn.net/lx_asymmetric/article/details/122646956)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值