如何安装和配置SVN服务器在Ubuntu和LinuxMint

时间:2019-05-19 01:26:17  来源:igfitidea点击:

Subversion是Apache软件基金会的产品。
它是开源的修订控制系统,旨在替代CVS。
本文将在Ubuntu & LinuxMint操作系统上安装和配置SVN服务器。

安装所需要的包

首先在系统上安装Subversion服务器所需的软件包。

$ sudo apt-get update
$ sudo apt-get install subversion subversion-tools libapache2-svn

配置Apache模块

现在使用下面的命令启用Apache2服务器中的Dav svn模块。

$ sudo a2enmod dav_svn

现在在svn服务器上创建主svn目录。

$ sudo mkdir /var/svn

编辑Apache dav_svn模块配置文件,并在文件的末尾添加以下设置。

$ sudo vim /etc/apache2/mods-available/dav_svn.conf

<Location /svn>
  DAV svn
  SVNParentPath /var/svn
</Location>

完成上述更改后,重新启动Apache服务。

$ sudo service apache2 restart

创建第一个存储库

创建第一个svn存储库firstrepo。

$ cd /var/svn
$ sudo svnadmin create firstrepo

现在为第一个存储库创建一个目录并创建框架目录。

$ mkdir ~/mainrepo
$ cd ~/mainrepo
$ mkdir trunk tags branches

将框架目录导入到第一个存储库。

$ sudo svn import ~/mainrepo file:///var/svn/firstrepo -m 'Adding Initial Directories'

Adding         /root/mainrepo/tags
Adding         /root/mainrepo/trunk
Adding         /root/mainrepo/branches

Committed revision 1.

为第一个存储库设置Apache

现在编辑dav_svn apache模块配置文件并添加第一个存储库设置。

$ sudo vim /etc/apache2/mods-available/dav_svn.conf

<Location /svn/firstrepo >
  AuthType Basic
  AuthName "Authorized Access Only"
  AuthUserFile /etc/apache2/dav_svn.passwd
  Require valid-user admin
</Location>

现在在密码文件中添加用户来验证svn存储库。

$ sudo htpasswd /etc/apache2/dav_svn.passwd admin

让我们重新启动Apache服务。

$ sudo service apache2 restart

checkout存储库

至此,我们已经成功地为第一个项目创建了svn存储库。
让我们将项目检出到工作目录。

$ svn co http://127.0.0.1/svn/firstrepo ~/firstrepo 

Authentication realm: <http: 127.0.0.1:80> Authorized Access Only
Password for 'root': [Just Press Enter]
Authentication realm: <http: 127.0.0.1:80> Authorized Access Only
Username: admin
Password for 'admin': *******

Store password unencrypted (yes/no)? yes
A    /root/firstrepo/tags
A    /root/firstrepo/trunk
A    /root/firstrepo/branches
Checked out revision 1.