⬆️ ⬇️

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