Kissdx svn migration
From Kissdx-wiki
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

