SVN服務器
-
SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開發同一個項目,共用資源的目的。
-
1、優點:
1)、管理方便,邏輯明確,符合一般人思維習慣。
2)、易於管理,集中式服務器更能保證安全性。
3)、代碼一致性非常高。
4)、適合開發人數不多的項目開發。
5)、大部分軟件配置管理的大學教材都是使用svn和vss。 -
2、缺點:
1)、服務器壓力太大,數據庫容量暴增。
2)、如果不能連接到服務器上,基本上不可以工作,看上面第二步,如果服務器不能連接上,就不能提交,還原,對比等等。
3)、不適合開源開發(開發人數非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明確的權限管理機制(例如分支訪問限制),可以實現分層管理,從而很好的解決開發人數衆多的問題。
安裝配置SVN服務器
yum install subversion -y
svnserve --version
mkdir -p /opt/svn/repo #創建目錄
svnadmin create /opt/svn/repo #創建一個新的倉庫
vim /opt/svn/repo/conf/svnserve.conf #注意:配置項前不能有空格
anon-access = none #匿名用戶沒有任何權限
auth-access = write #認證用戶具有寫權限
password-db = /opt/svn/repo/conf/passwd #用戶的密碼文件
authz-db = /opt/svn/repo/conf/authz #用戶信息文件
svnserve -d -r /opt/svn/repo/ #開啓服務;-d:守護進程 -r:svn根目錄
netstat -tunlp | grep svnserve #查看
vim /opt/svn/repo/conf/passwd #編輯賬戶密碼文件
zhangsan = abc123 #用戶和密碼
sysadmin = abc123
vim /opt/svn/repo/conf/authz #編輯權限文件
[/]
zhangsan = r
sysadmin = r
[/webphp]
sysadmin = r #運維工程師賬戶具有的讀權限,用於部署
zhangsan = rw #zhangsan用戶對此目錄有讀寫權限
mkdir /opt/svn/repo/webphp
svn import webphp/ file:///opt/svn/repo/webphp -m "初始化SVN目錄" #導入webphp目錄
驗證
- 在兩臺win7虛擬機上安裝SVN客戶端,在第一臺win7的webphp目錄中創建文件並添加上傳後,則在第二臺win7中的webphp目錄中刷新後也會出現文件;