Assume that the apache server has been installed and started on port 80. All operations are carried out under the root user, in particular the establishment of the warehouse folder and open the svn server to build the repository are under the root user permissions, this will prevent the last client operation occurs when the permissions problem, the actual use of new svn dedicated users and Grant read and write permissions to manage.
Install the SVN
Apt-get install subversion
Create the svn repository
1). Create svn directory: (use hidden directory)
2). Create the warehouse test1:
Svnadmin create /home/.svn/test1
After the completion of test1 directory has svnadmin create the directory and file
3). Create the warehouse test2:
Svnadmin create /home/.svn/test2
After the implementation of test2 directory has svnadmin create the directory and file
Configure and manage svn
1). Configure svnserve.conf
The configuration file for each repository is under $ repos / conf /, vim svnserve.conf, and the configuration item under [general]:
Anon-access: Anonymous user permissions, can be read, write and none, the default value read. Anonymous user access is not allowed: anon-access = none
Auth-access: Authentication user permissions, can be read, write and none, the default value of write.
Password-db: password database path, remove the front of the #
Authz-db: The path to the authentication rule base, removing the leading #.
Note: These configuration items are the top of the line, otherwise an error. After the configuration, you need to restart svn to take effect.
2). Configure the passwd file
This is the password file for each user, is relatively simple, is the "user name = password", is used in the code. Such as
Adminuser = passwordxxx
User1 = 111111
User2 = 222222
3). Configure the authz file
[Groups]: In order to facilitate the management, you can put some users inside a group, such as:
Admin = adminuser
Develop = user1, uesr2
Groups below the section of a list of authentication rules, such as the root directory of the authentication rules section [/]. When setting a single user authentication rule, a user line, if you use the group, you need to add the group name before the @
@ Admin = rw #admin The permissions for the root directory for the user group are rw
Start from /home/.svn/test1 start, / is the test1 directory, as above to test1 directory root set permissions.
If started from /home/.svn/, each repository root is its own home directory. You can set the permissions of test1 as above, or you can use the following methods:
@ Admin = rw
[Test1: / trunk / test1]
@ Develop = rw
[Repos: /] This method only applies to multi-warehouse situation; [/] Suitable for single-warehouses and single-warehouse approach.
Starts and stops svn
Start from the test1 directory (a project repository directory)
Svnserve -d -r /home/.svn/test1
The root directory (/) is test1, and the authz rules are configured using section [/]. The access method is: svn: //192.168.0.87/
Start from the .svn directory
Svnserve -d -r /home/.svn
The root directory (/) is .svn, and authz uses the section [test1: /] for the configuration of test1. The access mode is:
If you need to start svn, add the command to /etc/rc.local
2). Check whether the svn server has been started (svn default port 3690):
Netstat -tnl | grep 3690
Configure http access
Will svn configuration to apache http web access through the need to edit / etc / apache2 / apache.conf file, and then add the following to apache.conf tail
< Location / test1>
AuthName "Subversion Repository"
< / Location>
There are multiple items you need to add more than the above configuration item can be.
At the same time, in order to enable the identification of svn apache configuration items need to be loaded to ensure that the apache loading the following modules:
LoadModule dav_module modules / mod_dav.so
LoadModule dav_fs_module modules / mod_dav_fs.so
LoadModule dav_svn_module modules / mod_dav_svn.so
LoadModule authz_svn_module modules / mod_authz_svn.so
After the above configuration is completed, you can use the way http://126.96.36.199/test1 visit.