Centos實(shí)現(xiàn)svn本地認(rèn)證apache認(rèn)證-創(chuàng)新互聯(lián)

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

10多年的正鑲白網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整正鑲白建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“正鑲白網(wǎng)站設(shè)計(jì)”,“正鑲白網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

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

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

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

一、搭建svn服務(wù);

1、搭建svn服務(wù);

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

Centos實(shí)現(xiàn)svn本地認(rèn)證apache認(rèn)證

2、新建一個(gè)目錄用于存儲(chǔ)SVN所有文件、創(chuàng)建版本倉(cāng)庫(kù)

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

3、初始化版本倉(cāng)庫(kù)中的目錄;

倉(cāng)庫(kù)目錄結(jié)構(gòu)說(shuō)明:

[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   #運(yùn)維目錄
│   ├── wap  #工程目錄
│   └── web
├── pub  #公共目錄
└── qa   #測(cè)試目錄

6 directories, 0 files

導(dǎo)入倉(cāng)庫(kù):

[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用戶非常簡(jiǎn)單,只需在/opt/svn/svn/conf/passwd文件添加一個(gè)形如“username=password”的條目就可以了。

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

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

5,修改用戶訪問(wèn)策略
/opt/svn/opt/conf/authz記錄用戶的訪問(wèn)策略,

[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
* =

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

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)用戶訪問(wèn)版本庫(kù)的權(quán)限。取值范圍為"write"、"read"和"none" 即"write"為可讀可寫(xiě),"read"為只讀,"none"表示無(wú)訪問(wèn)權(quán)限。 缺省值:read
auth-access 控制鑒權(quán)用戶訪問(wèn)版本庫(kù)的權(quán)限。取值范圍為"write"、"read"和"none"。 即"write"為可讀可寫(xiě),"read"為只讀,"none"表示無(wú)訪問(wèn)權(quán)限。 缺省值:write
password-db 指定用戶名口令文件名。除非指定絕對(duì)路徑,否則文件位置為相對(duì)conf 目錄的相對(duì)路徑。缺省值:passwd
authz-db 指定權(quán)限配置文件名,通過(guò)該文件可以實(shí)現(xiàn)以路徑為基礎(chǔ)的訪問(wèn)控制。除非指定絕對(duì)路徑,否則文件位置為相對(duì)conf目錄的相對(duì)路徑。缺省值:authz

7、啟動(dòng)svn服務(wù)

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

8、測(cè)試服務(wù)

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

Centos實(shí)現(xiàn)svn本地認(rèn)證apache認(rèn)證

測(cè)試提交

Centos實(shí)現(xiàn)svn本地認(rèn)證apache認(rèn)證

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

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

1、安裝apache svn 集成依賴包,會(huì)產(chǎn)生兩個(gè)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認(rèn)證文件

以下為一個(gè)小腳本;方便轉(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 $_`;
}
}

進(jìn)行轉(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服務(wù)器的內(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>

重啟服務(wù)

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

4、進(jìn)行頁(yè)面測(cè)試;

Centos實(shí)現(xiàn)svn本地認(rèn)證apache認(rèn)證

Centos實(shí)現(xiàn)svn本地認(rèn)證apache認(rèn)證

切換賬號(hào)測(cè)試

Centos實(shí)現(xiàn)svn本地認(rèn)證apache認(rèn)證

本文題目:Centos實(shí)現(xiàn)svn本地認(rèn)證apache認(rèn)證-創(chuàng)新互聯(lián)
URL鏈接:http://muchs.cn/article12/dsjpgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、App開(kāi)發(fā)Google、虛擬主機(jī)、小程序開(kāi)發(fā)、自適應(yīng)網(wǎng)站

廣告

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

微信小程序開(kāi)發(fā)