CentOS 7安装SVN服务器
一、验证机器上是否已经安装了SVN
1、检查是否安装:在终端中输入以下命令来检查系统是否已经安装了Subversion(SVN):
rpm -qa | grep subversion
如果显示类似subversion-1.7.14-14.el7.x86_64
的信息,则表示已安装,如果没有显示任何信息,则表示未安装。
2、卸载已存在的SVN(如果需要重新安装):
sudo yum remove subversion
二、安装Subversion
1、使用yum安装Subversion:
sudo yum install -y subversion
此命令将自动安装SVN服务器及相关依赖包。
2、验证安装是否成功:
svnserve --version
如果安装成功,会显示类似如下的版本信息:
svnserve, version 1.7.14 (r1542130) Subversion is open source software, see http://subversion.apache.org/
三、创建版本库
1、创建版本库根目录:
sudo mkdir -p /var/svn/svn-repos
2、创建分支目录:
sudo mkdir -p /var/svn/svn-repos/{trunk,branches,tags}
这些目录分别用于存储主干、分支和标签。
3、创建具体的项目版本库:
sudo svnadmin create /var/svn/svn-repos/trunk/demo
demo
为新建的版本库目录(可以是项目名称或公司名称)。
四、配置版本库
1、配置文件路径说明:
conf
:包含SVN版本库的配置文件(如账号密码权限等)。
conf/authz
:负责账号权限的管理,控制账号是否读写权限。
conf/passwd
:负责账号和密码的用户名单管理。
conf/svnserve.conf
:SVN服务器的配置文件。
2、配置用户和密码文件(passwd):
sudo vi /var/svn/svn-repos/trunk/demo/conf/passwd
添加如下内容来设置用户和密码:
[users] # frank = password123 # sally = mypassword
3、配置权限文件(authz):
sudo vi /var/svn/svn-repos/trunk/demo/conf/authz
添加如下内容来设置用户权限:
[groups] admin = frank readers = sally [/] @admin = rw @readers = r
4、配置SVN服务文件(svnserve.conf):
sudo vi /var/svn/svn-repos/trunk/demo/conf/svnserve.conf
修改或添加以下内容:
[general] anon-access = none auth-access = write password-db = passwd authz-db = authz realm = My First Repository
五、开启防火墙并启动服务
1、开启防火墙端口:
sudo firewall-cmd --permanent --add-port=3690/tcp sudo firewall-cmd --reload
2、启动SVN服务:
sudo svnserve -d -r /var/svn/svn-repos
-d
选项表示在后台运行。
-r
选项指定SVN仓库的根目录。
3、查看进程,检验是否启动成功:
ps -ef | grep svn
六、Windows客户端检出代码
1、安装TortoiseSVN(略过具体步骤)。
2、检出仓库:在Windows资源管理器中输入以下地址进行检出:
svn://your_server_ip:3690/trunk/demo
替换your_server_ip
为你的服务器IP地址,demo
为你之前创建的版本库名称,弹出输入用户名和密码的对话框时,输入你在passwd
文件中配置的用户名和密码即可访问。
七、FAQs
问:如何更改SVN服务器的默认端口3690?
答:可以通过修改/etc/sysconfig/svnserve
文件中的OPTIONS
参数来更改默认端口,将端口改为4690:
OPTIONS="-r /var/svn -p 4690"
然后重新启动SVN服务:
sudo systemctl restart svnserve.service
确保防火墙也开放新的端口号。
问:如何在SVN服务器上配置多个项目版本库?
答:可以按照以下步骤操作:
1、创建多个项目目录,例如/var/svn/svn-repos/project1
和/var/svn/svn-repos/project2
。
2、对每个项目目录执行svnadmin create
命令,
sudo svnadmin create /var/svn/svn-repos/project1 sudo svnadmin create /var/svn/svn-repos/project2
3、分别为每个项目配置用户权限和SVN服务文件,类似于上述步骤中的配置方法。