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

Common naming rules for CSS classes and ids

Public name of the page: #wrapper - - The outer e...

Docker image access to local elasticsearch port operation

Using the image service deployed by docker stack,...

Linux kernel device driver advanced character device driver notes

/****************** * Advanced character device d...

A brief analysis of MySQL explicit type conversion

CAST function In the previous article, we mention...

Detailed tutorial on compiling and installing python3.6 on linux

1. First go to the official website https://www.p...

Docker Detailed Illustrations

1. Introduction to Docker 1.1 Virtualization 1.1....

Mysql method to copy a column of data in one table to a column in another table

mysql copy one table column to another table Some...

Detailed explanation of Linux command unzip

Table of contents 1. unzip command 1.1 Syntax 1.2...

MySQL database transaction example tutorial

Table of contents 1. What is a transaction? 2. Th...

Detailed explanation of the principle of Docker image layering

Base image The base image has two meanings: Does ...

Issues with using Azure Container Registry to store images

Azure Container Registry is a managed, dedicated ...

WeChat applet implements calculator function

WeChat Mini Programs are becoming more and more p...

Beginners understand MySQL deadlock problem from source code

After many difficult single-step debugging late a...