1.1安裝svn
1.環境
centos6.5
本地ip:192.168.2.154
2.安裝
yum install subversion
查看版本
svnserve --version
3.創建版本庫
先創建目錄,再創建版本庫
#創建目錄 mkdir -p /data/svndata #創建版本庫 cd /data/svndata svnadmin create /data/svndata/svnrepos
1.2 svbversion目錄以及相關配置文件介紹
1.2.1目錄結構如下
db目錄:就是所有版本控制的數據存放文件。
hooks目錄:放置hook腳本文件的目錄。
locks目錄:用來放置subversion見艱苦鎖定數據的目錄,用來追蹤存取文件庫的客戶端。
format文件:是一個文本文件,里面只放了一個整數,表示當前文件庫配置的版本號。
conf目錄:是這個倉庫的配置文件(倉庫的用戶訪問賬號、權限等)。
進入conf目錄(該svn版本庫配置文件)
cd conf/ authz文件是權限控制文件 passwd是帳號密碼文件 svnserve.conf SVN服務配置文件
1.svn登錄測試賬號
設置帳號密碼 vim passwd
在[users]塊中添加用戶和密碼,格式:帳號=密碼,如xixi = 123456
2.設置權限
設置權限 vim authz
在末尾添加如下代碼:
[/]
xixi=rw #(r:讀,w:寫)
3.修改svnserve.conf
vim svnserve.conf
打開下面的幾個注釋:
anon-access = read #匿名用戶可讀
auth-access = write #授權用戶可寫
password-db = passwd #使用哪個文件作為賬號文件
authz-db = authz #使用哪個文件作為權限文件
realm =/data/svndata/svnrepos # 認證空間名,版本庫所在目錄
4.啟動svn
svnserve -d -r /data/svndata/svnrepos/ chkconfig svnserve on #開機自啟
5.停止svn
kill 或者 killall 等結束程序的命令
2.1 windows測試svn
在你的本地項目文件夾或隨便一個地方,右鍵空白處彈出菜單,選擇 SVN。
然后,通過從SVN服務端獲取的資源庫URL+具體的項目文件夾名下載相應項目,並可以知道下載項目的保存位置
第一次登陸需要輸入密碼,一切以passwd文件里面的賬戶密碼為主!
最后,成功登錄svn搭建成功
3.1 采用http方式登錄,創建加密用戶
為什么采用http方式登錄,因為上述在
/data/svndata/svnrepos/conf 中的passwd文件中,用戶名和密碼都是明文的的方式。
如果沒有httpd應用
3.1.1 安裝httpd
1 安裝Apache yum install httpd 設置開機啟動 chkcofing httpd on 啟動Apache service httpd start 查看Apache版本 httpd -version 2 安裝Apache支持服務 yum install mod_dav_svn mod_auth_mysql
查看是否安裝成功
cd /etc/httpd/modules/
如果有mod_dav_svn.so 和 mod_authz_svn.so模塊,如果有,則說明mod_dav_svn安裝成功
3.1.2 創建相應的http授權目錄
用來存放用戶信息和密碼passwd,權限控制是authz。
cd /data/svndata/svnrepos/conf mkdir http-auth 進入http-auth
1.創建用戶信息文件用htpasswd方式
htpasswd -c /data/svndata/svnrepos/conf/http-auth/passwd hehe
注意:/var/svn/svntest是我的數據倉庫目錄,http-auth/passwd是我創建的用戶認證文件名稱。hehe是我創建的第一 個用戶.
因為是第一個用戶,所以需要加-c,以后創建賬戶不需要加-c命令。
修改密碼和創建的方式都是:htpasswd svn目錄 用戶
2.設置相應用戶權限控制權限
vim authz
[groups] sa = hehe [/] @sa = rw * = r #sa 是一個組,hehe是用戶 如果還要添加用戶 :hehe,user1,user2 #[/] 是svn根目錄 #@sa 表示是一個組 #rw 表示可讀可寫 #*=r 表示其他用戶只能讀
3.1.3設置Apache配置關於svn認證的文件
vim /etc/httpd/conf/httpd.conf #在最下面添加如下內容 <Location /svn> DAV svn SVNParentPath /data/svndata/ #SVNPath /data/svndata/ AuthType Basic AuthName "svn 1.6.9" AuthUserFile /data/svndata/svnrepos/conf/http-auth/passwd AuthzSVNAccessFile /data/svndata/svnrepos/conf/http-auth/authz Require valid-user </Location>
說明:DAV為svn支持文件,svnpath為svn版本庫目錄,只有一個版本庫時使用svnpath;
如果有多個版本時使用 svnparentpath和svnlistparentpath配合使用;
AuthaSVNAccessFile為權限文件目錄,跟svn協議共同使用一個 權限文件即可;
AuthUserFile為用戶認證文件,填入第3步配置的認證文件目錄;
Require為用戶是否需要驗證。
修改svn權限配置文件的目錄
修改成如下內容
為Apache設置數據倉庫的所有者權限
chown -R apache:apache /data/svndata/svnrepos/
最后重啟apache 和 重啟svn
service httpd restart service svnserve restart
windows測試驗證
http://192.168.2.154/svn/svnrepos