在Linux上安装SVN服务器
Subversion(简称SVN)是一个开源的版本控制系统,广泛应用于软件开发中的源代码管理,本文将详细介绍如何在Linux系统上安装和配置SVN服务器。
一、准备工作
在进行SVN服务器的安装前,需要确保系统已经具备以下条件:
1、操作系统:本文以Ubuntu和CentOS为例进行说明,其他Linux发行版的步骤类似。
2、用户权限:需要有root或具有sudo权限的用户。
3、网络配置:确保服务器能够通过防火墙访问,并且相应端口已开放。
二、安装SVN
1. 更新软件包列表
Ubuntu sudo apt-get update CentOS sudo yum update -y
2. 安装SVN
Ubuntu sudo apt-get install subversion -y CentOS sudo yum install subversion -y
3. 验证安装
svnserve --version
如果输出类似于svnserve, version 1.x.x
,则表示安装成功。
三、创建版本库目录
1. 创建目录
sudo mkdir -p /var/svn
2. 设置权限
sudo chown -R <username>:<groupname> /var/svn sudo chmod -R 755 /var/svn
替换<username>
和<groupname>
为实际的用户名和组名。
四、创建SVN版本库
1. 进入目录
cd /var/svn
2. 创建版本库
sudo svnadmin create /var/svn/myrepo
myrepo
是版本库的名称,可以根据需要更改。
五、配置SVN服务
1. 编辑配置文件
cd /var/svn/myrepo/conf sudo vim svnserve.conf
2. 修改配置项
在[general]
部分,添加或修改以下内容:
anon-access = none auth-access = write password-db = /etc/subversion/passwd authz-db = /etc/subversion/authz
3. 创建密码文件
sudo htpasswd -cm /etc/subversion/passwd admin
输入并确认密码。admin
是初始用户名,可以根据需要添加更多用户。
4. 创建权限文件
sudo vim /etc/subversion/authz
添加以下内容:
[groups] admin = admin [/] = r @admin = rw
六、启动SVN服务
1. 以后台方式启动SVN服务
svnserve -d -r /var/svn
2. 查看进程,确保服务启动成功
ps aux | grep svnserve
七、配置防火墙
1. 开启3690端口(默认SVN端口)
Ubuntu sudo ufw allow 3690/tcp CentOS sudo firewall-cmd --permanent --add-port=3690/tcp sudo firewall-cmd --reload
2. 查看防火墙状态,确保端口已开放
Ubuntu sudo ufw status CentOS sudo firewall-cmd --list-all
八、客户端连接与操作
1. 检出代码库
svn checkout svn://<server_ip>:3690/myrepo /path/to/checkout
将<server_ip>
替换为实际的服务器IP地址,/path/to/checkout
为本地检出路径。
2. 上传文件
cd /path/to/checkout echo "This is a test file." > testfile.txt svn add testfile.txt svn commit -m "Added test file"
九、FAQs
Q1: 如何更改SVN服务的默认端口?
A1: 可以通过修改svnserve.conf
文件中的listen-port
参数来更改默认端口,将默认的3690端口改为3691:
[general] ... listen-port = 3691
然后重新启动SVN服务:
sudo systemctl restart svnserve
Q2: 忘记SVN管理员密码怎么办?
A2: 如果忘记了SVN管理员密码,可以通过以下步骤重置:
1、停止SVN服务:
sudo systemctl stop svnserve
2、备份并删除原有的密码文件:
sudo cp /etc/subversion/passwd /etc/subversion/passwd.bak sudo rm /etc/subversion/passwd
3、重新创建密码文件并添加新用户:
sudo htpasswd -cm /etc/subversion/passwd newadmin
4、启动SVN服务:
sudo systemctl start svnserve