在Ubuntu上通过Apache通过Web访问安装SVN
在Ubuntu上使用SVN入门仅需几分钟,并且启用对存储库的Web访问也非常简单。
首先(为了实际提供文件),您需要安装Apache,打开一个终端窗口并运行以下命令。如果您在安装过程中由于某种原因取消了选择,这将确保已安装Apache。
sudoapt-getinstallapache2
注意sudo命令的使用。这将以超级用户身份运行您提供给它的命令,因为普通用户通常将无权安装这样的软件。使用sudo时,系统将提示您输入超级用户密码。接下来,使用以下命令安装SVN。
sudoapt-getinstallsubversionlibapache2-svn
现在,您可以创建您的Subversion存储库,最好将我们所有的存储库都放在同一个目录下,以免长期困扰。要创建SVN目录,请运行以下命令。
mkdirsvn
下面将在目录/svn/myproject中创建存储库。
sudosvnadmincreate/svn/myproject
现在,我们需要在我们的ApacheSVN模块中编辑一些设置。使用以下命令来编辑正确的文件。
sudogedit/etc/apache2/mods-enabled/dav_svn.conf
首次打开此文件时,所有注释都被注释掉了。您首先需要取消注释位置。这是可以从Apache端获得Subversion的目录。在这里,我将其设置为svn,以便当我导航至http://127.0.0.1/svn时,将看到正确的输出。
请注意,您还必须取消注释文档底部的结束位置标签!
取消注释DAV行以启用存储库,这将启用DAV模块。
DAVsvn
如果您只有一个存储库,则启用SVNPath设置。但是,如果您有多个存储库,请启用SVNParentPath设置。这将指向存储您的存储库的主目录。
SVNParentPath/svn
确实如此,但是作为进一步的步骤,我们可以启用某种身份验证。您将需要取消注释以下几行(将它们组合在一起)。
AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd
和下面的行。
Requirevalid-user
现在,在重新启动Apache服务器并启用您已完成的所有操作之前,我们需要设置用户名和密码以使身份验证起作用。使用以下命令创建用户并分配密码。
sudohtpasswd2-cm/etc/apache2/dav_svn.passwduser
如果这不起作用,请尝试使用htpasswd而不是htpasswd2。应该提示您输入两次密码,然后收到一条消息,提示您已创建用户。请注意,仅在首次创建用户时才应使用-c选项,因为即使它已经存在,它也会创建密码文件。如果将来再次使用此选项,则将销毁您创建的所有其他用户。相反,只需丢弃-c并单独使用-m,这将使密码经过MD5加密,但不会重新创建该文件。
现在,您可以通过输入以下命令来重新启动服务器。
sudo/etc/init.d/apache2restart
您最初可能会尝试捷径并执行以下操作:
sudoapache2restart
但是,这将不起作用,因为/etc/init.d/apache2中的脚本显式读取了一些在启动服务器时很重要的环境变量。
现在,您可以转到您的subversion目录并查看以下内容:
您还将看到一个身份验证窗口,只需使用您之前设置的用户名和密码即可。
现在,您已经具有可以通过Web访问的完全可用的Subversion服务器。