How to set up a Subversion (SVN) server on CentOS or Fedora
2014-04-22 22:26
696 查看
The open-source community has been using Subversion (or SVN) widely for many collaborative open-source development projects. SVN is supported by all major open-source project hosting sites such as Google Code, GitHub, SourceForge and Launchpad. You can of course
set up your own Subversion server in house.
SVN supports several protocols for network access: SVN, SVN+SSH, HTTP, HTTPS. If you are behind a firewall, HTTP-based Subversion is advantageous since SVN traffic will go through the firewall without any additional firewall rule setting. In this tutorial,
I will describe how to set up an HTTP-based Subversion server on CentOS or Fedora platform.
First, install Subversion, as well as Subversion module for Apache HTTP server as follows. This will also install Apache HTTP server as a dependency if it is installed.
$ sudo yum install subversion mod_dav_svn
Next, create a local SVN repository which will store code
$ sudo mkdir /svnrepos
$ sudo svnadmin create /svnrepos
Make the SVN repository readable and writable by the same user as the one which Apache HTTP server runs as. On CentOS or Fedora platforms, this user is "apache".
$ sudo chown -R apache.apache /svnrepos
Edit Apache HTTP server configuration as follows.
$ sudo vi /etc/httpd/conf.d/subversion.conf
Next, add Subversion users who are authorized to access the SVN server. Here I use basic authentication provided by Apache HTTP server. For that, usehtpasswd command which creates usernames and password for authenticated HTTP users.
The first time you run htpasswd command, use "-c" option, which will create an initial SVN password file. For subsequent runs ofhtpasswd command, do not use "-c" option.
$ sudo htpasswd -cm /etc/svn-auth-users user1
$ sudo htpasswd -m /etc/svn-auth-users user2
$ sudo htpasswd -m /etc/svn-auth-users user3
. . .
Now restart Apache HTTP server.
$ sudo service httpd restart
At this point, the SVN server should be accessible via HTTP. Go to: "http://<ip-address-svn-server>/svnrepos" to browse the SVN repository via web interface. As shown below, you will be prompted to enter username and password to proceed.
Also, when you try to access the SVN server from SVN client software, you will also be required to authenticate yourself.
set up your own Subversion server in house.
SVN supports several protocols for network access: SVN, SVN+SSH, HTTP, HTTPS. If you are behind a firewall, HTTP-based Subversion is advantageous since SVN traffic will go through the firewall without any additional firewall rule setting. In this tutorial,
I will describe how to set up an HTTP-based Subversion server on CentOS or Fedora platform.
First, install Subversion, as well as Subversion module for Apache HTTP server as follows. This will also install Apache HTTP server as a dependency if it is installed.
$ sudo yum install subversion mod_dav_svn
Next, create a local SVN repository which will store code
$ sudo mkdir /svnrepos
$ sudo svnadmin create /svnrepos
Make the SVN repository readable and writable by the same user as the one which Apache HTTP server runs as. On CentOS or Fedora platforms, this user is "apache".
$ sudo chown -R apache.apache /svnrepos
Edit Apache HTTP server configuration as follows.
$ 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 /svnrepos> DAV svn SVNPath /svnrepos AuthType Basic AuthName "Subversion repositories" AuthUserFile /etc/svn-auth-users Require valid-user </Location>
Next, add Subversion users who are authorized to access the SVN server. Here I use basic authentication provided by Apache HTTP server. For that, usehtpasswd command which creates usernames and password for authenticated HTTP users.
The first time you run htpasswd command, use "-c" option, which will create an initial SVN password file. For subsequent runs ofhtpasswd command, do not use "-c" option.
$ sudo htpasswd -cm /etc/svn-auth-users user1
New password: Re-type new password: Adding password for user user1
$ sudo htpasswd -m /etc/svn-auth-users user2
$ sudo htpasswd -m /etc/svn-auth-users user3
. . .
Now restart Apache HTTP server.
$ sudo service httpd restart
At this point, the SVN server should be accessible via HTTP. Go to: "http://<ip-address-svn-server>/svnrepos" to browse the SVN repository via web interface. As shown below, you will be prompted to enter username and password to proceed.
Also, when you try to access the SVN server from SVN client software, you will also be required to authenticate yourself.
相关文章推荐
- How to Install Subversion (SVN) 1.8.15 on CentOS/RHEL 7/6/5
- How to disable PackageKit on CentOS, Fedora or RHEL
- How To Set Up vsftpd on CentOS 6
- How to set up PHP server on Mac OS X 10.8
- How To Set Up Nginx Server Blocks (Virtual Hosts) on Ubuntu
- How to set up a simple mail server on Debian in 5 easy steps
- How to fix yum errors on CentOS, RHEL or Fedora
- How to set up CA server on server 2012
- Quick to set up the web server environment on centos
- How To Set Up Apache Virtual Hosts on CentOS 6
- How to set up a mail server on a GNU / Linux system
- How to install SVN server with USVN, Apache, mod_dav_svn on CentOS 6
- How to set up an SFTP server on Linux
- Set up SVN server on CentOS
- How To Set Up Nginx Server Blocks (Virtual Hosts) on Ubuntu 14.04 LTS
- How to set up EPEL repository on CentOS
- How to set-up CI environment with Jenkins + Subversion+Maven (SVN)
- How to set up an FTP server on Ubuntu 14.04