5d6d网 发表于 2018-10-20 09:58:54

centos7.x搭建svn server

# yum install subversion -y  
Loaded plugins: fastestmirror
  
base                                                   | 3.6 kB   00:00
  
extras                                                   | 3.4 kB   00:00
  
updates                                                | 3.4 kB   00:00
  
Loading mirror speeds from cached hostfile
  
* base: mirrors.163.com
  
* extras: mirrors.163.com
  
* updates: mirrors.163.com
  
Resolving Dependencies
  
--> Running transaction check
  
---> Package subversion.x86_64 0:1.7.14-10.el7 will be installed
  
--> Processing Dependency: subversion-libs(x86-64) = 1.7.14-10.el7 for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_wc-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_subr-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_repos-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_ra_svn-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_ra_neon-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_ra_local-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_ra-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_fs_util-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_fs_fs-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_fs_base-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_fs-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_diff-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_delta-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libsvn_client-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libneon.so.27()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Processing Dependency: libapr-1.so.0()(64bit) for package: subversion-1.7.14-10.el7.x86_64
  
--> Running transaction check
  
---> Package apr.x86_64 0:1.4.8-3.el7 will be installed
  
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
  
---> Package neon.x86_64 0:0.30.0-3.el7 will be installed
  
--> Processing Dependency: libpakchois.so.0()(64bit) for package: neon-0.30.0-3.el7.x86_64
  
---> Package subversion-libs.x86_64 0:1.7.14-10.el7 will be installed
  
--> Running transaction check
  
---> Package pakchois.x86_64 0:0.4-10.el7 will be installed
  
--> Finished Dependency Resolution
  

  
Dependencies Resolved
  

  
================================================================================
  
Package                Arch          Version               Repository   Size
  
================================================================================
  
Installing:
  
subversion             x86_64      1.7.14-10.el7         base      1.0 M
  
Installing for dependencies:
  
apr                  x86_64      1.4.8-3.el7             base      103 k
  
apr-util               x86_64      1.5.2-6.el7             base         92 k
  
neon                   x86_64      0.30.0-3.el7            base      165 k
  
pakchois               x86_64      0.4-10.el7            base         14 k
  
subversion-libs      x86_64      1.7.14-10.el7         base      921 k
  

  
Transaction Summary
  
================================================================================
  
Install1 Package (+5 Dependent packages)
  

  
Total download size: 2.3 M
  
Installed size: 8.1 M
  
Downloading packages:
  
(1/6): apr-util-1.5.2-6.el7.x86_64.rpm                     |92 kB   00:00
  
(2/6): neon-0.30.0-3.el7.x86_64.rpm                        | 165 kB   00:00
  
(3/6): pakchois-0.4-10.el7.x86_64.rpm                      |14 kB   00:00
  
(4/6): subversion-1.7.14-10.el7.x86_64.rpm               | 1.0 MB   00:00
  
(5/6): subversion-libs-1.7.14-10.el7.x86_64.rpm            | 921 kB   00:00
  
(6/6): apr-1.4.8-3.el7.x86_64.rpm                        | 103 kB   00:01
  
--------------------------------------------------------------------------------
  
Total                                              1.8 MB/s | 2.3 MB00:01
  
Running transaction check
  
Running transaction test
  
Transaction test succeeded
  
Running transaction
  
Installing : apr-1.4.8-3.el7.x86_64                                       1/6
  
Installing : apr-util-1.5.2-6.el7.x86_64                                  2/6
  
Installing : pakchois-0.4-10.el7.x86_64                                 3/6
  
Installing : neon-0.30.0-3.el7.x86_64                                     4/6
  
Installing : subversion-libs-1.7.14-10.el7.x86_64                         5/6
  
Installing : subversion-1.7.14-10.el7.x86_64                              6/6
  
Verifying: neon-0.30.0-3.el7.x86_64                                     1/6
  
Verifying: apr-1.4.8-3.el7.x86_64                                       2/6
  
Verifying: subversion-1.7.14-10.el7.x86_64                              3/6
  
Verifying: apr-util-1.5.2-6.el7.x86_64                                  4/6
  
Verifying: pakchois-0.4-10.el7.x86_64                                 5/6
  
Verifying: subversion-libs-1.7.14-10.el7.x86_64                         6/6
  

  
Installed:
  
subversion.x86_64 0:1.7.14-10.el7
  

  
Dependency Installed:
  
apr.x86_64 0:1.4.8-3.el7                  apr-util.x86_64 0:1.5.2-6.el7
  
neon.x86_64 0:0.30.0-3.el7                  pakchois.x86_64 0:0.4-10.el7
  
subversion-libs.x86_64 0:1.7.14-10.el7
  

  
Complete!
  

  
# svnserve -h
  
usage: svnserve [-d | -i | -t | -X]
  

  
Valid options:
  
-d [--daemon]            : daemon mode
  
-i [--inetd]             : inetd mode
  
-t [--tunnel]            : tunnel mode
  
-X [--listen-once]       : listen-once mode (useful for debugging)
  
-r [--root] ARG          : root of directory to serve
  
-R [--read-only]         : force read only, overriding repository config file
  
--config-file ARG      : read configuration from file ARG
  
--listen-port ARG      : listen port
  
                           
  
--listen-host ARG      : listen hostname or IP address
  
                           
  
-6 [--prefer-ipv6]       : prefer IPv6 when resolving the listen hostname
  
                           [IPv4 is preferred by default. Using IPv4 and IPv6
  
                           at the same time is not supported in daemon mode.
  
                           Use inetd mode or tunnel mode if you need this.]
  
-c [--compression] ARG   : compression level to use for network transmissions
  
                           [0 .. no compression, 5 .. default,
  
                              9 .. maximum compression]
  
-M [--memory-cache-size] ARG : size of the extra in-memory cache in MB used to
  
                           minimize redundant operations.
  
                           Default is 128 for threaded and 16 for non-
  
                           threaded mode.
  
                           
  
--cache-txdeltas ARG   : enable or disable caching of deltas between older
  
                           revisions.
  
                           Default is no.
  
                           
  
--cache-fulltexts ARG    : enable or disable caching of file contents
  
                           Default is yes.
  
                           
  
-T [--threads]         : use threads instead of fork
  
--foreground             : run in foreground (useful for debugging)
  
                           
  
--log-file ARG         : svnserve log file
  
--pid-file ARG         : write server process ID to file ARG
  
                           
  
--tunnel-user ARG      : tunnel username (default is current uid's name)
  
                           
  
-h [--help]            : display this help
  
--version                : show program version information
  
-q [--quiet]             : no progress (only errors) to stderr
  

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

  
Copyright (C) 2013 The Apache Software Foundation.
  
This software consists of contributions made by many people; see the NOTICE
  
file for more information.
  
Subversion is open source software, see http://subversion.apache.org/
  

  
The following repository back-end (FS) modules are available:
  

  
* fs_base : Module for working with a Berkeley DB repository.
  
* fs_fs : Module for working with a plain file (FSFS) repository.
  

  
Cyrus SASL authentication is available.
  

  
# which svn
  
/usr/bin/svn
  
# mkdir /var/svn
  
# cd /var/svn/
  
#创建版本库
  
# svnadmin create /var/svn/svnrepos
  
#
  
# ls
  
svnrepos
  
# cd svnrepos/
  
# ls
  
confdbformathookslocksREADME.txt
  
# cat README.txt
  
This is a Subversion repository; use the 'svnadmin' tool to examine
  
it.Do not add, delete, or modify files here unless you know how
  
to avoid corrupting the repository.
  

  
Visit http://subversion.apache.org/ for more information.
  
# cd conf/
  
# ls
  
authzpasswdsvnserve.conf
  
# vim 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 .
  
### The name and password for each user follow, one account per line.
  

  

  
# harry = harryssecret
  
# sally = sallyssecret
  

  
#添加admin用户
  
admin = 123456
  
# vim authz
  
### This file is an example authorization file for svnserve.
  
### Its format is identical to that of mod_authz_svn authorization
  
### files.
  
### As shown below each section defines authorizations for the path and
  
### (optional) repository specified by the section name.
  
### The authorizations follow. An authorization line can refer to:
  
###- a single user,
  
###- a group of users defined in a special section,
  
###- an alias defined in a special section,
  
###- all authenticated users, using the '$authenticated' token,
  
###- only anonymous users, using the '$anonymous' token,
  
###- anyone, using the '*' wildcard.
  
###
  
### A match can be inverted by prefixing the rule with '~'. Rules can
  
### grant read ('r') access, read-write ('rw') access, or no access
  
### ('').
  

  

  
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
  

  

  
# harry_and_sally = harry,sally
  
# harry_sally_and_joe = harry,sally,&joe
  

  
#
  
# harry = rw
  
# &joe = r
  
# * =
  

  
#
  
# @harry_and_sally = rw
  
# * = r
  
#
  
#添加新建的用户admin,并授予rw权限
  
[/]
  
admin = rw
  

  
# cat 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.
  

  

  
### 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
  
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
  
### 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
  
### 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 = /var/svn/svnrepos
  
### 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
  

  

  
### 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
  
# svnserve -d -r /var/svn/svnrepos/
  
# ps -ef|grep svn
  
root      9114   10 16:06 ?      00:00:00 svnserve -d -r /var/svn/svnrepos/
  
root      911682140 16:06 pts/0    00:00:00 grep --color=auto svn
  
# netstat -ntlp
  
Active Internet connections (only servers)
  
Proto Recv-Q Send-Q Local Address         Foreign Address         State       PID/Program name
  
tcp      0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      9114/svnserve
  
tcp      0      0 0.0.0.0:22            0.0.0.0:*               LISTEN      1049/sshd
  
tcp      0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1282/master
  
tcp6       0      0 :::3306               :::*                  LISTEN      26795/mysqld
  
tcp6       0      0 :::8080               :::*                  LISTEN      4538/java
  
tcp6       0      0 :::22                   :::*                  LISTEN      1049/sshd
  
tcp6       0      0 ::1:25                  :::*                  LISTEN      1282/master
  
# cd ..
  
# ls
  
confdbformathookslocksREADME.txt
  
# tree
  
.
  
├── conf
  
│   ├── authz
  
│   ├── passwd
  
│   └── svnserve.conf
  
├── db
  
│   ├── current
  
│   ├── format
  
│   ├── fsfs.conf
  
│   ├── fs-type
  
│   ├── min-unpacked-rev
  
│   ├── revprops
  
│   │   └── 0
  
│   │       └── 0
  
│   ├── revs
  
│   │   └── 0
  
│   │       └── 0
  
│   ├── transactions
  
│   ├── txn-current
  
│   ├── txn-current-lock
  
│   ├── txn-protorevs
  
│   ├── uuid
  
│   └── write-lock
  
├── format
  
├── hooks
  
│   ├── post-commit.tmpl
  
│   ├── post-lock.tmpl
  
│   ├── post-revprop-change.tmpl
  
│   ├── post-unlock.tmpl
  
│   ├── pre-commit.tmpl
  
│   ├── pre-lock.tmpl
  
│   ├── pre-revprop-change.tmpl
  
│   ├── pre-unlock.tmpl
  
│   └── start-commit.tmpl
  
├── locks
  
│   ├── db.lock
  
│   └── db-logs.lock
  
└── README.txt
  

  
10 directories, 27 files
  

  
#停止SVN命令
  
killall svnserve


页: [1]
查看完整版本: centos7.x搭建svn server