zoukankan      html  css  js  c++  java
  • Centos 安装SVN

    1.使用yum安装SVN

    在命令行执行如下命令安装SVN。

    yum -y install subversion 
    

    2.创建SVN库

    依次执行如下命令。

    #创建/data/svn
    mkdir -p /data/svn 
    #初始化svn
    svnserve -d -r /data/svn
    #创建代码仓库
    svnadmin create /data/svn/test
    

    3.配置SVN

    mkdir /data/svn/conf
    cp /data/svn/test/conf/* /data/svn/conf/
    cd /data/svn/conf/
    [root@binghe101 conf]# ll
    总用量 20
    -rw-r--r-- 1 root root 1080 5月  12 02:17 authz
    -rw-r--r-- 1 root root  885 5月  12 02:17 hooks-env.tmpl
    -rw-r--r-- 1 root root  309 5月  12 02:17 passwd
    -rw-r--r-- 1 root root 4375 5月  12 02:17 svnserve.conf
    
    • 配置authz文件,
    vim authz
    

    配置后的内容如下所示。

    [aliases]
    # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
    
    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    SuperAdmin = admin
    binghe = admin,binghe
    
    # [/foo/bar]
    # harry = rw
    # &joe = r
    # * =
    
    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r
    
    [test:/]
    @SuperAdmin=rw
    @binghe=rw
    
    • 配置passwd文件
    vim passwd
    

    配置后的内容如下所示。

    [users]
    # harry = harryssecret
    # sally = sallyssecret
    admin = admin123
    binghe = binghe123
    
    • 配置 svnserve.conf
    vim svnserve.conf
    

    配置后的文件如下所示。

    ### This file controls the configuration of the svnserve daemon, if you
    ### use it to allow access to this repository.  (If you only allow
    ### access through http: and/or file: URLs, then this file is
    ### irrelevant.)
    
    ### Visit http://subversion.apache.org/ for more information.
    
    [general]
    ### The anon-access and auth-access options control access to the
    ### repository for unauthenticated (a.k.a. anonymous) users and
    ### authenticated users, respectively.
    ### Valid values are "write", "read", and "none".
    ### Setting the value to "none" prohibits both reading and writing;
    ### "read" allows read-only access, and "write" allows complete 
    ### read/write access to the repository.
    ### The sample settings below are the defaults and specify that anonymous
    ### users have read-only access to the repository, while authenticated
    ### users have read and write access to the repository.
    anon-access = none
    auth-access = write
    ### The password-db option controls the location of the password
    ### database file.  Unless you specify a path starting with a /,
    ### the file's location is relative to the directory containing
    ### this configuration file.
    ### If SASL is enabled (see below), this file will NOT be used.
    ### Uncomment the line below to use the default password file.
    password-db = /data/svn/conf/passwd
    ### The authz-db option controls the location of the authorization
    ### rules for path-based access control.  Unless you specify a path
    ### starting with a /, the file's location is relative to the
    ### directory containing this file.  The specified path may be a
    ### repository relative URL (^/) or an absolute file:// URL to a text
    ### file in a Subversion repository.  If you don't specify an authz-db,
    ### no path-based access control is done.
    ### Uncomment the line below to use the default authorization file.
    authz-db = /data/svn/conf/authz
    ### The groups-db option controls the location of the file with the
    ### group definitions and allows maintaining groups separately from the
    ### authorization rules.  The groups-db file is of the same format as the
    ### authz-db file and should contain a single [groups] section with the
    ### group definitions.  If the option is enabled, the authz-db file cannot
    ### contain a [groups] section.  Unless you specify a path starting with
    ### a /, the file's location is relative to the directory containing this
    ### file.  The specified path may be a repository relative URL (^/) or an
    ### absolute file:// URL to a text file in a Subversion repository.
    ### This option is not being used by default.
    # groups-db = groups
    ### This option specifies the authentication realm of the repository.
    ### If two repositories have the same authentication realm, they should
    ### have the same password database, and vice versa.  The default realm
    ### is repository's uuid.
    realm = svn
    ### The force-username-case option causes svnserve to case-normalize
    ### usernames before comparing them against the authorization rules in the
    ### authz-db file configured above.  Valid values are "upper" (to upper-
    ### case the usernames), "lower" (to lowercase the usernames), and
    ### "none" (to compare usernames as-is without case conversion, which
    ### is the default behavior).
    # force-username-case = none
    ### The hooks-env options specifies a path to the hook script environment 
    ### configuration file. This option overrides the per-repository default
    ### and can be used to configure the hook script environment for multiple 
    ### repositories in a single file, if an absolute path is specified.
    ### Unless you specify an absolute path, the file's location is relative
    ### to the directory containing this file.
    # hooks-env = hooks-env
    
    [sasl]
    ### This option specifies whether you want to use the Cyrus SASL
    ### library for authentication. Default is false.
    ### Enabling this option requires svnserve to have been built with Cyrus
    ### SASL support; to check, run 'svnserve --version' and look for a line
    ### reading 'Cyrus SASL authentication is available.'
    # use-sasl = true
    ### These options specify the desired strength of the security layer
    ### that you want SASL to provide. 0 means no encryption, 1 means
    ### integrity-checking only, values larger than 1 are correlated
    ### to the effective key length for encryption (e.g. 128 means 128-bit
    ### encryption). The values below are the defaults.
    # min-encryption = 0
    # max-encryption = 256
    

    接下来,将/data/svn/conf目录下的svnserve.conf文件复制到/data/svn/test/conf/目录下。如下所示。

    [root@binghe101 conf]# cp /data/svn/conf/svnserve.conf /data/svn/test/conf/
    cp:是否覆盖'/data/svn/test/conf/svnserve.conf'? y
    

    4.启动SVN服务

    (1)创建svnserve.service服务

    创建svnserve.service文件

    vim /usr/lib/systemd/system/svnserve.service
    

    文件的内容如下所示。

    [Unit]
    Description=Subversion protocol daemon
    After=syslog.target network.target
    Documentation=man:svnserve(8)
    
    [Service]
    Type=forking
    EnvironmentFile=/etc/sysconfig/svnserve
    #ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS
    ExecStart=/usr/bin/svnserve --daemon $OPTIONS
    PrivateTmp=yes
    
    [Install]
    WantedBy=multi-user.target
    

    接下来执行如下命令使配置生效。

    systemctl daemon-reload
    

    命令执行成功后,修改 /etc/sysconfig/svnserve 文件。

    vim /etc/sysconfig/svnserve 
    

    修改后的文件内容如下所示。

    # OPTIONS is used to pass command-line arguments to svnserve.
    # 
    # Specify the repository location in -r parameter:
    OPTIONS="-r /data/svn"
    

    (2)启动SVN

    首先查看SVN状态,如下所示。

    [root@itence10 conf]# systemctl status svnserve.service
    ● svnserve.service - Subversion protocol daemon
       Loaded: loaded (/usr/lib/systemd/system/svnserve.service; disabled; vendor preset: disabled)
       Active: inactive (dead)
         Docs: man:svnserve(8)
    

    可以看到,此时SVN并没有启动,接下来,需要启动SVN。

    systemctl start svnserve.service
    

    设置SVN服务开机自启动。

    systemctl enable svnserve.service
    

    接下来,就可以下载安装TortoiseSVN,输入链接svn://192.168.0.10/test 并输入用户名binghe,密码binghe123来连接SVN了。

  • 相关阅读:
    vue,如何每次访问同样路由都可以刷新
    CentOS 7.X 关闭SELinux
    Centos7安装Redis
    ubuntu 18.04 安装 MySql,并配置远程连接
    CentOS7设置阿里镜像源
    ubuntu 18.04 设置静态ip方法
    发现网络产品漏洞后,应立即通知上游开发者,并及时通知下游用户
    ApacheCN 数据库译文集 20211112 更新
    ApacheCN Linux 译文集(二) 20211206 更新
    ApacheCN C# 译文集 20211124 更新
  • 原文地址:https://www.cnblogs.com/guigujun/p/12935273.html
Copyright © 2011-2022 走看看