Svn via https
From Andreida
Install apache, https-svn package and subversion itself:
apt-get install apache2 libapache2-svn subversion
OR (if libapache2-svn is not available)
apt-get install apache2 libapache2-mod-svn subversion
Enable the ssl mod:
a2enmod ssl
Perhaps, if a2enmod is unknown: Make sure /usr/sbin is in PATH, for example source /etc/profile in ~/.bashrc (.profile was not sourced for me)
Check the listen ports: (443 is normal ssl)
vi /etc/apache2/ports.conf
Copy the default site to your new site
cd /etc/apache2/sites-available cp default-ssl.conf svn-ssl.conf
Enable the site
cd /etc/apache2/sites-enabled ln -s ../sites-available/svn-ssl.conf
Enable dav: (just follow the instructions)
vi /etc/apache2/mods-available/dav_svn.conf
Example:
<Location /svn> DAV svn SVNParentPath /var/reps AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd AuthzSVNAccessFile /etc/apache2/dav_svn.authz Require valid-user </Location>
Enable the security:
a2enmod authn_file a2enmod auth_basic
Create user and password
htpasswd -c /etc/apache2/dav_svn.passwd myuser
Add user and password
htpasswd /etc/apache2/dav_svn.passwd myuser2
Edit the per directory permissions:
vi /etc/apache2/dav_svn.authz [repository1:/] harry = rw sally = r [repository1:/path/somewhere] sally = rw [repository2:/] sally = rw
Create the repositories:
cd /var/reps svnadmin create demo-1 svnadmin create demo-2 svnadmin create demo-3
Allow the webserver to read and write the svn files:
chown -R www-data:www-data /var/reps chmod -R 770 /var/reps
Now check your firewall rules for 443/https and do a
/etc/init.d/apache2 restart
svn list --username myuser https://www.yourDomain.com/svn/demo-1