• Linux(Centos7)下搭建SVN服务器


    操作系统: CentOS 7.6 64位

    第一步:通过yum命令安装svnserve,命令如下:

    检测svn是否安装:

    rpm -qa subversion   #检查现有版本,如果输入命令后没有提示的话,表明没有安装
    yum remove subversion  #如果有安装,可以通过该命令卸载旧版本的svn服务
    yum -y install subversion  #执行安装 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行

    若需查看svn安装位置,可以用以下命令:

    rpm -ql subversion

    第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

    选择在home路径下创建版本库,当前处于根目录下,一次性创建如下:

    mkdir /home/svn  #以后新的svn仓库都在这个目录下创建

    第三步:创建svn版本库

    svnadmin create /home/svn/phpkaoshi  #在/home/svn下创建一个phpkaoshi版本库,执行命令后可以查看到该目录

    (phpkaoshi为你预期的版本库名称,可自定义)

    创建成功后,进入phpkaoshi目录下

    cd /home/svn/phpkaoshi/

    进入目录,可以看见如下文件信息:

    drwxr-xr-x 2 root root 4096 May  2 13:48 conf
    drwxr-sr-x 6 root root 4096 May  2 13:48 db
    -r--r--r-- 1 root root    2 May  2 13:48 format
    drwxr-xr-x 2 root root 4096 May  2 13:48 hooks
    drwxr-xr-x 2 root root 4096 May  2 13:48 locks
    -rw-r--r-- 1 root root  229 May  2 13:48 README.txt

    第四步:配置修改

    进入已经创建好的版本库目录下,也就是前文说创建的phpkaoshi,进入conf

    cd /home/svn/phpkaoshi/conf/

    conf目录下,一共存放三份重要的配置文件,如下:

    -rw-r--r-- 1 root root 1080 May  2 13:48 authz
    -rw-r--r-- 1 root root  309 May  2 13:48 passwd
    -rw-r--r-- 1 root root 3090 May  2 13:48 svnserve.conf

    authz:负责账号权限的管理,控制账号是否读写权限

    passwd:负责账号和密码的用户名单管理

    svnserve.conf:svn服务器配置文件

    1.编辑 authz 文件(注意:[/]也是必须的

    [/]:表示根目录,即 /home/svn

    jackie = rw:表示用户jackie对根目录具有读写权限。

    2.编辑 passwd 文件

    如上所示,用户名为:jackie,认证密码为:123456

    3.编辑 svnserve.conf 文件(注意:配置的前面不能有空格,一定要顶格写

    anon-access = read:表示禁止可读。(也可设置 anon-access = none:表示禁止匿名用户访问。建議将anon-access=read 改为anon-access=none。否則svn查看日志显示连接服务器失败)

    auth-access = write:表示授权用户拥有读写权限。

    password-db = passswd:指定用户名口令文件,即 passwd 文件。

    authz-db = authz:指定权限配置文件,即 authz 文件。

    realm = /home/svn:指定认证域,即 /home/svn 目录。

    第五步:防火墙开启(iptable防火墻)

    多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题注意:如果是阿里云,腾讯云的服务器,还需在安全组添加端口开启规则,本人在此踩过坑

    centos6配置防火墙方法如下

    注意以下防火墙配置方法只适合CentOs6

    vi /etc/sysconfig/iptables

    添加配置信息

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

    保存退出

    systemctl restart iptables.service #重启防火墙使配置生效

    centos7配置防火墙方法如下

    使用centos7会发现,用centos6以前的方式查看、打开和关闭防火墙都无效了。这是因为centos7的防火墙改用firewalld,而不再使用iptables

    查看centos7的防火墙的状态,查看的命令为

    sudo systemctl status firewalld

    关闭防火墙,命令为:

    sudo systemctl stop firewalld

    打开防火墙的命令为:

    sudo systemctl start firewalld

    添加端口,或查詢端口是否開放

    添加端口【3690】

    firewall-cmd --permanent --add-port=3690/tcp

    查詢端口【3690】

    firewall-cmd --permanent --query-port=3690/tcp

    六:启动svn服务器

    ps -aux|grep svnserve  #查找该服务是否正在运行,如果运行的话先杀掉该服务
    kill -9 ID号
    svnserve -d -r /home/svn  #启动svn服务 指定/home/svn目录启动svn服务

    注意:

    1. 启动服务时指定的目录很重要,该目录为根目录,相对于配置文件中指定的路径来说。
    2. 每次修改配置文件,前面三个文件的任意一个,都需要重新启动svn服务。

    启动成功后,可用ps -aux查看服务启动是否成功

    ps -ef | grep 'svnserve'

    导入你的项目到svn仓库中:

    格式:svn import 你本地的项目文件夹路径  file:///home/svn/svn项目文件夹名字 -m “版本说明”

    举例:

    [root@jackie conf]# svn import /www/wwwroot/phpkaoshi/ file:///home/svn/phpkaoshi/phpkaoshi -m '导入第一个'

    如上,首先 /www/wwwroot/phpkaoshi 文件夹必须存在,是你本地的文件夹路径,即你想导入的项目路径,其次 phpkaoshi(最后一个) 是你svn版本库中的项目名,到时候你检出项目的时候svn地址后面跟的就是这个名字。 -m '导入第一个' 为该导入项目的注释。

    七:客户端访问svn服务器

    在windows客户端,输入地址:svn://ip地址:3690/xxxx   (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口)

    弹出输入用户名和密码,输入即可访问

    或者在linux服务器输入命令测试:

    svn co svn://39.98.x.x/phpkaoshi/phpkaoshi   #中间跟的是你的服务器ip,后面是跟的版本库名和检出项目名

    如下为例子:

    遇到的问题小结:

    问题1:执行svn命令:svn co svn://ip地址:3690/xxxx报错如下

    这是因为修改svnserve.conf时,打开注释时,配置的前面有空格,应该顶格写。修改后即可

    问题2:输入账号密码后,提示 svn: Authorization failed解决办法

    把authz 文件 [/] 改为 [] 试试

    svn服务器搭好后,后续快速新建项目方法,下面以新建try项目为例子

    1.创建svn版本库

    svnadmin create /home/svn/try //try为新建项目版本库

    2.进入新建版本库配置文件夹conf,修改配置文件

    cd /home/svn/try/conf/

    编辑 authz 文件,配置账号权限

    编辑 passwd 文件,新增账号、密码

    编辑 svnserve.conf 文件(建議将anon-access=read 改为anon-access=none。否則svn查看日志显示连接服务器失败)

    3.启动svn服务器

    ps -aux|grep svnserve  #查找该服务是否正在运行,如果运行的话先杀掉该服务
    kill -9 ID号
    svnserve -d -r /home/svn  #启动svn服务 指定/home/svn目录启动svn服务

    导入你的项目代码到svn仓库中

    svn import /www/wwwroot/try/ file:///home/svn/try/try -m '导入第一个'

    注意: /www/wwwroot/try 是服务器项目的文件夹路径,即你想导入的项目路径,其次 try(最后一个) 是你svn版本库中的项目名,到时候你检出项目的时候svn地址后面跟的就是这个名字,不然导出来的文件没有项目名,是一堆散乱的文件,所以要多写一个try(本人在此踩过坑)。 -m '导入第一个' 为该导入项目的注释。

    测试 

    [root@jackie conf]# svn co svn://39.98.81.13/try/try

    然后就可以通过svn客户端检出项目代码了

    参考:https://www.cnblogs.com/-mrl/p/8980244.html

       https://blog.csdn.net/wz947324/article/details/80168080

  • 相关阅读:
    vue中使用axios
    vue中报错Do not use built-in or reserved HTML elements as component id details
    人月神话阅读笔记01
    学习进度周总结(第五周)
    石家庄地铁系统开发(java web版)(一)
    梦断代码阅读笔记03
    二维数组求最大子数组
    学习进度周总结
    梦断代码阅读笔记02
    二维数组
  • 原文地址:https://www.cnblogs.com/clubs/p/10502344.html
Copyright © 2020-2023  润新知