在Linux系统上安装和搭建SVN服务器是一个相对简单的过程,但需要按照一定的步骤进行,以下是详细的步骤和相关说明:
检查系统是否已安装SVN
在开始之前,首先需要检查系统中是否已经安装了SVN,如果已经安装过旧版本,建议先将其删除以避免冲突。
检查命令:
rpm qa | grep subversion
如果没有任何输出,说明系统中没有安装SVN。
删除旧版本(如果有):
yum y remove subversion
下载安装SVN
使用系统的包管理器来安装SVN,对于不同的Linux发行版,命令可能有所不同。
CentOS/RHEL:
yum y install subversion
Debian/Ubuntu:
sudo aptget install subversion
Fedora:
sudo dnf install subversion
安装完成后,可以通过以下命令查看SVN的版本以确认安装成功:
svnserve version
创建版本库目录
创建一个目录来存放SVN版本库,在/usr
路径下创建一个名为svn
的目录:
cd /usr mkdir svn
创建SVN版本库
在刚刚创建的目录下,创建一个新的SVN版本库,创建一个名为dev
的版本库:
cd /usr/svn svnadmin create dev
配置修改
进入版本库的conf
目录,编辑相关的配置文件。
主要配置文件:
authz
:权限配置文件,控制读写权限。
passwd
:账号密码配置文件。
svnserve.conf
:SVN服务器配置文件。
编辑svnserve.conf
文件:
vim /usr/svn/dev/conf/svnserve.conf
取消注释并修改以下行:
anonaccess = none authaccess = write passworddb = passwd authzdb = authz realm = /usr/svn/dev
编辑passwd
文件:
vim /usr/svn/dev/conf/passwd
添加用户和密码,格式为:用户名=密码
。
user1 = password1 user2 = password2
编辑authz
文件:
vim /usr/svn/dev/conf/authz
添加用户权限,格式为:项目目录名=用户名(账号)
。
[groups] harry_and_sally = harry,sally harry_sally_and_joe = harry,sally,&joe dev = user1,user2
开启防火墙
为了允许外部访问SVN服务器,需要开启防火墙的3690端口(SVN默认端口)。
对于iptables防火墙:
vi /etc/sysconfig/iptables
添加以下内容:
A INPUT p tcp m state state NEW m tcp dport 3690 j ACCEPT
保存并重启防火墙:
service iptables restart
对于firewalld防火墙:
firewallcmd zone=public addport=3690/tcp permanent firewallcmd reload
启动SVN服务器
使用以下命令启动SVN服务器:
svnserve d r /usr/svn
如果提示“Address already in use”,说明SVN已经被启动,需要重启服务:
killall svnserve svnserve d r /usr/svn
客户端访问SVN服务器
在Windows客户端,可以使用TortoiseSVN等工具连接到SVN服务器,输入地址格式为:svn://服务器IP:3690/版本库名称
,弹出输入用户名和密码的窗口后,输入之前配置的用户名和密码即可访问。
在Linux客户端,可以使用命令行工具进行连接和操作:
svn checkout svn://服务器IP:3690/版本库名称
| 步骤 | 命令 | 描述 |
| | | |
| 检查是否已安装SVN |rpm qa | grep subversion
| 检查系统中是否已安装SVN |
| 删除旧版本 |yum y remove subversion
| 删除旧版本的SVN |
| 安装SVN |yum y install subversion
(CentOS)<br>sudo aptget install subversion
(Debian/Ubuntu)<br>sudo dnf install subversion
(Fedora) | 安装SVN服务器软件 |
| 创建版本库目录 |mkdir /usr/svn
| 创建存放版本库的目录 |
| 创建SVN版本库 |svnadmin create /usr/svn/dev
| 在指定目录下创建新的SVN版本库 |
| 修改svnserve.conf
|vim /usr/svn/dev/conf/svnserve.conf
| 配置SVN服务器参数 |
| 修改passwd
|vim /usr/svn/dev/conf/passwd
| 添加用户和密码 |
| 修改authz
|vim /usr/svn/dev/conf/authz
| 设置用户权限 |
| 开启防火墙 |vi /etc/sysconfig/iptables
(iptables)<br>firewallcmd zone=public addport=3690/tcp permanent
(firewalld) | 开启防火墙3690端口 |
| 启动SVN服务器 |svnserve d r /usr/svn
| 启动SVN服务器 |
| 客户端访问 |svn checkout svn://服务器IP:3690/版本库名称
| 通过客户端访问SVN服务器 |
FAQs
Q1: 如何更改SVN服务器的默认端口?
A1: 要更改SVN服务器的默认端口,可以修改svnserve.conf
文件中的listen
指令,将端口更改为443:
listenhost = *.*.*.* listenport = 443
然后重启SVN服务器并更新防火墙规则以允许新端口。
Q2: 如果忘记SVN用户的密码,如何重置?
A2: 如果忘记了SVN用户的密码,可以编辑passwd
文件,找到对应的用户并修改其密码,将user1
的密码修改为newpassword
:
user1 = newpassword
保存文件后,用户下次登录时将使用新密码。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1249119.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复