Monday, February 13, 2017

SVN Installlation on CentOS 7



Apache Installation
------------------------


1. sudo yum install httpd
2. sudo service httpd start
3.

SVN Installation
----------------------------

1. sudo yum install mod_dav_svn
2. sudo yum install subversion

3. sudo vi /etc/httpd/conf.d/subversion.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /repos>
   DAV svn
   SVNParentPath /var/www/svn
   # Limit write permission to list of valid users.
   AuthType Basic
   AuthName "Authorization Realm"
   AuthUserFile /var/www/svn-auth/passwd
   AuthzSVNAccessFile  /var/www/svn-auth/access
   Require valid-user
</Location>


4. sudo mkdir /var/www/svn

5. sudo mkdir /var/www/svn-auth

6. sudo vi /var/www/svn-auth/access

[/]
user1 = rw
user2 = rw
guest = rw

7.
sudo htpasswd -cb /var/www/svn-auth/passwd user1 password1
sudo htpasswd -b /var/www/svn-auth/passwd user2 password2
sudo htpasswd -b /var/www/svn-auth/passwd guest password3


8.
cd /var/www/svn
sudo svnadmin create REPO1

9.
sudo chown -R apache.apache /var/www/svn /var/www/svn-auth
sudo chmod 600 /var/www/svn-auth/access /var/www/svn-auth/passwd

10.

sudo service httpd restart

11.
sudo chkconfig httpd on
sudo chkconfig --list

12.
http://YOUR_INSTANCE_IP/repos/REPO1



Other operations

To copy from an older repo including revisions:
# sudo svnadmin dump /var/www/svn/REPO1 > /tmp/REPO1.svn
(copy the file to the new server then)
# sudo svnadmin load /var/www/svn/REPO1 < /tmp/REPO1.svn

To connect a backup mirror on another (non-free) EC2 server with the same setup (guide)
First make revisions editable in the mirror repo:
# sudo echo '#!/bin/sh' > /var/www/svn/REPO1/hooks/pre-revprop-change
# sudo chmod 755 /var/www/svn/REPO1/hooks/pre-revprop-change
Then initialize the mirror from the old one:
# sudo svnsync init file:///var/www/svn/REPO1 http://YOUR_INSTANCE_IP/repos/REPO1
Should see "Copied properties for revision 0."
Then copy the data including all revisions:
# sudo svnsync sync file:///var/www/svn/REPO1
Can use this to make nightly backups to another server

Source:
http://northwaygames.com/setting-up-subversion-on-amazon-ec2-for-free/



Troubleshoot
-------------------------
Clear Cache from Eclipse on Win 7



Delete file from svn.simple folder for that
Go to C:\Users[username]\AppData\Roaming\Subversion\auth\svn.simple
After clicking {username} if AppData folder is not visible Then Go Tools-->FolderOptions-->View-->click on show hidden folders button.

 Shutdown svn
--------------------------

ps aux | grep svnserve


 Add file to  svn
--------------------------
sudo svn import /tmp/svnconfig/project1/ file:///var/www/svn/REPO1 -m "Initial repository layout for mytestproj"
Delete file to  svn
--------------------------
sudo svn delete file:///var/www/svn/REPO1/project1 -m "Initial repository layout for mytestproj"