今天作svn備份恢復測試,藉着搭建恢復環境正好學習記錄一下相應的安裝配置和恢復測試操做。node
首先了解一下SVN:linux
SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上不少版本控制服務已從CVS轉移到Subversion。svn服務器有2種運行方式:獨立服務器和藉助apache運行。apache
這裏我搭建的就是藉助apache運行的svn服務器。vim
系統環境:CentOS release 6.5 (Final) 服務器
使用SSL加密訪問 使用LDAP作受權認證ide
安裝前臨時關閉selinux和iptablessvn
#setenforce 0學習
#/etc/init.d/iptables stop測試
1.安裝apache和svn以及相應模塊和相應的開發包:優化
#yum install subversion httpd mod_dav_svn openldap-devel openssl-devel mod_ssl expat-devel libxml2-devel
2.查看apache模塊的狀況:
#httpd -M |grep svn
Syntax OK
dav_svn_module (shared)
authz_svn_module (shared) ##出現這兩個模塊說明apache整合SVN成功。
#httpd -M |grep ldap
Syntax OK
ldap_module (shared)
authnz_ldap_module (shared) ##由於使用的是LDAP認證,因此出現上面LDAP相關的模塊說明就能夠使用LDAP了。
在apache配置文件末行加入一下優化配置:
LDAPSharedCacheSize 200000
LDAPCacheEntries 1024
LDAPCacheTTL 600
LDAPOpCacheEntries 1024
LDAPOpCacheTTL 600
3.啓用SSL模塊功能和生成證書:
#httpd -M |grep ssl
Syntax OK
ssl_module (shared) ##出現這個說明正常啓用SSL模塊功能,沒有多是mod_ssl沒有安裝。
#openssl req -new -x509 -nodes -out server.crt -keyout server.key ##生成證書和私鑰
而後修改/etc/httpd/conf.d/下面的ssl.conf指定證書和私鑰。
4.訪問測試apache:
#/etc/init.d/httpd restart
#netstat -anptl |grep 443 ##出現443端口服務器啓動正常
經過地址測試: https://ipaddr
5.定義apache訪問SVN配置:
#mkdir /etc/httpd/conf/svnconf.d/ ##本身定義的SVN配置目錄
#vim httpd.conf
添加內容以下
Include Include conf/svnconf.d/*.conf
#cd svnconf.d
#vim test.conf
<Location /test>
DAV svn ##開啓SVN
SVNPath /var/www/svn/repos/test ##版本庫路徑
AuthType Basic
AuthName "TestSVN Repository"
Require valid-user
AuthBasicProvider ldap file ##先使用LDAP認證
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://IP地址:3268/DC=test,DC=local?sAMAccountName?sub?(objectClass=*)" NONE
AuthLDAPBindDN svn@test.local ##LDAP認證帳戶
AuthLDAPBindPassword password
AuthUserFile /var/www/svn/conf/passwd ##使用apache htpasswd用戶認證文件
AuthzSVNAccessFile /var/www/svn/conf/test.acc ##訪問SVN庫的權限配置
SSLRequireSSL
</Location>
6.配置SVN server:
#svnadmin create test ##建立測試用的版本庫test
#chown -R apache.apahce test ## 更改庫的屬主屬組爲apache用戶
#mkdir -p /var/www/svn/conf
#cd /var/www/svn/conf
#vim test.acc
[groups]
g_admin = test ##由於是用的LDAP認證因此這裏的test是AD帳號
[/]
@g_admin = rw
在測試訪問以前重啓一下apache服務
7.作備份恢復測試:
#svnadmin create svnrestore
#svnadmin load /var/www/svn/repos/svnrestore <svnbackup.dump ##備份庫使用svnadmin dump
將備份的庫的svn配置文件拷貝到svnconf.d目錄
重啓apache服務訪問測試就OK了~