This topic describes how to deploy Apache Subversion (SVN) by using svnserve.

Prerequisites

Background information

In this topic, the following software versions are used to manually deploy SVN. Choose software versions as needed.
  • Operating system: public image CentOS 7.2 64-bit
  • Subversion: 1.7.14

Procedure

Step 1: Install SVN

  1. Connect to a Linux instance from the console.
  2. Run the following command to install SVN:
    yum install subversion
  3. Run the following command to check the SVN version:
    svnserve --version
    Check the SVN version

Step 2: Configure SVN

  1. Run the following command to create a root directory for an SVN repository:
    mkdir /var/svn
  2. Run the following commands in sequence to create an SVN repository:
    cd /var/svn
    svnadmin create /var/svn/svnrepos
  3. Run the following commands in sequence to check files automatically generated in the SVN repository:
    cd svnrepos
    ls
    Check files in the SVN repository
    The following table describes the SVN directories.
    Directory Description
    db Stores all version control data files.
    hooks Stores hook scripts.
    locks The client used to track access to the SVN repository.
    format A text file that contains only one integer, indicating the version number of the current SVN repository.
    conf The configuration file of the SVN repository, including the username and permissions for accessing the repository.
  4. Set the username and password of the SVN repository.
    1. Run the cd conf/ command.
    2. Run the vi passwd command to open the configuration file.
    3. Press the I key to enter the edit mode.
    4. Move the pointer over the [users] field, and add the username and password.
      Note You can add the username and password in the username = password format, such as userTest = passWDTest in the following figure. There must be a space on both ends of the equal sign (=).
      svnserve password
    5. Press the Esc key to exit the edit mode, and enter :wq to save and close the file.
  5. Set the read and write permissions for the account.
    1. Run the vi authz command to open the access control file.
    2. Press the I key to enter the edit mode.
    3. Move the pointer over the end of the file and add the following code. In the code, userTest specifies the username, r specifies the read permission, and w specifies the write permission.
      [/]
      userTest=rw
      permission
    4. Press the Esc key to exit the edit mode, and enter :wq to save and close the file.
  6. Modify the configurations of the SVN service.
    1. Run the vi svnserve.conf command to open the configuration file of the SVN service.
    2. Press the I key to enter the edit mode.
    3. Move the pointer over the following lines, and delete the number sign (#) and space at the beginning of each line.
      Note Each line cannot start with a space and there must be a space on both ends of the equal sign (=).
      anon-access = read # This assigns read permissions to anonymous users. You can also set anon-access to none to disable access by anonymous users, and then the revision history of the SVN service can show dates.
      auth-access = write # This authorizes write permissions.
      password-db = passwd # This specifies the password database file.
      authz-db = authz # This specifies the file that stores the authorization rules for path-based access control.
      realm = /var/svn/svnrepos # This specifies the authorization realm of the repository.
      Modify the configurations of the SVN service
    4. Press the Esc key to exit the edit mode, and enter :wq to save and close the file.
  7. Run the following command to start the SVN repository:
    svnserve -d -r /var/svn/
    Note Run the killall svnserve command to stop the SVN service.
  8. Run the ps -ef |grep svn command to check whether the SVN service has been started.
    If the following code returned, the SVN service is started.Check the SVN service status

Step 3: Use a Windows client to test the SVN service

  1. Download and install the TortoiseSVN client on your local computer.
  2. Right-click the blank area in the local project folder.
    In this example, the project folder is C:\KDR.
  3. Choose SVN Checkout... from the shortcut menu.
  4. Configure the following settings and click OK:
    • Set the URL of repository: field in the following format: svn://Public IP address of the ECS instance/SVN repository name. In this example, the SVN repository name is svnrepos.
    • Set the Checkout directory: field. In this example, the directory is C:\KDR.
    TortoiseSVN
    Note During the logon for the first time, you must provide the username and password that you have configured in the passwd file.