在Ubuntu上使用Web Access安装Subversion

时间:2020-01-09 10:45:16  来源:igfitidea点击:

本文介绍如何使用apache模块安装Subversion,以便可以从公用网络上的其他系统轻松访问它。如果我们想要一个更安全的svn服务器,则可以使用svnserve + ssh,本文中没有介绍。

要安装Subversion,请打开终端并运行以下命令:

sudo apt-get install subversion libapache2-svn

尽管我们应该选择一个具有足够空间的位置,但我们将在/ svn中创建Subversion存储库。

sudo svnadmin create /svn

接下来,我们需要编辑Subversion Webdav模块的配置文件。我们可以根据需要使用其他编辑器。

sudo gedit /etc/apache2/mods-enabled/dav_svn.conf

配置文件中的Location元素规定了可以从中进行颠覆的根目录,例如:http://www.server.com/svn

<Location /svn>

无需注释DAV行以启用dav模块

# Uncomment this to enable the repository,
DAV svn

SVNPath行应设置为使用thesvnadmin命令创建存储库的位置。

# Set this to the path to your repository
SVNPath /svn

下一部分将允许我们打开身份验证。这只是基本身份验证,因此不要认为它非常安全。密码文件将位于AuthUserFile设置将其设置为最好将其保留为默认值的位置。

# Uncomment the following 3 lines to enable Basic Authentication
AuthType Basic
AuthName "Subversion Repository";
AuthUserFile /etc/apache2/dav_svn.passwd

要在存储库上创建用户使用,请使用以下命令:

sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd <username>

请注意,仅应在第一次创建用户时使用-c选项。之后,我们只需要使用-m选项,该选项指定密码的MD5加密,但不重新创建文件。

例:

sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd data
New password: 
Re-type new password: 
Adding password for user data

通过运行以下命令来重新启动Apache:

sudo /etc/init.d/apache2 restart

现在,如果我们在浏览器中访问http://www.server.com/svn,则应该看到已对存储库启用了匿名读取访问,但是提交访问将需要用户名。

如果我们要强制所有用户进行身份验证,甚至可以进行读取访问,请在上方的AuthUserFile行下方添加以下行。更改此行后,重新启动apache。

Require valid-user

现在,如果刷新浏览器,将提示我们输入凭据:

我们现在拥有一个可以正常工作的Subversion服务器!