Difference between revisions of "Svn"

From CSLabsWiki
m (changed status to stable... it is stable correct? what happened with the VC vm?)
m
Line 1: Line 1:
 
{{VM|
 
{{VM|
 
|hostname=svn.cslabs.clarkson.edu
 
|hostname=svn.cslabs.clarkson.edu
|maintainer=[[User:Shephezj|Zach Shepherd]]
+
|maintainer=????
 
|operating_system=[[wikipedia:Ubuntu|Ubuntu Gutsy]]
 
|operating_system=[[wikipedia:Ubuntu|Ubuntu Gutsy]]
 
|ldap=No
 
|ldap=No

Revision as of 15:31, 25 May 2010

Hostname: svn.cslabs.clarkson.edu
Operating system: Ubuntu Gutsy
LDAP Support: No
Development Status: Stable
Status: Running


Svn is the virtual machine running the COSI subversion server.

Installed Packages

  • Those included in a Gutsy Debootstrap
  • emacs22-nox
  • nano
  • openssh-server
  • subversion
  • subversion-tools
  • apache2
  • libapache2-svn
  • sendmail

Configuration Files

Apache 2

/etc/apache2/httpd.conf

<Location /svn>
  DAV svn
  SVNParentPath /var/svn/repos

  # our access control policy
  AuthzSVNAccessFile /var/svn/conf/authz

  # try anonymous access first, resort to real
  # authentication if necessary.
  Satisfy Any
  Require valid-user
  # how to authenticate a user
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile /var/svn/conf/passwd
</Location>

Subversion

Directory Structure

   |var
   |-svn
   |---conf
   |---repos
   |-----REPO_1
   |-------dav
   |-------db
   |---------revprops
   |---------revs
   |---------transactions
   |-------hooks
   |-------locks
   |-----REPO_2
   |-------dav
   |-------db
   |---------revprops
   |---------revs
   |---------transactions
   |-------hooks
   |-------locks
   |-----REPO_3 ...

Authentication Files

/var/svn/conf/authz

[REPO:/path]
user = {none | r | rw}
@group = {none | r | rw}

[groups]
group = user1,user2

/var/svn/conf/passwd

An htpasswd file containing the user/password combinations for the users referenced in the above file. To allow for anonymous checkout, add the permission line * = r to a repository.

Common Tasks

Adding a User

# htpasswd -m /var/svn/conf/passwd <username>
New password: <password>
Re-type new password: <password>
Adding password for user <username>

Adding a Repository

# svnadmin create /var/svn/repos/<reponame>
# chown -R www-data /var/svn/repos/<reponame>

Grant access to a User for a Repository

  • Edit the /var/svn/conf/authz file