程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> debian8下apache2.4.x部署mysql認證的subversion

debian8下apache2.4.x部署mysql認證的subversion

編輯:關於PHP編程

debian8下apache2.4.x部署mysql認證的subversion


近日,需遷移一台老的服務器,上面有apache2.2 下mysql認證的subverison應用。遂進行了研究。
以往apache2的配置均不能使用,主要是因為apache2.4.x和apache2.2.x中利用mysql完成認證的模塊有了較大變化。以往是auth_mysql模塊,這個模塊在apache2.4.x中已經失效,需要用authn_dbd 和 authz_dbd模塊進行替換,相應的配置也需要進行修改。
下面詳述相應設置。
環境:debian8u2,所有的包均是利用apt-get安裝。
-------------------------------------------------------------
安裝需要的軟件包,注意,本文沒有涉及mysql服務的搭建,認為已經搭建好了mysql服務(可以是本機或者其他服務器主機)。
  1. apt-get install apache2 libapache2-mod-svn mysql-client libaprutil1-dbd-mysql
設置apache2的相關模塊加載(注意,安裝libapache2-mod-svn時已經自動加載了一些模塊了,否則還需要增加dav_svn.load和dav_svn.conf),下面的模塊主要是利用數據庫進行認證的。
  1. a2enmod auth*_dbd dbd
修改apache2的一個主機配置,以完成subversion的認證訪問。
下面是一個例子

  1. ...
  2. # 數據庫的一些訪問的基本配置
  3. # 數據庫模式
  4. DBDriver mysql
  5. # 數據庫訪問連接信息,要根據實際情況配置,host是數據庫服務主機,port對應服務端口,dbname對應要訪問的數據庫,user是訪問用戶名,pass是訪問密碼(密碼是明文的)
  6. DBDParams "host=192.168.1.150 port=3306 dbname=svnauth user=authuser pass=dbpasswd"
  7. DBDMin 4
  8. DBDKeep 8
  9. DBDMax 20
  10. DBDExptime 300
  11. # 一個subversion項目的配置

  12. # 配置為采用DAV訪問的subversion倉庫
  13. DAV svn
  14. # 倉庫數據放置位置,注意采用的是FSFS數據結構的倉庫
  15. SVNPath /var/svnlibs/svnprj
  16. # 一個解析XSLT數據定義,在浏覽器中引用(相對於web路徑的)
  17. SVNIndexXSLT /svnindex.xsl
  18. SVNAutoversioning on
  19. AuthName "Svnprj MySql"
  20. AuthType Basic
  21. # 認證方式為dbd,即數據庫
  22. AuthBasicProvider dbd
  23. require valid-user
  24. # 認證用戶查詢語句,要根據實際情況修改,這裡表名為users ,用戶名字段為user_name ,用戶密碼字段為user_passwd
  25. AuthDBDUserPWQuery "SELECT user_passwd FROM users WHERE user_name = %s"

  26. # 為認證用戶開放讀權限

  27. # 用戶組權限配置
  28. # 用戶組采用數據庫查詢
  29. require dbd-group work
  30. # 用戶組查詢語句,要根據實際情況修改,這裡表名為groups ,用戶名字段為user_name ,用戶組字段為user_group
  31. AuthzDBDQuery "SELECT user_group FROM groups WHERE user_name = %s"


  32. # 個別用戶權限配置
  33. require user auser


  34. require valid-user


  35. ...
至此,一個支持mysql認證的apache2.4集成subversion倉庫服務就配置完成。這是對於一個倉庫的配置,如果要配置為多庫,只需要把

  1. SVNPath /var/svnlibs/svnprj
修改為
  1. # 指定多個倉庫的上級目錄
  2. SVNParentPath /var/svnlibs
  3. SVNListParentPath on
即可。







  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved