CentOs 7.3搭建SVN

SVN安装

1,centos7下yum命令即可方便的完成安装

$ sudo yum install subversion

2,测试安装是否成功:

$ svnserve --version

3,建立版本库

创建svn数据目录(subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里):

$ sudo mkdir -p /var/svn

4,创建多一个目录

$ sudo mkdir -p /var/svn/myapp

5,创建版本库

$ sudo svnadmin create /var/svn/myapp/liulin

5.1如果删除版本库

注意:如果文件给了最高权限 需要加上sudo去删除

$ sudo rm -rf /var/svn/myapp

6,配置svn配置文件

cd 进入liulin文件再cd进入conf操作配置文件
注意不要有空格前面!!!!

$ sudo vim /var/svn/myapp/liulin/conf/svnserve.conf

[general]
  anon-access = none                #控制非鉴权用户访问版本库的权限
  auth-access = write                 #控制鉴权用户访问版本库的权限
  password-db = passwd           #指定用户名口令文件名
  authz-db = authz 

7,编辑svn用户配置文件

sudo vim /var/svn/myapp/liulin/conf/passwd

[users]
 liulin = 123456                #用户,密码

8,编辑svn权限控制配置文件

sudo vim /var/svn/myapp/conf/authz

    [/]       #指定根目录(从liulin文件起)
    liulin = rw  #分配权限 读写 

9,启动,查看和停止SVN服务

$ sudo svnserve -dr /var/svn #用root权限启动

查看SVN服务:

$ ps aux|grep svnserve #默认端口为:3690

10,配置防火墙端口

阿里云的linux服务器防火墙需要在控制面板上操作

备注:

首先要明确CentOS7的默认防火墙为firewallD。subversion的默认端口为3690,如果没有打开会报错

11,测试检出更新

在客户端电脑可以测试检出 输入服务器ip

12,测试没问题后,进行同步钩子到项目的根目录 注意 检测的时候 ip+/myapp/liulin 目录!!!

SVN钩子

1,先进入liulin/hooks目录
cp /var/svn/myapp/liulin/hooks/post-commit.tmpl ./post-commit
备注:上面的命令是复制文件并且重命名,注意linux是不带后缀,而windows则是.bat后缀

post-commit文件的配置后钩子同步信息
**如果想测试有没有进来这个钩子的文件,可以在里面新建一个文件,或者输入一段话,这样就可以进行排除,也可以直接输入这个命令 看在项目的目录能不能进行更新,如果提示要输入密码就是要清楚保存过密码的文件
rm -f ~/.subversion/auth/svn.simple/d12749a6540cdfb8495a5bc3b235ba97
在linux系统下:
~/.subversion/auth,这个目录下包含了svn使用过的用户信息,如果需要更换账号操作svn可以把这个目录下的文件来文件夹全部删掉就可以了。
查看svn.simple下的文件,可以看到一些svn账号信息,如果保存了密码,在这里还可以看保存下来的密码。

export LANG=en_US.UTF-8
SVN=/usr/bin/svn            #这里配置的是svn安装bin目录下的svn文件
WEB=/home/www/htdocs/liulin      #要更新的目录
$SVN update $WEB --username liulin --password 123456 #输入账号和密码 注意是要有权限的账号才行
chown -R www:www  $WEB
#注释模板本身自带的下面3句话
#其中SVN=右边改成 svn 命令位置 
#WEB=右边改成你实际的web目录

2,让post-commit有执行的权限
chmod a+x post-commit
4,检索项目和切换项目的url

$ svn checkout svn://127.0.0.1/liulin #使用 checkout 服务器资源 本地目录,liulin是新建的目录,用这句命令就可以自动创建
5,赋予liulin权限

chmod -R 777 /home/www/htdocs/liulin

6,在客户端测试

7.最后如果用宝塔指向的话,可以删除那个目录 指定对应的svn目录,宝塔删不掉可以查看下面命令
# [.user.ini权限导致删除不了网站文件](http://caibaojian.com/user-ini.html)

参加的网站

SVN安装

SVN钩子

你可能感兴趣的:(CentOs 7.3搭建SVN)