centos搭建SVN服務(wù),并且http訪問

官網(wǎng)鏈接: http://subversion.apache.org/packages.html

1. 安裝

  • 安裝
yum install subversion
  • 測試是否安裝成功
svnserve --version
  • 查看或更改svn指向目錄和端口(可以使用默認配置,無需修改)
vi /etc/sysconfig/svnserve
編輯示例:
OPTIONS="-r /data/svn --listen-port 3661"

2. 建立版本庫

svnadmin create /var/svn/solo

3. svn配置文件

  • svnserve.conf
vi /var/svn/solo/conf/svnserve.conf 

編輯示例:
[general]
anon-access = none      #控制非鑒權(quán)用戶訪問版本庫的權(quán)限
auth-access = write      #控制鑒權(quán)用戶訪問版本庫的權(quán)限
password-db = passwd     #指定用戶名口令文件名
authz-db = authz      #指定權(quán)限配置文件名
realm = solo        #指定版本庫的認證域,即在登錄時提示的認證域名稱
  • passwd
 vi /var/svn/solo/conf/passwd 

編輯示例:
[users]
chenchen = chenchen    #用戶,密碼
maggie = maggie    #用戶,密碼
  • authz
vi /var/svn/solo/conf/authz 
編輯示例:
[groups]
g_admin = chenchen
g_solo = maggie

[solo:/]
@g_admin = rw

[solo:/solo]
@g_solo = rw

4. 啟停svn

  • 啟停svn
systemctl start svnserve.service
systemctl stop svnserve.service
或者 svnserve -d -r /var/svn
  • 查看svn狀態(tài): 默認是3690端口
ps aux|grep svnserve
systemctl status svnserve.service
  • 設(shè)置開機啟動
systemctl enable svnserve.service

5. 問題1: node remains in conflict

執(zhí)行checkout命令下載代碼:

svn checkout svn://xxx.xxx.xxx.xxx/solo/solo /home/web/www/solo --username chenchen

中間卡住了一下, 其實是正常情況但是我卻給強行停止了。 然后我再使用svn up更新代碼時就出現(xiàn)了node remains in conflict這個錯。

網(wǎng)上搜索了一下應(yīng)該是因為我強行停止導(dǎo)致文件沖突了, 需要svn revert .還原一下。如果不行就強行刪掉這個文件夾 svn remove --force filename, 然后重新創(chuàng)建一個文件夾下載。參考鏈接: https://blog.csdn.net/u011628250/article/details/50516348

6. 問題2: svn show log看不到日志,顯示的時間是1970年

解決方法:

1.編輯svnserve.conf,設(shè)置“anon-access=none”
2.在authz中添加 
[/]
* = 
3,清理svn的cache

參考鏈接1: https://blog.csdn.net/u014756827/article/details/52506590


http訪問

7. 安裝mod_dav_svn

yum install mod_dav_svn

安裝成功后,會有mod_dav_svn.so和mod_authz_svn.so兩個文件

sudo find / -name mod_dav_svn.so
/usr/lib64/httpd/modules/mod_dav_svn.so

sudo find / -name mod_authz_svn.so
/usr/lib64/httpd/modules/mod_authz_svn.so

8. 配置http用戶和權(quán)限

  • 配置用戶文件
touch /var/svn/passwd
htpasswd /var/svn/passwd chenchen
  • 配置權(quán)限校驗文件
cp /var/svn/solo/conf/authz /var/svn/authz

9. 配置httpd和subversion關(guān)聯(lián)

vi /etc/httpd/conf.d/subversion.conf
內(nèi)容如下:
<Location /svn>
    DAV svn
    SVNParentPath /var/svn

    AuthType Basic
    AuthName "Authorization SVN"
    AuthzSVNAccessFile /var/svn/authz
    AuthUserFile /var/svn/passwd
    Require valid-user
</Location>

10. 重啟httpd服務(wù)

systemctl restart httpd.service

http://47.95.194.85/svn/solo/ 就可以訪問啦、

小烏龜客戶端也可以訪問:


參考鏈接2: https://blog.csdn.net/bbcrab/article/details/78425887

作者 @沒有故事的老大爺
我走得很慢,但從不后退。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容