SVN服務器運行模式: 模式1:svn服務器單獨運行 監聽: 3690端口 訪問: svn://IP 模式2: svn 服務器+ apache : 80 端口 訪問: http://IP
1. #安裝svn服務器和 apache服務器, mod_dav_svn模塊 # yum install subversion httpd mod_dav_svn -y mod_dav_svn模塊 : apache http 服務器的插件,可以讓版本庫通過http協議,在網站上展現 創建版本庫,並修改權限 mkdir -p /svn/repos 創建兩個版本庫目錄 svnadmin create /svn/repos/test.cn svnadmin create /svn/repos/kxinfo 啟動svn: svnserve -d -r /svn/repos -d表示以daemon方式(后台運行)運行 -r /var/repos指定svn根目錄是/svn/repos
2. 配置apache支持svn及檢查兩個動態庫是否安裝成功 find / -name mod_dav_svn.so /usr/lib64/httpd/modules/mod_dav_svn.so find / -name mod_authz_svn.so /usr/lib64/httpd/modules/mod_authz_svn.so
yum -y install mod_dav_svn
配置apache通過mod_dav_svn模塊訪問SVN服務器 vim /etc/httpd/conf.d/subversion.conf ---此文件為手動創建的,手動加入如下內容 <Location /svn> DAV svn SVNParentPath /svn/repos ----存放兩個倉庫:test.cn和kxinfo的真實目錄 AuthType Basic AuthName " SVN server of test!" AuthUserFile /home/svn/passwd ----passwd存儲用戶名和密碼 AuthzSVNAccessFile /home/svn/auth ----存放用戶的權限 Require valid-user </Location>
3. 創建存放用戶密碼文件和權限控制文件 htpasswd -c /home/svn/passwd TTT # -c create, 創建/home/svn/passwd文件。會提示你輸入密碼,默認是MD5加密 htpasswd /home/svn/passwd www #后期再創建時,就不需要加-c參數,否則, 會把之前添加到/home/svn/passwd中信息,全部覆蓋。 vim /home/svn/auth #寫入以下內容 [/] ------這個表示在所有倉庫的根目錄下 TTT = rw ------TTT用戶對所有倉庫根目錄下的軟件版本庫有rw權限 [test.cn:/] -----test.cn的根目錄下的訪問權限 www = rw -----www倉庫具有讀和寫權限 [test.cn:/company] -----test.cn的根目錄下訪問權限 liutao = rw -----liutao用戶對test.cn的根目錄下company目錄有讀寫權限
4. 修改版本庫的權限,測試訪問 chown -R apache:apache /svn/repos/ http://192.168.0.170/svn/test.cn ----TTT和www都可以訪問 http://192.168.0.170/svn/test.cn/company ----liutao用戶只能訪問這個目錄
5. SVN客戶端使用說明 subversion windows客戶端TortoiseSVN配置: http://tortoisesvn.net/about.zh.html 新建一個文件夾右鍵可以提交svn和從svn上下載
6. commit后可以訪問看到上傳的文件
7. 如果安裝svn客戶端后,右鍵沒有svn
7.1 出現如下,說明用錯了,需要右鍵文件夾,而不是直接點擊Tortoisesvn
7.2 點擊TortoiseSVN文件夾,選擇Settings--->General---->Contest Menu勾選如圖三個選項
7.3 如還沒用,選擇Icon Overlays--->Icon Set--->MufWin7--->應用--->保存 再允許--->regedit--->按照如下圖設置后重啟電腦
nginx反向代理 server { listen 80; listen 443 ssl http2; servername www.testsvn.com; location /svn { proxy_pass http://localhost:88/svn; } }