1. 程式人生 > >centos7搭建svn並通過http訪問

centos7搭建svn並通過http訪問

svn centos7

  • 安裝httpd
    安裝httpd服務:
  • yum install httpd

    檢查httpd是否安裝成功:

    httpd -version
    Server version: Apache/2.4.6 (CentOS)
    Server built: Jul 18 2016 15:30:14

    1. 安裝svnserve

    安裝svnserve服務:

    yum install subversion

    檢查svnserve是否安裝成功:

    svnserve --version
    svnserve, version 1.7.14 (r1542130)
    compiled Nov 20 2015, 19:25:09

    1. 安裝mod_dav_svn

    mod_dav_svn是apache服務器訪問svn的一個模塊。通過yum安裝:

    yum install mod_dav_svn

    安裝成功後,會有mod_dav_svn.so和mod_authz_svn.so兩個文件。

    find / -name mod_dav_svn.so
    /usr/lib64/httpd/modules/mod_dav_svn.so

    find / -name mod_authz_svn.so
    /usr/lib64/httpd/modules/mod_authz_svn.so

    1. 創建svn倉庫

    mkdir /var/svn
    svnadmin create /var/svn/spring-hello-world

    ll /var/svn/

    drwxr-xr-x. 6 root root 80 Nov 10 14:42 spring-hello-world

    ll /var/svn/Project/
    drwxr-xr-x. 2 root root 51 Nov 10 14:42 conf
    drwxr-sr-x. 6 root root 4096 Nov 10 14:42 db
    -r--r--r--. 1 root root 2 Nov 10 14:42 format
    drwxr-xr-x. 2 root root 4096 Nov 10 14:42 hooks
    drwxr-xr-x. 2 root root 39 Nov 10 14:42 locks
    -rw-r--r--. 1 root root 229 Nov 10 14:42 README.txt

    1. 配置權限

    修改svn倉庫的用戶組為apache:

    chown -R apache:apache /var/svn/spring-hello-world

    創建用戶文件passwd:

    touch /var/svn/passwd #創建用戶文件

    htpasswd /var/svn/passwd admin #創建用戶admin
    htpasswd /var/svn/passwd guest #創建用戶guest

    cat /var/svn/passwd
    admin:$apr1$UCkPzZ2x$tnDk2rgZoiaURPzO2e57t0
    guest:$apr1$vX1RIUq6$OKS1bqKZSptzsPDYUOJ5x.

    創建權限文件authz:

    cp /var/svn/spring-hello-world/conf/authz /var/svn/authz

    cat /var/svn/authz
    [/]
    admin = rw
    guest = r

    1. 配置httpd

    touch /etc/httpd/conf.d/subversion.conf

    cat /etc/httpd/conf.d/subversion.conf
    <Location /svn>
    DAV svn
    SVNParentPath /var/svn
    AuthType Basic
    AuthName "Authorization SVN"
    AuthzSVNAccessFile /var/svn/authz
    AuthUserFile /var/svn/passwd
    Require valid-user
    </Location>

    1. 啟動httpd服務

    systemctl start httpd.service

    客戶端使用http://IP/svn/Project就可以訪問剛才建立的svn倉庫了。 如果返回403錯誤,可能是防火墻問題。增加防火墻規則:
    firewall-cmd --permanent --add-service=http
    firewall-cmd --permanent --add-service=https
    firewall-cmd --reload

    centos7搭建svn並通過http訪問