如何在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/
使用命令创建存储库 svnadminsubversion存储库管理工具。
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界面并使用已创建的用户名和密码登录。

