Home IT Linux Windows Database Network Programming Server Mobile  
  Home \ Server \ Linux CentOS configuration SVN + SVN hook     - PostgreSQL using the system cache to improve operational efficiency (Database)

- To install Xen in Ubuntu 12.04 (Linux)

- Share Java-based multithreading file case (Programming)

- CentOS 6 Install Linux kernel source (Linux)

- C # mobile side and PC-side data exchange (Database)

- Teamviewer not start in Linux (Linux)

- Linux - use chroot command (Linux)

- Install Visual Studio Code in Ubuntu (Linux)

- Build RPM package uses Docker mirror (Linux)

- The Concept and Semantics of Java Memory Model (Programming)

- SQL Beginner Guide (Database)

- Struts2 study notes -Valuestack (value stack) and OGNL expression (Programming)

- Ubuntu 14.04 build Android 5.1 development environment and compiler (Linux)

- Linux basis: a comprehensive study pwd command (Linux)

- Installation and deployment of MariaDB under CentOS (Database)

- Java Set and List in the relationship and difference (Programming)

- Java object initialization (Programming)

- Cool Android realization SVG animation (Programming)

- Python script running in the background (Programming)

- Linux novice common commands (Linux)

  Linux CentOS configuration SVN + SVN hook
  Add Date : 2017-08-31      
  Environment Introduction:
Operating System: CentOS release 6.5 (Final) 64-bit
Network environment: Intranet

1 Configure the SVN
1.1 Install the SVN package
Use yum to install the required packages for svn
# Yum -y install subversion

1.2 Configuring the SVN
1.2.1 Create the svn library path
Create the svn library path, which provides later user file writes and reads.
# Mkdir -p / date / svn /

1.2.2 Create an SVN repository
Use a specific command to create the repository, and after the creation of the directory, the SVN configuration file will appear.
# Svnadmin create / date / svn /

1.2.3 Define the configuration file
#vim /opt/svndata/repos1/conf/svnserve.conf

Anon-access = none
Auth-access = write
Password-db = passwd # Define the configuration file for the user password
Authz-db = authz # Define the user rights profile
Realm = svn

1.2.4 User Rights Configuration
1, the creation of svn visit users
# Vim / data / svn / passwd

Test = test Creates a user named tset with the password test

2, the allocation of user access
#vi / opt / svndata / repos1 / conf / authz

Admin = test
# Harry_and_sally = harry, sally
@admin = rw
[Repos1: / abc / aaa]
@admin = r

Repository directory format:
[< Repository>: / project / directory] # is the project name as the first unit. Imagine the project as a unit
@ < User group name> = < permission>
< User name> = < permission>
Among them, the box can be a number of parts of the wording:
/, Indicates the root directory and the following. The root directory is specified at svnserve startup, and we specify / opt / svndata. In this case, / means to set permissions on all repositories.
Repos1: /, said the authority to set up a repository
Repos2: / abc,, said that the repository 2 abc project set permissions
Repos2: / abc / aaa,, said the abc in the repository 2 projects aaa directory set permissions
The authority principal can be a user group, a user, or a user group, and the user group is preceded by @ and * for all users. Permissions can be w, r, wr and empty, empty means that there is no authority.
1.2.5 Starting the SVN
# Svnserve -d -r / date / svn /

-d means running in daemon mode (running in background)
-r / date / svn Specifies that the root directory is / date / svn
1.3 Configuring the Hook
1.3.1 Configuring the Version Detection Tool
Their use of python to write a document automatically detects the version of the tools inside the library. The code is as follows:
# Vim /date/svn/hooks/gouzi.py
#! / Usr / bin / env python
If __name __ == '__ main__':
  Importsys, string
    Logfile = open ( '/ tmp / python.out', 'a +')
  Logfile.write ( "this is python hook")
  Logfile.close ()
    Exit (1)
  Sys.exit (0)

This tool must be placed in the hooks directory in the library directory.
1.3.2 Configuring the UPDATE Script
1, the first manual checkout on the client
# Svn checkout svn: //

2, edit the automatic synchronization script
# Vim svn_update.sh

The code is as follows
 #! / Bin / bash
/ Usr / bin / svn update / linshi / repos --username test --password test
If [$? == 0]
        Echo "ok" >> /tmp/z.out

Where: / linshi / for the storage directory (depending on the environment may be)
    --username test User name is test
    --password test The password is test
3, modify the permissions
# Chmod + x /root/svn_update.sh

4, configure the scheduled tasks
Because the script can not achieve automatic execution, so configure the scheduled task settings once per minute.
# Crontab -e
* * * * /root/svn_update.sh> / dev / null 2> & 1
- How to configure security management services under Linux (Linux)
- Install the Red Hat Container Development Kit on OSX (Server)
- How to configure AWStats in Ubuntu Server (Server)
- Using Oracle for Oracle GoldenGate to achieve a one-way data synchronization (Database)
- CentOS How quickly customize kernel binary RPM package (Linux)
- Axel install plug under CentOS 5/6 acceleration yum downloads (Linux)
- How to configure SNMPv3 on Ubuntu, CentOS and Cisco systems (Linux)
- Build Python3.4 + PyQt5.3.2 + Eric 6.0 development platform Ubuntu 14.04 (Server)
- awk pattern matching (Programming)
- Linux Apache server configure to protect system security (Linux)
- Linux System Getting Started Learning: Linux how to install 7zip (Linux)
- Sqoop data export import command (Database)
- Modifying the system registry protection server security (Linux)
- Detailed usage history command (Linux)
- FileZilla install on Ubuntu 14.10 (Linux)
- CentOS 6.4 (64bit) install Python 2.7.5 (Linux)
- How to Start a Linux application running in the background using the terminal mode (Linux)
- Ubuntu install perfectly handsome terminal Guake 0.8.1 (Linux)
- Binary tree traversal recursive and non-recursive (cyclic) traversal achieve (Programming)
- Linux use logs to troubleshoot (Linux)
  CopyRight 2002-2016 newfreesoft.com, All Rights Reserved.