📜 ⬆️ ⬇️

Denwer and SVN. We are friends!

Intro.

There was a situation in which I and another programmer had to work on the same project. I have been using the Gentleman's kit for a long time, and I like its portability and small size.

A little twisting modules, everything became clear. I will outline my version, which may help someone to reduce both time and resources.

What do you need?


Denwer.
www.denwer.ru

SVN (Tigris)
subversion.tigris.org
svn-win32-1.xxzip
')

Install, customize


  1. Installing Denver (For those who have it installed, this item is safely omitted).
    We will assume that the folder in which the Denver was installed will be referred to as [Denver's Folder]
  2. Create a folder for the SVN binaries (I think it would be better if it is stored with all the gentlemen’s belongings).
    Let it be [Denver folder] \ usr \ local \ svn .
    Unpack the contents of the svn-win32-1.xxzip archive into the created folder.
  3. Copy the files mod_dav_svn.so , mod_authz_svn.so from the [Denver folder] \ usr \ local \ svn \ bin folder into the Apache modules folder ( [Denver folder] \ usr \ local \ apache \ modules ) and the files intl3_svn.dll , libdb44.dll to the Apache binaries folder ( [Denver folder] \ usr \ local \ apache \ bin )
  4. Create another folder for our future repository.
    Let it be [Denver Folder] \ repository .
  5. Add the required environment variables.
    PATH=%PATH%; [ ]\usr\local\svn\bin
    APR_ICONV_PATH= [ ]\usr\local\svn\iconv
  6. Create a repository. In the command line in the [Denver Folder] \ repository folder, execute the following command:
    >svnadmin create [ ]
    You can create several different projects this way.
  7. We set up a repository to work in several hands or other limbs.
    1. We create users of a repository.

      htpasswd.exe -cm [ ]\usr\local\svn\svn-auth [ ]
      htpasswd.exe -m [ ]\usr\local\svn\svn-auth [ ]

    2. Configure access rights.
      Create the [Denver Folder] file \ usr \ local \ svn \ svn-acl
      We assume that we have created users (Section 7.1.) User1 , user2 , user3 , user4 and projects project1 and project2 . The first 2 users work as a team on the first, closed project, the rest - on the second project opened for viewing.

      #---- svn-acl ----
      # .
      [groups]
      team1 = user1, user2
      team2 = user3, user4

      # – RW (, )
      [project1:/]
      @team1 = rw

      # – RW (, ) – R ()
      [project2:/]
      @team2 = rw
      *=r
      #--------
    3. Create a configuration file for APACHE2
      [Denver folder] \ usr \ local \ svn \ subversion.conf
      #---- subversion.conf ----
      # SVN
      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

      #
      # localhost/svn1, - localhost/svn2.
      # IP ,
      # #denwer (http://192.168.0.1/svn1)
      #
      <Location /svn1>
      DAV svn
      SVNListParentPath on
      SVNPath [ ]/svn/project1
      AuthType Basic
      AuthName "Subversion repository"
      AuthUserFile [ ]/usr/local/svn/svn-auth
      Require valid-user
      AuthzSVNAccessFile [ ] /usr/local/svn/svn-acl

      <Location / svn2>
      DAV svn
      SVNListParentPath on
      SVNPath [Denver Folder] / svn / project2
      AuthType Basic
      AuthName "Subversion repository"
      AuthUserFile [Denver Folder] / usr / local / svn / svn-auth
      Require valid-user
      AuthzSVNAccessFile [Denver Folder] / usr / local / svn / svn-acl


Add the configuration to Apache, at the end of the httpd.conf file append the line:
Include ../../svn/subversion.conf
Launch Denver and try to go to localhost / svn1
Woo-la!

Source: https://habr.com/ru/post/27806/


All Articles