1、安裝SVN
yum install subversion
2、svnserve --version
[root@121 ~]# svn -version
svn: invalid option character: e
Type 'svn help' for usage.
表示安裝成功
3、創建SVN版本庫也就是SVN文件存放地址跟目錄
cd /mnt
mkdir data_10G
cd data_10G
mkdir svn
4、創建版本庫
svnadmin create /mnt/data_10G/svn
5、當執行這個命令的時候 會出現提示 y/n 是否下載。你寫上y就可以了。 然後當出現 complete! 這個就安裝成功了!(這個截圖我就不拿了。)
6、創建了版本庫之後 你的SVN 這個庫目錄下 會有一下的目錄結構
這個目錄應該很熟悉了
conf-----svn的啓動配置文件參數
db------這個是你的SVN 上傳的文件存儲位置。這個是看不到原文件的 ,
因爲SVN服務器端不是簡單將上傳的文件一個一個存放起來的;
SVN服務器端默認採用的FSFS格式是將每次commit的內容增量方式存放的,每個增量包存成1個文件,這個增量包中包括了這次commit的全部數據。
也就是說你不可能在服務器端存放該版本庫的文件夾下找到你上傳的某個文件。
其他目錄請參考下面參數詳情:
路徑 | 類型 | 作用 |
conf | 目錄 | 存放版本庫所用配置文件的目錄 |
dav | 目錄 | 供mod_dav_svn使用 |
db | 目錄 | 版本數據存儲目錄 |
db/fs-type | 文件 | 版本庫數據真實存儲格式,SVN有fsfs和bdb兩種存儲格式 |
db/revprops | 目錄 | 記錄版本屬性 |
db/revs | 目錄 | 版本庫數據存儲真實目錄 |
db/uuid | 文件 | 存儲版本庫唯一標識號,參考《svn版本庫標識uuid簡述》 |
db/txn-current | 文件 | 記錄當前事務 |
format | 文件 | 存儲一個整數的文件,此整數代表庫層次結構版本 |
hooks | 目錄 | 存放版本庫勾子目錄 |
locks | 目錄 | 存儲庫鎖目錄,用來跟蹤庫的訪問者 |
目錄參考資料:https://www.zhihu.com/question/46768239/answer/124160836
7、下面就是帳號密碼 ,權限配置了。。再conf文件目錄下面
authz---這個是我們的權限
passwd--帳號密碼
svnserve.conf --svn服務啓動讀取的參數
1) 首先設置帳號:
vi系統默認但是不好用
vim 編輯更強大 也可以用xftp 直接修改 如果沒有vim編輯就去安裝一個 安裝步驟:
首先:檢查是否安裝vim rpm -qa|grep vim
然後後:安裝vim yum -y install vim-minimal vim-common vim-enhanced
缺少什麼就安裝什麼:比如上面 缺少 vim-minimal vim-common vim-enhanced 這三個。
進入這個窗口 按一下 I 鍵 進入編輯模式
然後數據用戶名=密碼:jason=123
注意:名字前面不能有空格,等於號也不能有空格
修改完成後 要保存:按下 esc 鍵 然後 shift+ ;(L 旁邊那個鍵)
然後按下 wq 意思是 寫入並退出(保存並且退出)
那麼這個帳號就創建好了。
下面給這些帳號設置權限:
重複上面的操作進入編輯模式
然後寫上
[/]
lixi=rw
pa=rw
*=
對賬戶設置rw 這是讀寫權限 *= 這個是其他賬戶不能訪問
另外關於這個分組權限,什麼的 可以參考其他資料。這裏不細節描述
同樣的保存好了之後下面就配置 svnserve.conf
同樣的打開我們的svnserve.conf
把上圖的這些打開,就是把前面的註釋#號刪除
保存就好了
下面就是配置httpd
安裝httpd
yum install httpd -y
然後啓動
/etc/rc.d/init.d/httpd start
參考資料:https://blog.csdn.net/ixiaoyou/article/details/79160622
然後爲SVN 配置我們的路徑
#vim /etc/httpd/conf/httpd.conf
在文件最後添加一下代碼:
- <Location /svn>
- DAV svn
- SVNPath /svn/project/repos/
- AuthType Basic
- AuthName "svn for project"
- AuthUserFile /svn/project/repos/conf/webpasswd
- AuthzSVNAccessFile /svn/project/repos/conf/authz
- Satisfy all
- Require valid-user
- </Location>
啓動http
#/etc/init.d/httpd restart
結果報如下錯誤
這是因爲,系統沒有安裝mod_dav_svn,安裝一下就可以了
#yum install mod_dav_svn
#yum install mod_authz_svn
#chmod -R o+rw /svn
//加下權限 不然用http訪問會報 SVN Can’t open file ‘/XXX/xxx/db/txn-current-lock’錯誤
再啓動下就可以了
然後再啓動我們的SVN
- 啓動svn #svnserve -d -r /svn
- 查看服務 #ps -ef|grep svn
- 關閉svn服務 #kill -9 pid
訪問http://IP/svn/ 就可以了,輸入賬號密碼就OK了,客戶端可以下在小烏龜。。。。
參考資料:https://my.oschina.net/aiweiqing/blog/778326