SVN Installation
Disruption is a famous open-source adaptation control device. It is open-source and accessible for nothing over the web. It drops of course with the greater part of the GNU/Linux disseminations, so it may be as of now introduced on your framework. To check whether it is introduced or not utilize following order.
[jerry@CentOS ~]$ svn --version
In the event that Subversion customer isn't introduced, at that point order will report mistake, else it will show the adaptation of the introduced programming.
[jerry@CentOS ~]$ svn --version
-bash: svn: command not found
In the event that you are utilizing RPM-based GNU/Linux, at that point use yum order for establishment. After effective establishment, execute the svn - form order.
[jerry@CentOS ~]$ su -
Password:
[root@CentOS ~]# yum install subversion
[jerry@CentOS ~]$ svn --version
svn, version 1.6.11 (r934486)
compiled Jun 23 2012, 00:44:03
What's more, on the off chance that you are utilizing Debian-based GNU/Linux, at that point utilize well-suited order for establishment.
[jerry@Ubuntu]$ sudo apt-get update
[sudo] password for jerry:
[jerry@Ubuntu]$ sudo apt-get install subversion
[jerry@Ubuntu]$ svn --version
svn, version 1.7.5 (r1336830)
compiled Jun 21 2013, 22:11:49
Apache Setup
We have perceived how to introduce Subversion customer on GNU/Linux. Let us perceive how to make another archive and permit access to the clients.
On server we need to introduce Apache httpd module and svnadmin device.
[jerry@CentOS ~]$ su -
Password:
[root@CentOS ~]# yum install mod_dav_svn subversion
The mod_dav_svn bundle permits access to a vault utilizing HTTP, by means of Apache httpd server and disruption bundle introduces svnadmin apparatus.
The disruption peruses its setup from/and so on/httpd/conf.d/subversion.conf record. In the wake of including setup, subversion.conf record looks as follows:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/svn-users
Require valid-user
</Location>
Let us make Subversion clients and award them access to the storehouse. htpasswd order is utilized to make and update the plain-content records which are utilized to store usernames and passwords for essential verification of HTTP clients. '- c' alternatives makes secret word document, if secret phrase record as of now exists, it is overwritten. That is the reason use '- c' choice just the first run through. '- m' choice empowers MD5 encryption for passwords.
User Setup
Let us make client tom.
[root@CentOS ~]# htpasswd -cm /etc/svn-users tom
New password:
Re-type new password:
Adding password for user tom
Let us make client jerry
[root@CentOS ~]# htpasswd -m /etc/svn-users jerry
New password:
Re-type new password:
Adding password for user jerry
[root@CentOS ~]#
Make Subversion parent index to store all the work (see/and so on/httpd/conf.d/subversion.conf).
[root@CentOS ~]# mkdir /var/www/svn
[root@CentOS ~]# cd /var/www/svn/
Repository Setup
Make an undertaking storehouse named project_repo. svnadmin order will make another storehouse and a couple of different registries inside that to store the metadata.
[root@CentOS svn]# svnadmin create project_repo
[root@CentOS svn]# ls -l project_repo
total 24
drwxr-xr-x. 2 root root 4096 Aug 4 22:30 conf
drwxr-sr-x. 6 root root 4096 Aug 4 22:30 db
-r--r--r--. 1 root root 2 Aug 4 22:30 format
drwxr-xr-x. 2 root root 4096 Aug 4 22:30 hooks
drwxr-xr-x. 2 root root 4096 Aug 4 22:30 locks
-rw-r--r--. 1 root root 229 Aug 4 22:30 README.txt
Let us change the client and gathering responsibility for storehouse.
[root@CentOS svn]# chown -R apache.apache project_repo/
Check whether SELinux is empowered or not utilizing the SELinux status device.
[root@CentOS svn]# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
For our server, SELinux is empowered, so we need to change the SELinux security setting.
[root@CentOS svn]# chcon -R -t httpd_sys_content_t /var/www/svn/project_repo/
To permit submits over HTTP, execute the accompanying order.
[root@CentOS svn]# chcon -R -t httpd_sys_rw_content_t /var/www/svn/project_repo/
Restart the Apache server and we are finished with the arrangement of Apache server.
[root@CentOS svn]# service httpd restart
Stopping httpd: [FAILED]
Starting httpd: httpd: apr_sockaddr_info_get() failed for CentOS
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[ OK ]
[root@CentOS svn]# service httpd status
httpd (pid 1372) is running...
[root@CentOS svn]#
We have arranged the Apache server effectively, presently we will design the store. To give archive access to just true clients and to utilize the default approval record; annex the accompanying lines to project_repo/conf/svnserve.conf document.
anon-access = none
authz-db = authz
Routinely, every Subversion venture has trunk, labels, and branches catalogs straightforwardly under the undertaking's root index.
The storage compartment is where all the fundamental advancement occurs and is normally looked at by the engineers to chip away at the undertaking.
The labels catalog is utilized to store named previews of the venture. While making a creation discharge, the group will label the code that goes into the discharge.
The branches index is utilized when you need to seek after various lines of improvement.
Let us make the storage compartment, labels, and branches registry structure under the venture vault.
[root@CentOS svn]# mkdir /tmp/svn-template
[root@CentOS svn]# mkdir /tmp/svn-template/trunk
[root@CentOS svn]# mkdir /tmp/svn-template/branches
[root@CentOS svn]# mkdir /tmp/svn-template/tags
Presently import the catalogs from/tmp/svn-format to the storehouse.
[root@CentOS svn]# svn import -m 'Create trunk, branches, tags directory structure' /tmp/svn-template/
Adding /tmp/svn-template/trunk
Adding /tmp/svn-template/branches
Adding /tmp/svn-template/tags
Committed revision 1.
[root@CentOS svn]#
This is finished! We have effectively made the storehouse and permitted access to Tom and Jerry. From now, they can play out all the bolstered activities to the vault.