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
#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
#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
#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站點
登錄網頁測試一下 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 定義多個倉庫