搭建Linux环境--安装svn

Subversion(简称SVN)是一个开源的版本控制系统,管理随时间改变的数据,SVN服务支持svnserve和http访问模式。程序员

SVN简介

SVN管理的数据存放在中央资料档案库(Repository)中。该档案库会记录文件的每一次变更,这样您就能够把数据恢复至旧版本或浏览文件的变更历史。SVN中经常使用的概念和操做以下:安全

  • Repository(源代码库):源代码统一存放的地方。
  • Checkout(提取):该操做用于从Repository中提取一份源代码到本地。
  • Commit(提交):该操做用于将修改代码后的代码提交到Repository。
  • Update(更新):该操做用于同步本地源代码与Repository中的源代码。
使用SVN管理代码的常见流程为:
  1. Checkout(您提取源代码到本地)
  2. 其余人修改并提交源代码到Repository
  3. Update(您得到最新的代码)
  4. 您修改并调试成功源代码。
  5. Commit(提交修改后的代码到Repository,其余程序员便可看到您的修改)。
SVN管理源代码的单位为行。若是您与其余程序员同时修改了一个文件中的代码:
  • 若修改的代码在不一样行,SVN会自动合并两种修改。
  • 若修改的代码在同一行,SVN会提示文件冲突(Conflict),须要手动确认。

安装部署

一:安装SVN

一、运行命令安装SVN,查看SVN版本:tcp

yum install subversion

svnserve --version

二:建立SVN版本库

一、运行如下命令建立版本库根目录。svn

mkdir /var/svn

二、依次运行如下命令建立版本库,查看自动生成的版本库文件ui

cd /var/svn
svnadmin create /var/svn/svnrepos
cd svnrepos
ls

注:Subversion目录说明

3、配置SVN

一、设置帐号和密码:阿里云

运行命令:cd conf/
编辑文件:vi passwd

移动光标至[users]块中,添加用户帐号和密码。url

注:添加帐号和密码的格式为:帐号 = 密码。例如,admin(帐号) = 123456(密码),以下图所示(注意等号两端要有一个空格)。spa

按Esc键退出编辑模式,并输入:wq保存并退出。3d

二、为帐号设置读写权限:版本控制

运行vi authz命令,打开权限控制文件。

i键进入编辑模式。

移动光标至文件末尾,并添加以下代码(admin表示帐号,r表示读权限,w表示写权限):

[/]
admin=rw

Esc键退出编辑模式,并输入:wq保存并退出。

三、修改SVN服务配置:

运行vi svnserve.conf打开SVN服务配置文件。

i键进入编辑模式。

移动光标找到以下配置行,删除行前面的注释符#和空格

anon-access = read       #匿名用户可读,您也能够设置 anon-access = none,不容许匿名用户访问。设置为 none,可使日志日期正常显示 
auth-access = write      #受权用户可写 
password-db = passwd      #使用哪一个文件做为帐号文件 
authz-db = authz         #使用哪一个文件做为权限文件 
realm = /var/svn/svnrepos   #认证空间名,版本库所在目录

注:每行不能以空格开始,且等号两端要有一个空格。

Esc键退出编辑模式,并输入:wq保存并退出。

四、启动SVN版本库: 

运行命令:svnserve -d -r /var/svn/     # 启动svn
运行命令:ps -ef |grep svn         # 查看SVN服务是否开启

若是返回结果以下图所示,表示SVN服务已经开启。

注:运行 killall svnserve命令可中止SVN服务。

五、防火墙设置

 开放防火墙端口,执行命令vi /etc/sysconfig/iptables,添加如下内容:

-A INPUT -p tcp -m state --state NEW -m tcp --Dport 3690 -j ACCEPT

保存并退出,执行service iptables restart重启防火墙。

 注:重启防火墙失败:

 解决办法:可尝试关闭firewalld服务在重启iptables

service iptables save
systemctl stop firewalld     -- 关闭firewalld服务
systemctl disable  firewalld  --设置开机禁用firewalld
systemctl start iptables     -- 启动iptables
systemctl status iptables    --确认iptables状态
systemctl enable iptables    -- 设置iptables开机启动
systemctl status firewalld    --确认firewalld服务

六、阿里云添加安全组规则

SVN服务的默认端口为TCP 3690。您须要登陆阿里云ECS管理控制台,添加安全组规则放行TCP 3690端口。

四:svn客户端链接

一、在本机下载并安装TortoiseSVN客户端

二、右键单击本地项目文件夹,在弹出菜单中,选择SVN检出,填写以下信息后,单击肯定。

指定资源库URL,格式为svn://实例公网IP地址/SVN仓库名。本示例中,SVN仓库名为svnrepos。


若是出现下图所示信息,表示检出成功。


注:第一次登陆需输入帐号和密码,即您在passwd文件中设置的帐户和密码。
 
# Generated by iptables-save v1.4.21 on Tue Jul  2 17:03:06 2019
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5:5594]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8088 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --Dport 3690 -j ACCEP
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Tue Jul  2 17:03:06 2019
相关文章
相关标签/搜索