How to install SVN server under Linux

How to install SVN server under Linux

1. Yum installation

yum install subversion

2. Configuration

1. Create a warehouse

We create a repository named svn under /home, and all the codes will be placed under it in the future. After the creation is successful, several more folders will be added under svn.

[root@localhost /]# cd /home
[root@localhost home]# mkdir svn
[root@localhost home]# svnadmin create /home/svn
[root@localhost home]# ls svn
conf db format hooks locks README.txt

conf folder, which stores configuration files

[root@localhost home]# cd svn/conf
[root@localhost conf]# ls
authz passwd svnserve.conf
  • authz is the permission control file
  • passwd is the account password file
  • svnserve.conf is the SVN service configuration file

2. Configure the passwd file

[root@localhost 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 [users].
### The name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret

user1=123456
user2=123456

3. Configure authz

[root@localhost conf]# 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 [groups] section,
### - an alias defined in a special [aliases] 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
### ('').

[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
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

[/]
user1=rw
user2=r
*=
~ 

4. Configure svnserve.conf

[root@localhost 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 (aka 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
### 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
### 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 = My First Repository
realm = /home/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

[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
                

Remember to change the realm in the last line to your SVN directory. When opening comments, remember not to leave a space in front.

3. Start and stop

[root@localhost conf]# svnserve -d -r /home/svn (start)
[root@localhost conf]#kill all svnserve (stop)

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • How to configure SVN under Linux to achieve automatic update of project directory and source code installation
  • Sharing the steps of compiling, installing and configuring SVN server under Linux
  • How to install and configure SVN standalone server under Linux

<<:  How to quickly use mysqlreplicate to build MySQL master-slave

>>:  Summary of seven sorting algorithms implemented in JavaScript (recommended!)

Recommend

What to do if the auto-increment primary key in MySQL is used up

In the interview, you should have experienced the...

IE8 Beta 1 has two areas that require your attention

<br />Related articles: Web skills: Multiple...

How to view the status of remote server files in Linux

As shown below: The test command determines wheth...

How to query the intersection of time periods in Mysql

Mysql query time period intersection Usage scenar...

Implementing a simple calculator with javascript

This article example shares the specific code of ...

About the pitfall record of Vue3 transition animation

Table of contents background Problem location Fur...

Vue implements calling PC camera to take photos in real time

Vue calls the PC camera to take pictures in real ...

Detailed explanation of using Vue.prototype in Vue

Table of contents 1. Basic Example 2. Set the sco...

Five solutions to cross-browser problems (summary)

Brief review: Browser compatibility issues are of...

Detailed tutorial on installing CUDA9.0 on Ubuntu16.04

Preface: This article is based on the experience ...

MySQL controls the number of attempts to enter incorrect passwords

1. How to monitor MySQL deadlocks in production e...

Implementing a simple carousel based on JavaScript

This article shares the specific code of JavaScri...

The use and methods of async and await in JavaScript

async function and await keyword in JS function h...

How to use watch listeners in Vue2 and Vue3

watch : listen for data changes (change events of...