centos上搭建SVN并将项目同步到PHP项目的系统根目录的方法详解


本文摘自PHP中文网,作者藏色散人,侵删。

下面由Centos入门教程栏目给大家介绍centos上搭建SVN并将项目同步到PHP项目的系统根目录的方法,希望对需要的朋友有所帮助!

一、SVN安装

这里采用yum安装方式:

1、rpm -qa subversion //检查是否安装了低版本的SVN

2、yum remove subversion //如果存储旧版本,卸载旧版本SVN

3、开始安装yum -y install subversion

安装好后查看版本svnserve --version

4、创建版本仓库:

1

2

mkdir -p /data/svn/project                               

svnadmin create /data/svn/project/

查看/data/svn/project 文件夹可以发现有conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

5、配置权限

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

   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:

1

2

3

4

5

6

7

8

9

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权限

1

2

3

4

5

6

vim authz

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

[/]

test = rw

8、配置防火墙

1

vi /etc/sysconfig/iptables

加入:

1

2

3

```

-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目录

1

cd /data/svn/project/hooks/

2、将post-commit.tmpl 复制为 post-commit

1

cp post-commit.tmpl post-commit

3、给post-commit可执行权限

1

chmod 0777 post-commit

4、编辑post-commit,注释掉#mailer.py......这一行,添加下面四行,编码问题,如果错误的话可能导致无法同步 成功,可选的有en_US.UTF-8、zh_CN.UTF-8、zh_CN.GB2312,可以一个个试。

1

2

3

4

5

6

vi post-commit

#mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf

export.GB2312

SVN=/usr/bin/svn

STATIC_DIR=/var/www/html/project/

${SVN} update  ${STATIC_DIR} --username "test" --password "123456"

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

1

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

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

更多centos技术文章,请当centos教程栏目!

以上就是centos上搭建SVN并将项目同步到PHP项目的系统根目录的方法详解的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

CentOS使用yum安装nginx提示找不到包怎么办

CentOS怎么修改系统语言

CentOS如何安装图形界面

如何从u盘安装CentOS

CentOS系统下包更新的命令

CentOS如何检查是否安装了某个软件

CentOS系统怎么强制踢掉某个登录用户

CentOS系统中root用户不能登录怎么解决

CentOS中如何查看mysql安装目录在哪

CentOS无法连接网络怎么解决

更多相关阅读请进入《CentOS》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...