在 FreeBSD下架設Subversion(包括权限控制)

2009-05-13 11:05:32来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

摘自:
http://plog.longwin.com.tw/my_note-unix/2007/07/18/freebsd_build_svn_2007
紀錄於 FreeBSD 下架設 SVN 的過程...... 最近怎麼都在架 SVN... XD
詳細的解釋也懶得打了, 有興趣想了解深入點的, 可以看之前的文章, 本篇還是直接從頭裝到完就好了... XD
首先, 先來裝 package 吧~~~ :)
安裝 Apache
  • cd /usr/ports/www/apache22
  • make WITH_AUTH_MODULES=yes WITH_DAV_MODULES=yes WITH_SSL_MODULES=yes WITH_BERKELEYDB=db42 install clean
  • # SVN 會使用到 bdb4, 所以 apache 在此要一起裝起來
    安裝 Subversion
  • cd /usr/ports/devel/subversion
  • make -DWITH_SVNSERVE_WRAPPER -DWITH_MOD_DAV_SVN -DWITH_APACHE2_APR install clean
  • 讓 svn 支援 apache22 的 DAV_MODULES
    設定 SVN 基本環境目錄
  • mkdir -p /home/www/svn/repository/PROJECT_NAME # 路徑自行決定後再更改即可.
  • mkdir -p /home/www/etc # 來放 svn 所需要的設定檔
  • svnadmin create /home/www/svn/repository/PROJECT_NAME # svn 初始化
  • chown -R www:www /home/www/svn/repository/PROJECT_NAME
  • chown -R www:www /home/www/etc
    設定 Apache2
    在 /usr/local/etc/apache22/httpd.conf 應該有這三行
    LoadModule dav_module         libexec/apache22/mod_dav.so
    LoadModule dav_svn_module     libexec/apache22/mod_dav_svn.so
    LoadModule authz_svn_module   libexec/apache22/mod_authz_svn.so
    如果有apache restart 有出現 "[warn] module dav_module is already loaded, skipping" 的 WARN, 就把 dav_module 註解掉, 如下:  
    # LoadModule dav_module         libexec/apache22/mod_dav.so
    LoadModule dav_svn_module     libexec/apache22/mod_dav_svn.so
    LoadModule authz_svn_module   libexec/apache22/mod_authz_svn.so
    新增 svn.conf

    • 註: 如果要設 Virtual Host 就直接跳過這個.
    • vim/usr/local/etc/apache22/Includes/svn.conf # 設定 apache DAV

      DAV svn
      SVNPath /home/www/svn/repository
      AuthType Basic
      AuthName "Svn repository"
      AuthUserFile /home/www/etc/svn-auth-file
      AuthzSVNAccessFile /home/www/etc/svn-access-file # 如果不加這個, 預設大家都可以進去存取
      Require valid-user
    設定 Virtual Host

    • 註: 要設定這個, 就不用設上述的 svn.conf
    • vim /usr/local/etc/apache2/extra/httpd-vhosts.conf

        DocumentRoot /home/wwwadm/svn/repository
        ServerName VIRTUAL_HOSTNAME
        ErrorLog /var/log/httpd/svn.VIRTUAL_HOSTNAME-error_log
        CustomLog /var/log/httpd/svn.VIRTUAL_HOSTNAME-access_log combined
       
        DAV svn
        SVNParentPath /home/wwwadm/svn/repository  # 注意, 這邊要用 SVNParentPath
        # Satisfy Any
        AuthType Basic
        AuthName "Svn repository"

    标签:

    版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

  • 上一篇:Could not open a connection to your authentication

    下一篇:Install some useful packages