Centos实现svn本地认证apache认证
本文系統(tǒng):Centos6.5_x64?本地lamp環(huán)境?ip:192.168.184.129
一、搭建svn,實(shí)現(xiàn)svn方式訪問、本地用戶認(rèn)證
二、實(shí)現(xiàn)http方式訪問、apache本地文件認(rèn)證
subversion目錄說明:
*dav目錄:是提供apache與mod_dav_svn使用的目錄,讓他們存儲內(nèi)部數(shù)據(jù)
*db目錄:就是所有版本控制的數(shù)據(jù)存放文件
*hooks目錄:放置hook腳本文件的目錄
*locks目錄:用來放置subversion見艱苦鎖定數(shù)據(jù)的目錄,用來追蹤存取文件庫的客戶端
*format文件:是一個(gè)文本文件,里面只放了一個(gè)整數(shù)。表示當(dāng)前文件庫配置的版本號
*conf目錄:是這個(gè)倉庫的配置文件(倉庫的用戶訪問賬號、權(quán)限等)
一、搭建svn服務(wù);
1、搭建svn服務(wù);
2、新建一個(gè)目錄用于存儲SVN所有文件、創(chuàng)建版本倉庫
[root@Aries?~]#?mkdir?/opt/svn [root@Aries?~]#?svnadmin?create?/opt/svn/svn3、初始化版本倉庫中的目錄;
倉庫目錄結(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???#運(yùn)維目錄 │???├──?wap??#工程目錄 │???└──?web ├──?pub??#公共目錄 └──?qa???#測試目錄6?directories,?0?files導(dǎo)入倉庫:
4、添加用戶
要添加SVN用戶非常簡單,只需在/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ā)測試賬號 qa?=?qa? ops?=?ops zq?=?zq??????????#普通個(gè)人賬號5,修改用戶訪問策略
/opt/svn/opt/conf/authz記錄用戶的訪問策略,
說明:以上信息表示,只有admin用戶組有根目錄的讀寫權(quán)。r表示對該目錄有讀權(quán)限,w表示對該目錄有寫權(quán)限,rw表示對該目錄有讀寫權(quán)限。最后一行的* =表示,除了上面設(shè)置了權(quá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)用戶訪問版本庫的權(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)限配置文件名,通過該文件可以實(shí)現(xiàn)以路徑為基礎(chǔ)的訪問控制。除非指定絕對路徑,否則文件位置為相對conf目錄的相對路徑。缺省值:authz
7、啟動(dòng)svn服務(wù)
[root@Aries?~]#?svnserve?-d?-r?/opt/svn8、測試服務(wù)
[root@Aries?~]#??svn?co?svn://192.168.184.129/svn?--no-auth-cache?--username?username?--password?passwd
測試提交
二、實(shí)現(xiàn)http方式訪問、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?-y2、將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?zq3、修改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ù)
4、進(jìn)行頁面測試;
切換賬號測試
轉(zhuǎn)載于:https://blog.51cto.com/lansgg/1602593
總結(jié)
以上是生活随笔為你收集整理的Centos实现svn本地认证apache认证的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python怎么画蝙蝠_蝙蝠算法学习
- 下一篇: RHEL5U8配置Centos yum源