Subversion : Remote Access to Repositories2020/03/27 |
Access to Repositories from remote Hosts.
|
|
[1] | Start [svnserve] service on a Host that Subversion repository exists. |
[root@dlp ~]#
vi /etc/sysconfig/svnserve # specify the top directory which SVN repositories exist # default is like follows but possible to change for your requirements # Specify the repository location in -r parameter: OPTIONS="-r /var/svn" systemctl enable --now svnserve |
[2] | If Firewalld is running, allow SVN service. SVN uses [3690/TCP]. |
[root@dlp ~]# firewall-cmd --add-service=svn --permanent success [root@dlp ~]# firewall-cmd --reload success |
[3] | If SELinux is enabled, change policy. On this example, SVN top directory is [/var/svn] but if you set another Path except [/var], you need to modify follows for your requirements. |
[root@dlp ~]#
vi svn-server.te # create new module svn-server 1.0; require { type svnserve_t; type var_t; class file { getattr open read }; class capability { chown dac_override fsetid }; } #============= svnserve_t ============== allow svnserve_t self:capability { chown dac_override fsetid }; allow svnserve_t var_t:file { getattr open read }; checkmodule -m -M -o svn-server.mod svn-server.te checkmodule: loading policy configuration from svn-server.te checkmodule: policy configuration loaded checkmodule: writing binary representation (version 19) to svn-server.mod [root@dlp ~]# semodule_package --outfile svn-server.pp --module svn-server.mod [root@dlp ~]# semodule -i svn-server.pp |
[4] | Access to existing Subversion repository from another remote Host. For example, Access to existing [/var/svn/repos/project] repository. By the way, default access permission is read only, so it's impossible to execute [commit] or others like changing operation. For chaging operation from remote Host, set acess permission like the link. |
# specify relative path name for SVN URI # on this example # SVN Top directory : [/var/svn] # SVN repository directory : [/var/svn/repos/project] # relative path : [repos/project] # SVN URI : [svn://dlp.srv.world/repos/project] [redhat@node01 ~]$ svn list svn://dlp.srv.world/repos/project branches/ tags/ trunk/[redhat@node01 ~]$ mkdir ./work [redhat@node01 ~]$ svn checkout svn://dlp.srv.world/repos/project ./work A work/branches A work/tags A work/trunk A work/trunk/index.html A work/trunk/testfile.txt A work/trunk/testscript.py A work/trunk/testtool.sh Checked out revision 4.[redhat@node01 ~]$ ll work total 0 drwxrwxr-x. 2 redhat redhat 6 Mar 23 22:37 branches drwxrwxr-x. 2 redhat redhat 6 Mar 23 22:37 tags drwxrwxr-x. 2 redhat redhat 84 Mar 23 22:37 trunk |
[5] | It's also possible to access via SSH without running [svnserve] service on Subversion Host. |
[redhat@node01 ~]$ svn ls svn+ssh://cent@dlp.srv.world/var/svn/repos/project cent@dlp.srv.world's password: branches/ tags/ trunk/[redhat@node01 ~]$ svn co svn+ssh://cent@dlp.srv.world/var/svn/repos/project ./work2 cent@dlp.srv.world's password: A work2/branches A work2/tags A work2/trunk A work2/trunk/index.html A work2/trunk/testfile.txt A work2/trunk/testscript.py A work2/trunk/testtool.sh Checked out revision 4. |
Sponsored Link |