Kissdx svn migration

From Kissdx-wiki

Jump to: navigation, search

Host migration : SVN repository

SVN prerequisite sofware
cat /proc/version
Linux version 2.6.27-11-server (buildd@yellow) (gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu11) )
#1 SMP Wed Apr 1 21:34:13 UTC 2009

dpkg
subversion     1.5.1dfsg1-1ubuntu2.1         Advanced version control system
websvn         2.0-2                         interface for subversion repositories
apache2        2.2.9-7ubuntu3.3              Apache HTTP Server metapackage
libapache2-svn 1.5.1dfsg1-1ubuntu2.1         Subversion server modules for Apache

filesystem
/DATA/dev/kiss/kissdx/svn
Retrieve last full dump and restore

In fact the repository created by svnadmin create is named kissdx and the project existing inside the repository is already named kissdx. This could generate some confusion. That's history.

wget http://ctj2ee.free.fr/Public/kissdx-save/dump_kissdx_2009.06.19-22.00.01.tar.bz2
tar -xjf dump_kissdx_2009.06.19-22.00.01.tar.bz2 
svnadmin create kissdx  (creating an empty repository)
svnadmin load  kissdx <  kiss2/kissdx/dump/dump_kissdx_2009.06.19-22.00.01
svnadmin verify  kissdx
Configure remote access

SVNParentPath refer to repository, regardless .authz file refer to project inside the repository

/etc/apache2/mods-available/dav_svn.conf
SVNParentPath /DATA/dev/kiss/kissdx/svn/
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Enable developer role : dav_svn.authz 
[groups]
kissdx-developers = admin,vit,bluediver,anyNewDevelopers
kissdx-admin = admin,vit
[kissdx:/]
@kissdx-developers=rw
@kissdx-admin=rw
[AnyOtherProjectInsideThisRepository:/Trunk]
@kissdx-developers=rw
# All user read 
[/]
* = r
htpasswd /etc/apache2/dav_svn.passwd anotheruser

In this configuration, a svn co http://server/svn/kissdx create a double kissdx/kissdx directory structure. In order to return to a single kissdx directory, we should (to be tested):

Configure apache2/mod_enabled/dav_svn.conf SVNPath to ../svn/kissdx/
Configure web viewer
ln /etc/websvn/apache.conf /etc/apache2/conf.d/
ls => /usr/share/websvn/include/config.php -> /etc/websvn/config.php
tail config.php =>   include("/etc/websvn/svn_deb_conf.inc");
dpkg-reconfigure websvn .... will create svn_deb_conf.inc
customise config.php
Rerout incomming request to the new host

Configure any enable site settings

ProxyRequests off
<Proxy *>
  AddDefaultCharset off
  Order deny,allow
  Allow from all
</Proxy>
ProxyPass        /newsvn/ http://newserver/svn/
ProxyPassReverse /newsvn/ http://newserver/svn/
ProxyPass        /newwebsvn/ http://newserver/websvn/
ProxyPassReverse /newwebsvn/ http://newserver/websvn/
ProxyVia On
Testing before final migration

In eclipse, start a new svn hosted project : /file/new/others/svn/checkoutProjectFromSVN
Create a new location : http://www.famille-kahn.com/newsvn/kissdx and select /kissdx/trunk/
As project name in workspace 'testmigratedkissdx' head revision


Final migration

Change apache configuration to proxypass /svn and websvn to the new server

Personal tools
Developper