svn http ad域

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    定義多個倉庫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章