linux(centos7.6)中如何配置svn服务器
在搭建svn服务器时,遇到了很多坑,最终走出一条正确的配置方式,特此记录。学习就是在一点点总结的过程
系统环境:centOS7.6 64位
一、安装SVN服务&创建版本库
1. 安装SVN
# yum -y install subversion
ps: 如系统之前已有,且不想用,可卸载重装:yum remove subversion
2. 查看svn安装位置
# rpm -ql subversion
3. 创建版本库目录(用于存放版本库)
# mkdir -p /project/svn/svnrepos
4. 创建SVN版本库
# svnadmin create /project/svn/svnrepos/demo (demo为自己建立的版本库名,后续连接svn时,需要放在IP后面的名字)
创建成功后,进入该demo路径下,查看该路径下是否生成配置信息,如生成则创建版本库成功
# cd /project/svn/svnrepos/demo
# ll
二、配置SVN参数
1. 修改conf文件中配置
进入conf文件夹下,查看三个配置文档
# cd conf/
# ll
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
1.1 修改authz文件
# vim authz
如无群组需求,可在末尾添加
[/]
account1 =rw
account2=r
1.2 修改passwd文件
在文件末尾追加账号密码即可,格式为:账号=密码
# vim passwd
1.3 修改 svnserve.conf 文件(重要)
# vim svnserve.conf
2. 配置完成后,启动SVN服务器
# svnserve -d -r /project/svn/svnrepos
启动成功后,可用ps -ef | grep svn 查看
三、关闭防火墙
因防火墙会拦截SVN的请求,需将防火墙关闭
1. 在iptables-config中添加规则
# vim /etc/sysconfig/iptables-config
在文章末尾添加如下规则:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
2. 执行如下命令:
# /sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
# systemctl stop firewalld.service
3.
4. 查看防火墙状态,保证关闭状态即可
# systemctl status firewalld.service
5. 永久关闭防火墙
# systemctl disable firewalld.service
四、配置svn服务开机自启(避免因服务器异常重启导致SVN无法使用)
方法1:
1. 在根目录(/root)下创建文件svn.sh
# touch svn.sh
2. 进入svn.sh,编辑文件内容
# vim svn.sh
将如下内容,写入svn.sh文件,绝对路径写之前创建的文件路径
!/bin/bash
/usr/bin/svnserve -d -r /var/svn/svnrepos
3. 修改该文件权限为777
# chmod 777 svn.sh
4. 加入自动运行
# vim /etc/rc.d/rc.local
末尾添加如下内容:
/root/svn.sh
方法2:
1. 直接进入自动运行文件,添加如下语句
# vim /etc/rc.d/rc.local
/usr/bin/svnserve -d -r /var/svn/svnrepos
以上两种方法,均可实现自动启用svn服务。
五、连接SVN
1. 在Windows中的小乌龟客户端中,输入地址:svn://ip/版本库名,eg:svn://ip/demo
2. 弹框中输入用户名密码,即可访问
3. 可在windows本地建立文件夹,右击SVN checkout,输入地址连接,即可保存服务器中文件,后续可不用再次连接。亦可提交与拉取最新内容。
<个人原创,如转载,请注明出处,谢谢!>