Home IT Linux Windows Database Network Programming Server Mobile  
  Home \ Server \ Linux CentOS configuration SVN + SVN hook     - MySQL Tutorial: Building MySQL Cluster under Linux (Database)

- Performance Diagnosis of 60,000 milliseconds for Linux (Linux)

- Large computer network security policy Experience (Linux)

- Linux, how to filter, split, and merge pcap file (Linux)

- Keepalived + HAProxy high availability load balancing (Server)

- Teach you how to synchronize Microsoft OneDrive in Linux (Linux)

- OpenGL ES 3.0 vertex buffer (Programming)

- Nginx Module Development - get user ip (Server)

- Java data structures - the single linked list LinkedList linear table (Programming)

- MySQL to recover the data through binlog (Database)

- Installation and Configuration OpenVPN server and client on Ubuntu 15.04 (Server)

- Linux kernel RCU (Read Copy Update) lock Brief - prequel (Linux)

- Through Oracle to help restore MySQL data problems (Database)

- Linux Telnet access Windows 7 configuration procedure (Linux)

- Caffe install under Ubuntu 14.04 64bit (Linux)

- JavaScript object - Flexible and dangerous (Programming)

- MongoDB relations, references, index query coverage (Database)

- Ceph single / multi-node installation summary Powered by CentOS 6.x (Server)

- Justniffer installed on Ubuntu 15.04 (Linux)

- Learning Linux coding style (Programming)

  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
- Can not empty the Recycle Bin to repair problems in Ubuntu 14.04 (Linux)
- Command filter MySQL slow query log (Database)
- Debian GNU / Linux service list acquisition, shutting down services or run (Linux)
- Eight sorting algorithm implemented in Python (Programming)
- Linux based serial programming (Programming)
- MariaDB 10 Multi-source replication (Database)
- Deep understanding of C # generics (Programming)
- Red Flag Linux Desktop 6.0 hard disk installation guide (Programming)
- What is the Docker (Linux)
- Git / Github use notes (Linux)
- Oracle Data Pump Example (Database)
- Linux uses the SMTP proxy to send mail (Linux)
- Management Linux Container with Docker in Ubuntu (Linux)
- Ubuntu under Spark development environment to build (Server)
- MySQL partition summary (Database)
- Ubuntu and Archlinux install Notepadqq 0.50.2 (Linux)
- Three details reflect the Unix system security (Linux)
- Common Linux system performance monitoring command (Linux)
- Ubuntu configuration SVN and http mode access (Server)
- Summarize small problems encountered in the use Lua (Programming)
  CopyRight 2002-2016 newfreesoft.com, All Rights Reserved.