• 在 FreeBSD 下架設 Subversion


    紀錄於 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
    <Location /svn>
      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
    </Location>
    設定 Virtual Host
    註: 要設定這個, 就不用設上述的 svn.conf
    vim /usr/local/etc/apache2/extra/httpd-vhosts.conf
    <VirtualHost *:80>
        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
        <Location /svn>
        DAV svn 
        # 注意, 這邊要用 SVNParentPath
        SVNParentPath /home/wwwadm/svn/repository 
        # Satisfy Any
        AuthType Basic
        AuthName "Svn repository"
        AuthUserFile /home/www/etc/svn-auth-file
        AuthzSVNAccessFile /home/www/etc/svn-access-file
        Require valid-user
        </Location>
    </VirtualHost>
    建立帳號
    htpasswd -c /etc/svn-auth-file USER1 # 建立存取帳號
    htpasswd /etc/svn-auth-file USER2 # 第二個以後的帳號記得不要 -c
    建立 SVN 權限控制檔案
    vim /etc/svn-access-file
    [/]
    * =

    [PROJECT_NAME:/]
    USER1 = rw
    USER2 = r
    設定開機自動啟動 Apache
    vim /etc/rc.conf
    apache22_enable="YES" # 增加這一行
    測試
    cd /tmp/;mkdir PROJECT_NAME; cd PROJECT_NAME; mkdir trunk branches tags; cd /tmp/;
    svn import PROJECT_NAME http://DOMAIN_NAME/svn/PROJECT_NAME
    http://DOMAIN_NAME/svn/ 應該就可以看到 PROJECT_NAME 了
    看到就可以開始做 svn checkout http://DOMAIN_NAME/svn/PROJECT_NAME, commit ... 等動作~~ 設 Virutal Host 的就可以 svn co http://VIRTUAL_HOSTNAME/svn/PROJECT_NAME
  • 相关阅读:
    android连接wifi模块
    idea 控制台乱码debug
    线程控制
    jvm 垃圾回收
    java 单例模式
    http报头
    java 构造函数 , 参数传递 , lamda表达式
    mysql 杂识
    spring mvc 配置 拦截器不起作用
    spring mvc 每次请求后是否自动销毁线程
  • 原文地址:https://www.cnblogs.com/apexchu/p/1851724.html
Copyright © 2020-2023  润新知