svn mysql认证_SVN基于MySQL认证
SVN的簡(jiǎn)介和工作原理
Subversion(簡(jiǎn)稱svn)是近幾年崛起的版本管理軟件,是cvs的接班人,目前絕大多數(shù)開(kāi)源軟件都使用svn作為代碼版本管理軟件。Subversion支持linux和windows,但是普通應(yīng)用在Linux上。
SVN主要是通過(guò)兩種方式來(lái)工作:即是通過(guò)獨(dú)立服務(wù)器和依賴Apache方式來(lái)工作。
SVN的作用體現(xiàn)如下方面
1、解決代碼管理紊亂的問(wèn)題。
2、解決代碼沖突的問(wèn)題。
3、解決代碼擁有者對(duì)代碼權(quán)限的控制。
4、.......
下面的例子主要是講解SVN基于MySQL的認(rèn)證。
系統(tǒng)環(huán)境:centos6.5 ? 服務(wù)器IP:172.18.107.176
一、先安裝相關(guān)的數(shù)據(jù)包
#yum?-y?install?mysql?mysql-devel?mysql-server?httpd
mod_auth_mysql?subversion?mod_dav_svn
二、啟動(dòng)相關(guān)服務(wù)。
#service?mysqld?start
#service?httpd?start
三、創(chuàng)建項(xiàng)目和相關(guān)授權(quán)
#mkdir?-p?/data/svn/
#svnadmin?create?/data/svn/test???#創(chuàng)建一個(gè)名為test的項(xiàng)目
#vim?/data/svn/authz??????????????#創(chuàng)建SVN認(rèn)證文件
[groups]
admin?=?eelly01,eelly02,test100???#添加SVN用戶名
[test:/]??????????????????????????#對(duì)test版本庫(kù)進(jìn)行權(quán)限設(shè)置
@admin?=?rw???????????????????????#允許admin這個(gè)組的成員對(duì)這個(gè)版本庫(kù)有讀寫(xiě)的權(quán)限
四、授予項(xiàng)目Apache的權(quán)限,否則無(wú)法通過(guò)http的方式來(lái)訪問(wèn)。
#chown?-R?apache.apache?/data/svn/
#chmod?755?/data/svn/?-R
五、創(chuàng)建認(rèn)證數(shù)據(jù)庫(kù)
#mysql?-uroot?-p
1)創(chuàng)建數(shù)據(jù)庫(kù)
mysql>create?database?svn_auth;
mysql>use?svn_auth;
mysql>grant?all?privileges?on?*.*?to?svn@'%'identified?by?'123456'with?grant?option;
2)創(chuàng)建表
mysql>?CREATE?TABLE?users?(?user_name?CHAR(30)?NOT?NULL,user_passwd?CHAR(20)?NOT?NULL,PRIMARY?KEY?(user_name));
3)創(chuàng)建測(cè)試賬號(hào)
mysql>?insert?into?svn_auth.users?values('test100',encrypt('123456'));
mysql>?insert?into?svn_auth.users?values('eelly01',encrypt('123456'));
mysql>?insert?into?svn_auth.users?values('eelly02',encrypt('123456'));
六、Apache和SVN集成
#vim?/etc/httpd/conf/httpd.conf??????????#添加如下內(nèi)容
DAV?svn
SVNParentPath?/data/svn/?????????????#項(xiàng)目的父目錄
AuthzSVNAccessFile?/data/svn/authz???#svn訪問(wèn)認(rèn)證文件
AuthName?"EELLY?SUBVERSION"??????????#認(rèn)證名稱
AuthType?Basic???????????????????????#基本認(rèn)證
AuthMYSQLEnable?on???????????????????#開(kāi)啟mysql認(rèn)證
AuthMYSQLUser?svn????????????????????#數(shù)據(jù)庫(kù)訪問(wèn)用戶名
AuthMySQLPassword?123456?????????????#數(shù)據(jù)庫(kù)訪問(wèn)的密碼
AuthMYSQLDB?svn_auth?????????????????#存放認(rèn)證信息的數(shù)據(jù)庫(kù)名稱
AuthMYSQLUserTable?users?????????????#存放認(rèn)證信息的表名稱
AuthMYSQLNameField?user_name?????????#存放認(rèn)證用戶名的字段名稱
AuthMYSQLPasswordField?user_passwd???#存放認(rèn)證密碼的字段名稱
Require?valid-user
七、重啟Apache服務(wù)器。
#?service?httpd?restart
停止?httpd:???????????????????????????????????????????????[確定]
正在啟動(dòng)?httpd:???????????????????????????????????????????[確定]
從上面看到在數(shù)據(jù)庫(kù)里面創(chuàng)建test100這個(gè)用戶是可以登錄的。eelly01也是沒(méi)有問(wèn)題的。如下圖。(當(dāng)然里面是沒(méi)有東西的了,因?yàn)槭切陆ǖ陌姹編?kù))
簡(jiǎn)單的SVN基于MySQL認(rèn)證就這樣搭建完成了,只需要在MySQL數(shù)據(jù)庫(kù)里面創(chuàng)建一個(gè)用戶,然后在authz文件里面授予用戶相應(yīng)的權(quán)限即可訪問(wèn)相應(yīng)的版本庫(kù)了。
總結(jié)
以上是生活随笔為你收集整理的svn mysql认证_SVN基于MySQL认证的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言ATM机文件储存账号密码,C语言实
- 下一篇: 中文转数字 java_java将阿拉伯数