Home PC Games Linux Windows Database Network Programming Server Mobile  
           
  Home \ Server \ Linux CentOS configuration SVN + SVN hook     - C + + secondary pointer memory model (pointer array) (Programming)

- Linux System Getting Started Learning: Disable HTTP forwarding wget in (Linux)

- Java Cookie Comments (Programming)

- Learn to read the source code of vmstat (Linux)

- Lua and C ++ (Programming)

- CentOS 7 Test Marathon start Docker container (Server)

- Unsafe reboot start (Linux)

- Increase Linux system security --chattr (Linux)

- Linux C source code (Ascii HexToBinary: Converts hexadecimal string format ASCII codes) (Programming)

- Upgrading KDE Plasma 5.3 in Ubuntu 15.04 (Linux)

- How to use the Linux command compress JPEG images (Linux)

- Linux system performance monitoring with Nmon (Linux)

- Spring Data JPA @EnableJpaRepositories configuration in detail (Programming)

- Difference in MySQL VARCHAR and CHAR data format (Database)

- Scope of variables in C # (Programming)

- Using the Linux VNC service (Server)

- Linux LVM Logical Volume Management to resize partitions (Linux)

- Compile and install Memcached can not find GCC (Programming)

- sed and awk in shell usage and some examples (Linux)

- Linux (RHEL6 CENTOS6 OLE6) VNC-SERVER Installation and Configuration (Server)

 
         
  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

[General]
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

[Users]
Test = test Creates a user named tset with the password test

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

[Groups]
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
  Try:
    Logfile = open ( '/ tmp / python.out', 'a +')
  Logfile.write ( "this is python hook")
  Logfile.close ()
  Except:
    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: //192.168.21.28/repos

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]
  Then
        Echo "ok" >> /tmp/z.out
Fi

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
     
         
         
         
  More:      
 
- How to cool down your Ubuntu system (Linux)
- Ubuntu How to install and upgrade Linux Kernel 3.15 (Linux)
- Android code performance optimization tips (Programming)
- The virtual memory (Linux)
- Depth understanding of DB2 table space (Tablespace) (Database)
- NET Developers need to know some Linux commands (Linux)
- Linux environment SSH login password instead of using the RSA Certificate (Linux)
- Kubernetes resolve application deployment model (Server)
- Use Observium to monitor your network and servers (Server)
- Use rfkill soft-switching and Bluetooth wireless capabilities in Linux (Linux)
- Linux operating system set up to effectively prevent ARP attacks (Linux)
- How to create a secure and easy to remember password (Linux)
- Is Linux the most secure operating system (Linux)
- Slow update statement Performance Analysis (Database)
- Ubuntu Backup and Recovery (Linux)
- Memory leak analysis using Android studio (Programming)
- About Linux backdoor (Linux)
- 12 Linux Process Management Commands (Linux)
- Java executable file to read information from a database copy (Programming)
- Firewall - Internet Militarization (Linux)
     
           
     
  CopyRight 2002-2020 newfreesoft.com, All Rights Reserved.