Showing posts with label Subversion. Show all posts
Showing posts with label Subversion. Show all posts

Subversion Configuration on CentOS


Requirements
  • Apache 2
  • Subversion
  • PHP 5 + Pear + VersionControl_SVN
  • MySql


Subversion Installation

1. Download and install the basic packages required by Subversion by using yum command in Terminal
    #yum install subversion mod_dav_svn php-mysql php-pear httpd
2. Create a repository directory at /var/svn
    #mkdir -p /var/svn/repos
    #chown –R apache:apache /var/svn/
3. Create a configuration repository directory at /var/svn/repos
    #svnadmin create /var/svn/repos/myrepos
    #chown –R apache.apache /var/svn/repos/myrepos


SVN Manager Installation

1. Download the latest version of SVN Manager from here
2. Extract the tar files to /var/www/html/svnmanager
    #tar –xvzf svnmanager-1.05.tgz
    #mv svnmanager-1.035 /var/www/html/svnmanager


Version Control Installation

1. Download and install VersionContol_SVN by using pear command in Terminal
    #pear install --alldeps VersionControl_SVN-0.3.0alpha1.tgz


MySql Configuration

1. Create database for SVN Manager
    #mysql –u root
    Mysql>create database svn;
    Mysql>grant all privileges on svn.* to 'svnmanager'@'localhost' identified by '[password]';
    Mysql>flush privileges;
    Mysql>quit;


SVN Manager Configuration

1. Add the following commands in /etc/httpd/conf/httpd.conf
    <Location /repos>
    DAV svn
    SVNParentPath /var/svn/repos
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /var/svn/passwdfile
    AuthzSVNAccessFile /var/svn/accessfile
    Require valid-user
    </Location>

    <Directory "/var/www/html/svnmanager/">
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from all
    </Directory>
2. Create passwdfile and accessfile in /var/svn/ directory
    #touch /var/svn/passwdfile
    #touch /var/svn/accessfile
    #cd /var/svn
    #chown –R apache.apache passwdfile
    #chown –R apache.apache accessfile
3. Edit the commands as below in /var/www/html/svnmanager/config.php
    $htpassword_cmd = "/usr/bin/htpasswd";
    $svn_cmd = "/usr/bin/svn";
    $svnadmin_cmd = "/usr/bin/svnadmin";
    $svn_repos_loc = "/var/svn/repos";
    $svn_passwd_file = "/var/svn/passwdfile";
    $svn_access_file = "/var/svn/accessfile";

    $dsn = "mysql://svnmanager:[password]@localhost/svn";
4. Restart the Apache and Mysql with the following commands
    #service httpd restart
    #service mysqld restart
5. Open web browser and type in URL http://localhost/svnmanager



Using Subversion in Terminal

1. Make some test files
    #mkdir test1
    #cd test1
    #vim file1.cfg ~~ press Esc and Shift + z twice times to save
    #vim file2.cfg
2. Import project
    #svn import test1/ file:///var/svn/repos/myrepos -m "test file"
    Adding test1/file2.cfg
    Adding test1/file1.cfg
    Committed revision 1.
3. Check out
    #mkdir test2
    #svn co http://localhost/repos/myrepos
    A myRepos/file2.cfg
    A myRepos/file1.cfg
    Checked out revision 1.


** Subversion Configuration on Windows

Subversion Configuration on Windows



Subversion is an Open-Source Version Control System. It designed to make life easy. It helps in file and directory management. Instead of using pendrive or external hard disk to transfer or exchange projects with their team members, users need perform only few simple steps to update and commit their latest projects. Subversion operate across networks, means users from different location can combine their project with their members easily. In addition, it allows users to examine what was changed in the projects and review the progress of project.

Requirements
  • XAMPP-win32 version 1.7.1
  • TortoiseSVN version 1.6.3
  • Subversion-setup version 1.6.3
  • SVN Manager version 1.05

XAMPP Installation
  1. Download the latest XAMPP version from http://www.apachefriends.org
  2. Install to C:\xampp

TortoiseSVN Installation
  1. Download the latest version of TortoiseSVN from http://tortoisesvn.net
  2. Perform default installation
  3. Restart the computer

Subversion Installation
  1. Download the latest version of Subversion from http://subversion.tigris.org
  2. Install Subversion to C:\Program Files\Subversion\
  3. Create a SVN directory, C:\svn
  4. Create a SVN configuration directory, C:\svn\conf
  5. Create a SVN repository directory, C:\svn\repos
  6. Populate the SVN authentication file by compile htpasswd.exe in command prompt
    C:\xampp\apache\bin\htpasswd.exe -c C:\svn\conf\passwdfile username
  7. Create a repository by compile svnadmin.exe in command prompt
    C:\Program Files\Subversion\bin\svnadmin.exe create C:\svn\repos\myrepos
  8. Stop the Apache at XAMPP control panel
  9. Copy the following files from C:\Program Files\Subversion\bin to C:\xampp\apache\modules
    mod_dav_svn.so
    mod_authz_svn.so
  10. Open Apache httpd.conf file which is located at C:\xampp\apache\conf
  11. Make sure the following two commands are uncommented
    LoadModule dav_module modules/mod_dav.so
    LoadModule dav_fs_module modules/mod_dav_fs.so
  12. Add the following commands in httpd.conf
    #SVN
    LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule authz_svn_module modules/mod_authz_svn.so

    #SVN
    <Location /repos>
    DAV svn
    SVNParentPath C:/svn/repos/
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile C:/svn/conf/passwdfile
    Require valid-user
    </Location>
  13. Start the Apache at XAMPP control panel
  14. If cant start the Apache, check the error by using the following command or try to restart the computer
    C:\xampp\apache\bin\apache.exe
  15. Open the web browser and type in the URL http://localhost/repos/myrepos, enter the username and password created above

SVN Manager Installation
  1. Download the latest SVN Manager version from http://svnmanager.sourceforge.net
  2. Extract the zip file to C:\xampp\htdocs\
  3. Rename the folder to svnmanager
  4. Rename the config.php.win file to config.php which is located inside svnmanager folder
  5. Open the config.php file and edit the command as shown as below
    //
    //SVNManager config.php file for Windows based servers
    //
    $htpassword_cmd = "c:\\Progra~1\\Apache~1\\Apache2\\bin\\htpasswd";
    $svn_cmd = "c:\\PROGRA~1\\Subversion\\bin\\svn";
    $svnadmin_cmd = "c:\\PROGRA~1\\Subversion\\bin\\svnadmin";

    //Subversion locations
    $svn_repos_loc = "c:\\svn";
    $svn_passwd_file = "c:\\svn\\svn_passwd_file";
    $svn_access_file = "c:\\svn\\svn_access_file";

    to

    //
    //SVNManager config.php file for Windows based servers
    //
    $htpassword_cmd = "c:\\xampp\\apache\\bin\\htpasswd";
    $svn_cmd = "C:\\Program Files\\Subversion\\bin\\svn";
    $svnadmin_cmd = "C:\\Program Files\\Subversion\\bin\\svnadmin";

    //Subversion locations
    $svn_repos_loc = "c:\\svn\\repos";
    $svn_passwd_file = "c:\\svn\\conf\\passwdfile";
    $svn_access_file = "c:\\svn\\conf\\accessfile";
  6. Uncomment and edit the following command
    //$dsn = "mysql://svnmanager:svnmgmpw@localhost/svnmanager";
    to
    $dsn = "mysql://svnmanager:svnmanager@localhost/svnmanager";
  7. Edit Apache httpd.conf file which is located at C:\xampp\apache\conf
    #SVN
    <Location /repos>
    DAV svn
    SVNParentPath C:/svn/repos/
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile C:/svn/conf/passwd
    Require valid-user
    </Location>

    to

    #SVN
    <Location /repos>
    DAV svn
    SVNParentPath C:/svn/repos/
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile C:/svn/conf/passwdfile
    AuthzSVNAccessFile C:/svn/conf/accessfile
    Require valid-user
    </Location>
  8. Restart the Apache at XAMPP control panel
  9. Open the web browser and type in the URL http://localhost/svnmanager, login by enter the username = admin and password = admin. This username and password are for first time login only

    ** Example URL of repository : http://127.0.0.1/repos/myrepos

    ** Subversion Configuration on CentOS