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

來源:互聯網
上載者:User

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
即可。







聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.