linux(centos)搭建SVN服务器

安装步骤如下:
1、yum install subversion

ps:记得配置防火墙,开启3690端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT #允许3690端口通过防火墙

2、输入rpm -ql subversion查看安装位置,如下图:
  linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
我们知道svn在bin目录下生成了几个二进制文件。
输入 svn --help可以查看svn的使用方法,如下图。
linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园


3、创建svn版本库目录
mkdir -p /var/svn/svnrepos

4、创建版本库
svnadmin create /var/svn/svnrepos
执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件
linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园

5、进入conf目录(该svn版本库配置文件)
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件

6、设置帐号密码
vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan

7、设置权限
vi authz
在末尾添加如下代码:
[/]
dan=rw
w=r
意思是版本库的根目录dan对其有读写权限,w只有读权限。

8、修改svnserve.conf文件
vi svnserve.conf
打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录

9、启动svn版本库
svnserve -d -r /var/svn/svnrepos

10、设置钩子


我们知道要把svn的内容更新到web目录需要手动的svn up,但是今天笔者教你自动更新web目录的方法,我们要在svn版本库中配置钩子来实现,就是创建一个post-commit的配置文件,对其进行简单的配置,简简单单的四步就可以实现Linux下SVN自动更新web目录配置。


第一步:建立你的web程序目录
mkdir /var/www/html/test

进入/var/www/html/test目录。
 svn checkout svn://localhost/svnrepos 不重命名文件夹,直接在当前目录下检出
 svn checkout svn://localhost/svnrepos test 检出文件并且重命名文件夹
或者
svn co svn://localhost/svnrepos /var/www/html/test
  
第二步:在项目库的 hooks/ 目录下新建 post-commit 文件 【钩子脚本】
添加脚本内容如下:
#!/bin/sh
SVN=/usr/bin/svn           #这里配置的是svn安装bin目录下的svn文件
WEB=/var/www/html/test     #要更新的目录
$SVN update $WEB --username xxx --password xxx (此版本是linux下,windows下是.bat,写法少有不同)
其中SVN=右边改成 svn 命令位置
WEB=右边改成你实际的web目录
第三步:让post-commit有执行的权限 chmod 777 post-commit
第四步:这里就已经完成了,第四步就是测试了。
说明:
#!/bin/sh 说明是执行shell命令
export LANG=zh_CN.GBK 加在$SVN update 之前是为了解决svn post commit 中文乱码,设置本地化编码,因为我的系统为GBK编码,SVN默认是UTF-8编码,如果不设置将会出现错误,而执行不成功,错误标识为svn: Can't convert string from native encoding to 'UTF-8'
/usr/bin/svn update --username lxy --password 123456 /var/www/html/test执行更新操作
如果提示:post-commit hook failed (exit code 255) with no output赋予post-commit文件可执行权限
如果您的默认编码就是UTF-8的,要上传中文文件,先将文件另存为UTF-8格式在提交 

10、在windows上测试
新建一个测试文件夹,在该文件夹下右键选择 SVN checkout如下图(要事先安装TortoiseSVN):
linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
填写SVN的地址,如下图:
 
linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
输入密码,如下图:
 
linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值