Centos實現(xiàn)svn本地認證apache認證

本文系統(tǒng):Centos6.5_x64 本地lamp環(huán)境 ip:192.168.184.129

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序設計、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了蒼南免費建站歡迎大家使用!

一、搭建svn,實現(xiàn)svn方式訪問、本地用戶認證

二、實現(xiàn)http方式訪問、apache本地文件認證

subversion目錄說明:
*dav目錄:是提供apache與mod_dav_svn使用的目錄,讓他們存儲內(nèi)部數(shù)據(jù)
*db目錄:就是所有版本控制的數(shù)據(jù)存放文件
*hooks目錄:放置hook腳本文件的目錄
*locks目錄:用來放置subversion見艱苦鎖定數(shù)據(jù)的目錄,用來追蹤存取文件庫的客戶端
*format文件:是一個文本文件,里面只放了一個整數(shù)。表示當前文件庫配置的版本號
*conf目錄:是這個倉庫的配置文件(倉庫的用戶訪問賬號、權(quán)限等)

一、搭建svn服務;

1、搭建svn服務;

[root@Aries ~]# yum install ntsysv vim-enhanced subversion  mod_perl  gcc-c++ make unzip -y

Centos實現(xiàn)svn本地認證apache認證

2、新建一個目錄用于存儲SVN所有文件、創(chuàng)建版本倉庫

[root@Aries ~]# mkdir /opt/svn
[root@Aries ~]# svnadmin create /opt/svn/svn

3、初始化版本倉庫中的目錄;

倉庫目錄結(jié)構(gòu)說明:

[root@Aries ~]# mkdir svn svn/dev svn/qa svn/ops svn/pub svn/ops/web svn/ops/wap
[root@Aries ~]# tree svn
svn
├── dev   #研發(fā)目錄
├── ops   #運維目錄
│   ├── wap  #工程目錄
│   └── web
├── pub  #公共目錄
└── qa   #測試目錄

6 directories, 0 files

導入倉庫:

[root@Aries ~]# svn import svn/ file:///opt/svn/svn/ -m "init svn repo"
增加           svn/ops
增加           svn/ops/wap
增加           svn/ops/web
增加           svn/qa
增加           svn/pub
增加           svn/dev

提交后的版本為 1。
[root@Aries ~]# rm -rf svn/

4、添加用戶

要添加SVN用戶非常簡單,只需在/opt/svn/svn/conf/passwd文件添加一個形如“username=password”的條目就可以了。

[root@Aries conf]# pwd
/opt/svn/svn/conf
[root@Aries conf]# cat passwd  |grep -v ^#

[users]
admin = admin     #管理員
dev = dev         #研發(fā)測試賬號
qa = qa 
ops = ops
zq = zq          #普通個人賬號

5,修改用戶訪問策略
/opt/svn/opt/conf/authz記錄用戶的訪問策略,

[root@Aries conf]# cat authz

[groups]
g_admin = admin
g_dev = dev
g_qa = qa
g_ops = ops,zq

[svn:/]
@g_admin = rw
* =
[svn:/dev]
@g_admin = rw
@g_dev = rw
@g_qa = r
* =
[svn:/qa]
@g_admin = rw
@g_qa = rw
@g_dev = r
@g_ops = r
* =
[svn:/ops]
@g_admin = rw
@g_ops = rw
@g_qa = r
* =
[svn:/pub]
@g_admin = rw
@g_ops = rw
@g_qa = rw
@g_dev = rw
* =

說明:以上信息表示,只有admin用戶組有根目錄的讀寫權(quán)。r表示對該目錄有讀權(quán)限,w表示對該目錄有寫權(quán)限,rw表示對該目錄有讀寫權(quán)限。最后一行的* =表示,除了上面設置了權(quán)限的用戶組之外,其他任何人都被禁止訪問本目錄。這個很重要,一定要加上!

6,修改svnserve.conf文件,讓用戶和策略配置生效。

[root@Aries conf]# cat svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/svn/conf/passwd
auth-db = /opt/svn/svn/conf/authz
[sasl]

anon-access 控制非鑒權(quán)用戶訪問版本庫的權(quán)限。取值范圍為"write"、"read"和"none" 即"write"為可讀可寫,"read"為只讀,"none"表示無訪問權(quán)限。 缺省值:read
auth-access 控制鑒權(quán)用戶訪問版本庫的權(quán)限。取值范圍為"write"、"read"和"none"。 即"write"為可讀可寫,"read"為只讀,"none"表示無訪問權(quán)限。 缺省值:write
password-db 指定用戶名口令文件名。除非指定絕對路徑,否則文件位置為相對conf 目錄的相對路徑。缺省值:passwd
authz-db 指定權(quán)限配置文件名,通過該文件可以實現(xiàn)以路徑為基礎的訪問控制。除非指定絕對路徑,否則文件位置為相對conf目錄的相對路徑。缺省值:authz

7、啟動svn服務

[root@Aries ~]# svnserve -d -r /opt/svn

8、測試服務

[root@Aries ~]#  svn co svn://192.168.184.129/svn --no-auth-cache --username username --password passwd

Centos實現(xiàn)svn本地認證apache認證


測試提交

Centos實現(xiàn)svn本地認證apache認證

二、實現(xiàn)http方式訪問、apache本地文件認證

由于SVN服務器的密碼是明文的,HTTP服務器不與支持,所以需要轉(zhuǎn)換成HTTP支持的格式。

1、安裝apache svn 集成依賴包,會產(chǎn)生兩個so文件,

LoadModule dav_svn_module  modules/mod_dav_svn.so    
LoadModule authz_svn_module modules/mod_authz_svn.so
[root@Aries ~]# yum install mod_dav_svn -y

2、將svn的用戶配置轉(zhuǎn)換為http認證文件

以下為一個小腳本;方便轉(zhuǎn)換

[root@Aries conf]# pwd
/opt/svn/svn/conf
[root@Aries conf]# cat stoh.pl
use warnings;
use strict;
open (FILE, "passwd") or die ("Cannot open the passwd file!!!n");

open (OUT_FILE, ">webpasswd") or die ("Cannot open the webpasswd file!!!n");
close (OUT_FILE);
foreach (<FILE>) {
if($_ =~ m/^[^#].*=/) {
$_ =~ s/=//;
`htpasswd -b webpasswd $_`;
}
}

進行轉(zhuǎn)換;

[root@Aries conf]# perl stoh.pl
Adding password for user admin
Adding password for user dev
Adding password for user qa
Adding password for user ops
Adding password for user zq

3、修改httpd.conf,添加關(guān)于SVN服務器的內(nèi)容

[root@Aries conf]# vim /etc/httpd/conf/httpd.conf
#add for svn
<Location /svn>
DAV svn
SVNPath /opt/svn/svn/
AuthType Basic
AuthName "Authentication for svn"
AuthUserFile /opt/svn/svn/conf/webpasswd
AuthzSVNAccessFile /opt/svn/svn/conf/authz
Satisfy all
Require valid-user
</Location>

重啟服務

[root@Aries conf]# /etc/init.d/httpd restart

4、進行頁面測試;

Centos實現(xiàn)svn本地認證apache認證

Centos實現(xiàn)svn本地認證apache認證

切換賬號測試

Centos實現(xiàn)svn本地認證apache認證

本文題目:Centos實現(xiàn)svn本地認證apache認證
鏈接URL:http://bm7419.com/article16/pcgegg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、網(wǎng)站營銷、小程序開發(fā)、電子商務、網(wǎng)站制作、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管