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