Centos7.6安装SVN服务

    技术2022-07-17  70

    使用yum 进行安装
    [root@iZ ~]# yum -y install subversion Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile base | 3.6 kB 00:00:00 epel | 4.7 kB 00:00:00 extras | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/3): epel/x86_64/primary_db | 6.8 MB 00:00:00 (2/3): epel/x86_64/updateinfo | 1.0 MB 00:00:00 (3/3): updates/7/x86_64/primary_db | 3.0 MB 00:00:00 Resolving Dependencies --> Running transaction check
    查看安装的内容
    [root@iZhp ~]# rpm -ql subversion /etc/subversion /etc/sysconfig/svnserve /run/svnserve /usr/bin/svn /usr/bin/svnadmin /usr/bin/svndumpfilter /usr/bin/svnlook /usr/bin/svnrdump /usr/bin/svnserve /usr/bin/svnsync /usr/bin/svnversion /usr/lib/systemd/system/svnserve.service /usr/lib/tmpfiles.d/svnserve.conf /usr/share/bash-completion/completions/svn /usr/share/bash-completion/completions/svnadmin /usr/share/bash-completion/completions/svndumpfilter /usr/share/bash-completion/completions/svnlook /usr/share/bash-completion/completions/svnsync /usr/share/bash-completion/completions/svnversion /usr/share/doc/subversion-1.7.14 /usr/share/doc/subversion-1.7.14/BUGS /usr/share/doc/subversion-1.7.14/CHA
    创建版本库目录
    [root@iZhZ var]# mkdir /var/svndata [root@iZh var]#
    创建指定项目的版本数据目录(并针对这个目录配置用户及权限)
    进入版本库目录使用svnadmin create 目录名 创建数据目录 [root@iZhp3blZ svndata]# svnadmin create /var/svndata/pytest [root@iZhp svndata]# cd pytest/ [root@iZhp pytest]# ls conf db format hooks locks README.txt
    对数据目录进行配置
    进入数据目录下的conf目录conf目录中有用户,权限和配置的配置文件,分别对其进行配置 [root@iZh svndata]# svnadmin create /var/svndata/pytest [root@iZh svndata]# cd pytest/ [root@iZhp pytest]# ls conf db format hooks locks README.txt [root@iZhp conf]# ls authz passwd svnserve.conf
    配置用户权限目录 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 # [/foo/bar] # harry = rw # &joe = r # * = #配置用户组中的用户: 用户组名称 = 用户a,用户b,用户c user = svnlem #配置可访问的目录 [/] # [repository:/baz/fuz] # @harry_and_sally = rw # * = r #配置用户组读写权限 @user = rw
    配置用户密码 passwd
    ### This file is an example password file for svnserve. ### Its format is similar to that of svnserve.conf. As shown in the ### example below it contains one section labelled [users]. ### The name and password for each user follow, one account per line. [users] # harry = harryssecret # sally = sallyssecret # #配置用户密码: 用户名 = 密码 svnlemon = svnlem.s
    目录访问配置

    包括用户的登录,验证、权限和访问目录等的配置,说明在下面的例子中

    ### 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 = read # auth-access = write #是否可以匿名访问 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 = passwd #用户登录使用的密码配置文件名 password-db = 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 the ### directory containing this file. 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 = authz #用户登录之后可执行的操作权限文件名 authz-db = authz ### 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 = My First Repository #用户登录之后可访问的目录 realm = /var/svndata ### 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 [sasl] ### This option specifies whether you want to use the Cyrus SASL ### library for authentication. Default is false. ### This section will be ignored if svnserve is not 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
    svn服务开启,防火墙
    启动svn 服务: svnserve -d -r /var/svnrepos开启端口: 默认端口为3690 vi /etc/sysconfig/iptables #添加配置信息 -A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT #保存退出 systemctl restart iptables.service #重启防火墙使配置生效 查看服务是否启动成功 ps -ef | grep ‘svnserve’ [root@iZh conf]# ps -ef | grep 'svnserve' root 1549 1484 0 09:33 pts/0 00:00:00 grep --color=auto svnserve root 32451 1 0 Jul02 ? 00:00:00 svnserve -d -r /var/svndata
    svn客户端登录:
    登录地址: svn://IP(域名)地址/项目地址 上例中: 项目地址为: pytest 。 svn://localhost/pytest验证用户登录登录成功checkout项目信息
    Processed: 0.008, SQL: 9