1.環境mysql
centos6.5sql
本地ip:192.168.2.154apache
2.安裝vim
yum install subversion
查看版本windows
svnserve --version
3.建立版本庫centos
先建立目錄,再建立版本庫svn
#建立目錄 mkdir -p /data/svndata #建立版本庫 cd /data/svndata svnadmin create /data/svndata/svnrepos
db目錄:就是全部版本控制的數據存放文件。測試
hooks目錄:放置hook腳本文件的目錄。ui
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 等結束程序的命令
在你的本地項目文件夾或隨便一個地方,右鍵空白處彈出菜單,選擇 SVN。
而後,經過從SVN服務端獲取的資源庫URL+具體的項目文件夾名下載相應項目,並能夠知道下載項目的保存位置
第一次登錄須要輸入密碼,一切以passwd文件裏面的帳戶密碼爲主!
最後,成功登陸svn搭建成功
爲何採用http方式登陸,由於上述在
/data/svndata/svnrepos/conf 中的passwd文件中,用戶名和密碼都是明文的的方式。
若是沒有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安裝成功
用來存放用戶信息和密碼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 表示其餘用戶只能讀
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