如何在Ubuntu 19.04/18.04/16.04和Debian 10/9/8上安装SVN服务器
时间:2020-02-23 14:32:51 来源:igfitidea点击:
在这篇文章中,我们将研究如何在Ubuntu 19.04/18.04/16.04和Debian 9上安装SVN服务器.Apache Subversion(SVN)是一个流行的开源软件版本控制和修订控制系统在Apache许可证下发布。
SVN由软件开发人员使用,以维护源代码,文档,网页的历史和当前版本等
第1步:在 Ubuntu/Debian安装SVN Server
SVN服务器需要Apache Web服务器,可以通过运行命令来安装:
sudo apt -y install apache2 apache2-utils
然后安装apache svn
sudo apt -y install vim tree subversion libsvn-dev libapache2-mod-svn subversion-tools
启用SVN所需的Apache模块
sudo a2enmod dav dav_svn sudo systemctl restart apache2
编辑SVN Apache配置文件,并更改类似于以下内容:
Alias /svn /var/lib/svn <Location /svn> DAV svn SVNParentPath /var/lib/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </Location>
检查配置语法
$sudo apachectl -t Syntax OK
然后重启 apache2
服务
sudo systemctl restart apache2
第2步:创建SVN用户
我们在SVN Apache配置文件中指定了用户Aunthentication信息已保存 /etc/apache2/dav_svn.passwd
。
让我们创建我们的管理子变压器用户。
sudo htpasswd -cm /etc/apache2/dav_svn.passwd admin
提供管理员用户密码:
New password: <ENTER PASSWORD> Re-type new password:<CONFIRM PASSWORD> Adding password for user admin
二手选项:
-c : Create a new file. -m Force MD5 encryption of the password (default).
添加其他用户时,请不要用户-c选项,只需通过-m来修改文件。
sudo htpasswd -m /etc/apache2/dav_svn.passwd user1 sudo htpasswd -m /etc/apache2/dav_svn.passwd user2 sudo htpasswd -m /etc/apache2/dav_svn.passwd user1
步骤3:创建SVN存储库
现在我们已安装SVN,我们需要为其创建一个新的存储库。
我们将把我们的存储库放入/var/lib/svn /目录中。
sudo mkdir -p /var/lib/svn/
使用命令创建存储库 svnadmin
subversion存储库管理工具。
sudo svnadmin create /var/lib/svn/<repo-name>
例如
sudo svnadmin create /var/lib/svn/payments-gateway
这将创建一个名为的新存储库 payments-gateway
用以下树结构。
$tree /var/lib/svn/payments-gateway /var/lib/svn/payments-gateway |-- README.txt |-- conf | |-- authz | |-- hooks-env.tmpl | |-- passwd | `-- svnserve.conf |-- db | |-- current | |-- format | |-- fs-type | |-- fsfs.conf | |-- min-unpacked-rev | |-- revprops | | `-- 0 | | `-- 0 | |-- revs | | `-- 0 | | `-- 0 | |-- transactions | |-- txn-current | |-- txn-current-lock | |-- txn-protorevs | |-- uuid | `-- write-lock |-- format |-- hooks | |-- post-commit.tmpl | |-- post-lock.tmpl | |-- post-revprop-change.tmpl | |-- post-unlock.tmpl | |-- pre-commit.tmpl | |-- pre-lock.tmpl | |-- pre-revprop-change.tmpl | |-- pre-unlock.tmpl | `-- start-commit.tmpl `-- locks |-- db-logs.lock `-- db.lock 10 directories, 28 files
将目录/var/lib/svn的所有者设置为 www-data
用户和组。
sudo chown -R www-data:www-data /var/lib/svn sudo chmod -R 775 /var/lib/svn
最后访问SVN Web界面并使用已创建的用户名和密码登录。