以前遷移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訪問服務