Aktionen
Setup svn » Historie » Revision 4
« Zurück |
Revision 4/9
(Vergleich)
| Weiter »
Jeremias Keihsler, 12.01.2017 14:29
Install SVN-Server¶
Requirements¶
To install svn you will need the following:- a installed and supported operating system (e.g. CentOS 7.x)
- root-access
- a fast internet connection
Preliminary note¶
most of this is taken from- [[http://www.if-not-true-then-false.com/2010/install-svn-subversion-server-on-fedora-centos-red-hat-rhel/]]
- [[http://www.petefreitag.com/item/665.cfm]]
- setup rules-file [[http://www.startupcto.com/server-tech/subversion/locking-a-branch-in-svn]]
ssh+svn
may be taken from [[http://www.startupcto.com/server-tech/subversion/setting-up-svn]]
This procedure is for a vanilla OS, ifApache
is already installed and configured you may have to rethink the configuration.
Install¶
yum install mod_dav_svn subversion
Configuration¶
/etc/http/conf.d/subversion.conf¶
modify the preinstalled etc/http/conf.d/subversion.conf
analogue to
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 "Subversion repositories" AuthUserFile /etc/svn-auth-users AuthzSVNAccessFile /etc/svn-authz-users Require valid-user </Location>
Add SVN users¶
- first-time usage
htpasswd -cm /etc/svn-auth-users testuser
- follow up usage
htpasswd -m /etc/svn-auth-users testuser
Note: Use exactly same file and path name as used onsubversion.conf
file. This example use/etc/svn-auth-users
file.
Create SVN repository¶
mkdir /var/www/svn
cd /var/www/svn
svnadmin create testrepo
chown -R apache:apache testrepo
chcon -R -t httpd_sys_content_t /var/www/svn/testrepo
Following enables commits over http
chcon -R -t httpd_sys_rw_content_t /var/www/svn/testrepo
Configure SVN repository¶
To disable anonymous access and enable access control add following rows to testrepo/conf/svnserve.conf
## Disable anonymous access ## anon-access = none ## Enable access control ## authz-db = authz
Create trunk, branches and tags structure under testrepo¶
Create “template” directories with following command:
mkdir -p /tmp/svn-structure-template/{trunk,branches,tags}
Then import template to project repository using
svn import
command:svn import -m 'Initial import' /tmp/svn-structure-template/ http://localhost/svn/testrepo/
Setup User/Repo based access control¶
Create “template” directories with following command:
vim /etc/svn-authz-users
Then import template to project repository using
svn import
command:# Allow full access to all repos [/] * = master = rw [homepage:/] * = master = rw external_chk = r # Lock MyRepo Branch_A # Note that you only need the MyRepo: prefix if you have more than one repo [janus:/z_Deploy] * = r master = rw [janus:/11002] * = r master = rw developer = rw [ATX_Neuenstein:/] * = master = rw client = r # Lock all tags in all repos; only allow 'master' to create new tags. [/tags] * = r master = rw
Usage¶
open in your browser
http://localhost/svn/testrepo/
SSL secured web-server¶
see also http://wiki.centos.org/HowTos/Https
Backup/Restore SVN repositories¶
Von Jeremias Keihsler vor fast 8 Jahren aktualisiert · 4 Revisionen