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

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 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.