CentOS搭建SVN服務器,並通過Apache HTTP方式訪問
摘要:本文主要講述了在centos 6.5環境下搭建svn服務器,可通過svn:\\IP方式訪問。同時由於部分公司內網端口限制,並不能訪問外網的svn服務器,所以特地結合了apache服務器,使得可以通過http方式http://IP方式訪問svn服務器。
環境準備:
centos版本:centos 6.5 64位
CentOS配置SVN服務器:
1、檢查是否安裝了低版本的SVN
rpm -qa subversion
2、卸載舊版本SVN
yum remove subversion
3、安裝SVN
yum -y install subversion
4、建立SVN版本庫
mkdir -p /home/用“用戶名”替代/svn
svnadmin create /home/用“用戶名”替代/svn
此處版本庫名為svn,也可以是其它
5、配置代碼庫
進入“/home/用“用戶名”替代/svn”文件夾下的conf下,進行配置
5.1、用戶密碼配置
編輯passwd,在[users]下添加用戶名和密碼
[users] # harry = harryssecret # sally = sallyssecret root=password
5.2、編輯控制權限authz
目的是設置哪些用戶可以訪問哪些目錄,向authz文件追加以下內容,包括一個組project_p,組下有一個用戶root。使root用戶對svn上所有項目擁有讀寫權限:
[groups] project_p = root [/] root=rw
若只希望某個用戶對 某個項目有讀、寫、讀寫權限,可如下設置:
[/Project]
root=r
5.3、服務svnserve.conf配置
在[general]下追加如下內容
#匿名訪問的權限,可以是read,write,none,默認為read anon-access=none #使授權用戶有寫權限 auth-access=write #密碼數據庫的路徑 password-db=passwd #訪問控制文件 authz-db=authz #認證命名空間,subversion會在認證提示裏顯示,並且作為憑證緩存的關鍵字 realm=/home/用“用戶名”替代/svn
6、啟動SVN
svnserve -d -r /home/用“用戶名”替代/svn
7、查看SVN進程
ps -ef|grep svn|grep -v grep
8、檢測SVN端口
netstat -ln |grep 3690
9、停止重啟SVN
killall svnserve //停止 svnserve -d -r /home/用“用戶名”替代/svn // 啟動
10、測試
Windows客戶端TortoiseSVN連接。地址為:svn://IP地址,輸入配置好的用戶名和密碼。即可進行測試。
11、檢出svn到指定目錄
進入需要檢出的目標目錄,執行
svn checkout svn://IP/Project
配置Apache支持HTTP方式訪問
1、如果沒有安裝apache服務,那麽安裝apache服務及對svn的支持
#apache服務器,讓我們的svn 服務器支持http協議訪問,而不僅是svn://協議 yum install httpd #apache操作svn模塊 yum install mod_dav_sv
2、修改配置文件/etc/httpd/conf.d/subversion.conf(沒有則新建),內容為:
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNListParentPath on SVNPath /home/"用戶名"/svn AuthType Basic Satisfy Any AuthName "Subversion repos" AuthUserFile /home/"用戶名"/svn/conf/accesspwd AuthzSVNAccessFile /home/"用戶名"/svn/conf/authz Require valid-user </Location>
3、創建accesspwd 文件
htpasswd -c -m /home/"用戶名"/svn/conf/accesspwd root
4、讓apache用戶對”/home/“用戶名“/svn″目錄擁有寫權限。
#將用戶apache加入root組 usermod -a -G root apache #讓group對/home/"用戶名"/svn目錄也有寫權限 chmod -R g+w /home/"用戶名"/svn #查看apache用戶屬於的組 groups apache
5、開啟httpd服務
service httpd restart
現在就可以通過”http://ip/svn″來訪問我們的svn 服務器了
CentOS搭建SVN服務器,並通過Apache HTTP方式訪問