Change Management

How to copy Subversion repositories to another server

  1. Ensure you have a working Subversion installation with Apache installed on your system.
  2. On the source machine, dump each repository:
    > svnadmin dump /path/to/repository > repository-name.dmp
  3. Copy repository-name.dmp to the target server.
  4. Load the repository into the new server:
    > cd /path/to/new-repository
    > svnadmin create repository-name
    > svnadmin load repository-name < repository-name.dmp
    
  5. Reassign apache permissions:
    > chown -R apache.apache repository-name
  6. You are now ready to begin using your repository on the new server!

Be the first to comment - What do you think?  Posted by David Dietrich - January 31, 2009 at 3:51 am

Categories: Change Management, Linux, Security   Tags:

How to install Subversion with Apache HTTPD

  1. Ensure you have Apache installed on your system.
  2. Ensure you have mod_dav_svn installed:
    > yum -y update mod_dav_svn
  3. Edit /etc/httpd/conf.d/subversion.conf and append the following lines to the end of your config file:
    <Location /svn>
    DAV svn
    SVNParentPath /var/svn
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile /etc/svn-auth-file
    AuthzSVNAccessFile /etc/svnserve.conf
    Require valid-user
    </Location>
    
  4. Create a file called /etc/svn-auth-file
    Assign permission:

    > chown root.root /etc/svn-auth-file
    > chmod 644 /etc/svn-auth-file
  5. Add users to /etc/svn-auth-file (one per line) in the form:
    tom:$apr1$hDMIx…$abctozvZbC9J6/heHBBe481You can use htpasswd to do this automatically:

    > ### First time: use -cm to create the file
    > ### Use -m to use MD5 encryption of the password, which is more secure
    > htpasswd -m /etc/svn-auth-file harry
    New password: *****
    Re-type new password: *****
    Adding password for user harry
    > htpasswd /etc/svn-auth-file -m sally
    New password: *******
    Re-type new password: *******
    Adding password for user sally
    >
  6. Create a file called /etc/svnserve.conf
    Fill it with:

    [/]
    *=
    svnUser=rw

    The user svnUser is being granted read and write access to all projects, while all other users (*) are being denied access.

  7. Assign permissions:
    > chown root.apache /etc/svnserve.conf
    > chmod 640 /etc/svnserve.conf
  8. Create /var/svn.
    > mkdir -p /var/svn
    > chmod 755 /var/svn
  9. If you are running SELinux, run:
    > chcon -R -h -t httpd_sys_content_t /var/svn
  10. You are now ready to being adding Subversion repositories!

Be the first to comment - What do you think?  Posted by David Dietrich - at 2:32 am

Categories: Apache Tomcat, Change Management, Linux   Tags: , ,