整合Apache與SVN,讓客戶端能夠用瀏覽器瀏覽源碼庫

以前遷移SVN,因時間問題,沒進行Apache整合,只能用svn去訪問而不像以前能夠用http去訪問,同事反應有點不習慣。apache

因此數據遷移完後,趕忙開始進行Apache與SVN的整合。也簡單的記錄一下:vim


1.安裝Apache及SVN模塊瀏覽器

#yum –y install httpd mod_dav_svnide

#httpd –version 查看下安裝的Apache版本號svn

#ls /etc/httpd/modules/ | grep svn 查看Apache是否已加載進svn模塊
mod_authz_svn.so
mod_dav_svn.so測試

#vim /etc/httpd/conf/httpd.conf  若是沒有加載,自行去httpd.conf添加
ui

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so加密

2.配置Apache:rest

#chown apache.apache /opt/svn/repos –R    讓Apache能訪問svnip

[root@svn /]# cd /opt/svn
[root@svn svn]# ls
passwd  repos  restartsvnserve.sh  svn-authz.conf  svnserve.conf  svn-user.conf
key-generation.sh users
[root@svn ~]# cat key-generation.sh
#!/bin/sh
#密碼批量生成
#2018-5-30
#根據svn原有的明文密碼記錄文件userlist.txt來進行htpasswd生成加密密碼


for i in `cat userlist.txt`;
do
     echo "$i" > users;
     user=$(awk -F '=' '{print $1}' users)
     userpass=$(awk -F '=' '{print $2}' users)
     htpasswd -b passwd $user $userpass
done

[root@svn ~]#

[root@svn svn]# cat /etc/httpd/conf.d/subversion.conf  svn與Apache整合配置

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location /svn>
    DAV svn
    SVNParentPath /opt/svn/repos/     svn庫目錄
       AuthType Basic
       AuthName "Authorization svn"
AuthzSVNAccessFile /opt/svn/svn-authz.conf   svn權限文件
       AuthUserFile /opt/svn/passwd         svn用戶密碼(加密用於Apache的,有別於svn自用的明碼文件svn-user.conf)
       Require valid-user
</Location>
[root@svn svn]# /etc/init.d/httpd restart   重啓Apache

3.測試

經過瀏覽器訪問測試: http://ip:85/svn/庫名字  (這裏設置Apache的監聽端口爲85)


完成整合!

ps:  passwd上的密碼能夠跟svn-user.conf上的密碼不同

passwd爲http訪問服務 svn-user.conf爲svn訪問服務

相關文章
相關標籤/搜索