Svn
From CSLabsWiki
| Svn | |
| Maintainer: | Zach Shepherd |
| Hostname: | svn.cslabs.clarkson.edu |
| Operating system: | Ubuntu Gutsy |
| LDAP Support: | No |
| Development Status: | Stable |
| Status: | Running |
| Domain 0: | Xen2 |
Svn is the virtual machine running the COSI subversion server.
Contents |
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
