centos上搭建SVN,并将项目同步到PHP项目的系统根目录

3 篇文章 0 订阅

原文:https://blog.lmlyz.online
一、SVN安装
这里采用yum安装方式:
1、rpm -qa subversion //检查是否安装了低版本的SVN
2、yum remove subversion //如果存储旧版本,卸载旧版本SVN
3、开始安装yum -y install subversion
安装好后查看版本svnserve --version
4、创建版本仓库:
mkdir -p /data/svn/project
svnadmin create /data/svn/project/
查看/data/svn/project 文件夹可以发现有conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
5、配置权限
cd /data/svn/project/conf/ //进入配置目录
vim svnserve.conf //编辑配置文件,加入下面五行内容

[general]
### The anon-access and auth-access options control access to the``
### repository for unauthenticated (a.k.a. anonymous) users and
### authenticated users, respectively.
### Valid values are "write", "read", and "none".
### Setting the value to "none" prohibits both reading and writing;
### "read" allows read-only access, and "write" allows complete 
### read/write access to the repository.
### The sample settings below are the defaults and specify that anonymous
### users have read-only access to the repository, while authenticated
### users have read and write access to the repository.
# anon-access = read
# auth-access = write

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /data/svn/project

6、编辑密码文件,添加用户test 密码123456:
vim passwd

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
test = 123456

7、编辑权限文件,添加用户test权限
vim authz

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
[/]
test = rw

8、配置防火墙
vi /etc/sysconfig/iptables
加入:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -dport 3690 -j ACCEPT
重启防火墙:service iptables restart
9、启动SVN:svnserve -d -r /data/svn/
查看端口状态:netstat -ln | grep 3690

二、给svn添加钩子同步文件到PHP测试环境 (这里PHP项目目录为/var/www/html/project/)
1、进入版本库下的hooks目录
cd /data/svn/project/hooks/
2、将post-commit.tmpl 复制为 post-commit
cp post-commit.tmpl post-commit
3、给post-commit可执行权限
chmod 0777 post-commit
4、编辑post-commit,注释掉#mailer.py…这一行,添加下面四行,编码问题,如果错误的话可能导致无法同步 成功,可选的有en_US.UTF-8、zh_CN.UTF-8、zh_CN.GB2312,可以一个个试。
vi post-commit

#mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
export LANG=zh_CN.GB2312
SVN=/usr/bin/svn
STATIC_DIR=/var/www/html/project/
${SVN} update  ${STATIC_DIR} --username "test" --password "123456"

5、在提交之前,进行一次checkout代码到指定目录

svn checkout svn://localhost/project /var/www/html/project/

注:如果一直出错:“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败”;可能是网络端口开放设置问题,因为端口问题导致无法成功checkout项目,可以进入阿里云看看看看有没有允许3690的端口,如果没有3690的端口就添加一条安全组规则。

至此就完成了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值