svn 服務器搭建 ,採用http的方式加密用戶。

1.1安裝svn

1.環境mysql

centos6.5sql

本地ip:192.168.2.154apache

2.安裝vim

yum install subversion

  

查看版本windows

svnserve --version

  

 

3.建立版本庫centos

 先建立目錄,再建立版本庫svn

 

 #建立目錄
mkdir -p /data/svndata       

#建立版本庫
cd /data/svndata
svnadmin create /data/svndata/svnrepos

  

1.2 svbversion目錄以及相關配置文件介紹

1.2.1目錄結構以下

 

db目錄:就是全部版本控制的數據存放文件。測試

hooks目錄:放置hook腳本文件的目錄。ui

locks目錄:用來放置subversion見艱苦鎖定數據的目錄,用來追蹤存取文件庫的客戶端。加密

format文件:是一個文本文件,裏面只放了一個整數,表示當前文件庫配置的版本號。

conf目錄:是這個倉庫的配置文件(倉庫的用戶訪問帳號、權限等)。

進入conf目錄(該svn版本庫配置文件)
cd conf/ authz文件是權限控制文件 passwd是賬號密碼文件 svnserve.conf SVN服務配置文件

  

1.svn登陸測試帳號

設置賬號密碼 vim passwd

 

 在[users]塊中添加用戶和密碼,格式:賬號=密碼,如xixi = 123456

 

 2.設置權限

 設置權限 vim authz

 

在末尾添加以下代碼:

[/]

xixi=rw   #(r:讀,w:寫)

3.修改svnserve.conf

vim svnserve.conf

打開下面的幾個註釋:

anon-access = read #匿名用戶可讀

auth-access = write #受權用戶可寫

password-db = passwd #使用哪一個文件做爲帳號文件

authz-db = authz #使用哪一個文件做爲權限文件

realm =/data/svndata/svnrepos # 認證空間名,版本庫所在目錄

 

4.啓動svn

svnserve -d -r /data/svndata/svnrepos/
chkconfig svnserve on  #開機自啓

  

 

5.中止svn

 kill 或者 killall 等結束程序的命令

 

2.1 windows測試svn

在你的本地項目文件夾或隨便一個地方,右鍵空白處彈出菜單,選擇 SVN。

而後,經過從SVN服務端獲取的資源庫URL+具體的項目文件夾名下載相應項目,並能夠知道下載項目的保存位置

 

第一次登錄須要輸入密碼,一切以passwd文件裏面的帳戶密碼爲主!

 

最後,成功登陸svn搭建成功

 

 

3.1 採用http方式登陸,建立加密用戶

爲何採用http方式登陸,由於上述在

/data/svndata/svnrepos/conf  中的passwd文件中,用戶名和密碼都是明文的的方式。

若是沒有httpd應用

3.1.1 安裝httpd

1  安裝Apache
         yum install httpd 
         設置開機啓動
         chkcofing httpd on
         啓動Apache
         service httpd start
         查看Apache版本
         httpd -version

2 安裝Apache支持服務
         yum install mod_dav_svn mod_auth_mysql

  

查看是否安裝成功
cd /etc/httpd/modules/

若是有mod_dav_svn.so 和 mod_authz_svn.so模塊,若是有,則說明mod_dav_svn安裝成功

3.1.2  建立相應的http受權目錄

用來存放用戶信息和密碼passwd,權限控制是authz。

 

cd /data/svndata/svnrepos/conf
mkdir http-auth

進入http-auth

  

1.建立用戶信息文件用htpasswd方式

htpasswd -c /data/svndata/svnrepos/conf/http-auth/passwd  hehe

  

注意:/var/svn/svntest是個人數據倉庫目錄,http-auth/passwd是我建立的用戶認證文件名稱。hehe是我建立的第一 個用戶.
由於是第一個用戶,因此須要加-c,之後建立帳戶不須要加-c命令。
修改密碼和建立的方式都是:htpasswd  svn目錄    用戶

 

 

2.設置相應用戶權限控制權限

vim  authz

[groups]

sa = hehe

[/]
@sa = rw
* = r


#sa 是一個組,hehe是用戶 若是還要添加用戶 :hehe,user1,user2
#[/]  是svn根目錄
#@sa  表示是一個組
#rw 表示可讀可寫
#*=r 表示其餘用戶只能讀

  

 

3.1.3設置Apache配置關於svn認證的文件

vim /etc/httpd/conf/httpd.conf
#在最下面添加以下內容
<Location /svn>
DAV svn
SVNParentPath /data/svndata/
#SVNPath /data/svndata/
AuthType Basic
AuthName "svn 1.6.9"
AuthUserFile /data/svndata/svnrepos/conf/http-auth/passwd
AuthzSVNAccessFile /data/svndata/svnrepos/conf/http-auth/authz
Require valid-user
</Location>

  

說明:DAV爲svn支持文件,svnpathsvn版本庫目錄,只有一個版本庫時使用svnpath;

若是有多個版本時使用   svnparentpath和svnlistparentpath配合使用;

AuthaSVNAccessFile爲權限文件目錄,跟svn協議共同使用一個  權限文件便可;

AuthUserFile爲用戶認證文件,填入第3步配置的認證文件目錄;

Require爲用戶是否須要驗證。

修改svn權限配置文件的目錄

 修改爲以下內容

 

 爲Apache設置數據倉庫的全部者權限

 

chown -R apache:apache /data/svndata/svnrepos/

  

最後重啓apache  和 重啓svn

service httpd restart
service svnserve restart

  

windows測試驗證

http://192.168.2.154/svn/svnrepos

相關文章
相關標籤/搜索