[教程]Linux下搭建SVN(Subversion)

     4362     10月-11,14    

一、安装

1、1  直接运行命令用YUM安装:yum install subversion

1、2  运行命令:rpm -ql subversion可以查看到安装位置则安装成功。

二、创建版本库

2、1  运行命令:svnadmin create /var/svn/svnrepos 执行完之后生成conf、db、format、hooks、locks、readme.txt 这几个文件

 

三、配置SVN

3、1 进入conf目录

authz文件是权限控制文件
password是帐号密码文件
svnserve.conf 是svn服务配置文件

3、2 添加一个SVN用户
authz文件:

在文件最末尾添加如下配置:

[/]
username = rw   //这里的username 替换成需要设置成的username 即自己的svn用户名

authz是用户的权限配置文件。[/]表示用户权限的目录,比如[/]表示用户在SVN的根目录有权限而[/subfolder]表示用户拥有/subfolder这个目录的权限

下面的一行username = rw是为用户权限,r为读权限,w为写权限,如查我们只希望创建一个有读权限的用户,那么可以这样配置:username = r

3、3   passwd文件:

这个文件是为用户设置密码的配置文件,在文件中添加一行:

username = password

前的是用户名,后面的是密码。需要自己设置 username需要与authz文件中的username保持一致
经过这两步我们就已经添加完了一个用户,并且为用户指定了权限和密码
3、4  svnserve.conf文件:

把下面四行配置前的分号去掉

anon-access = read
auth-access = write
password-db = passwd
authz-db=authz
realm=/var/svn/svnrepos 这个修改成刚才创建的版本库

修改可执行权限:chmod  777 svnserve.conf

(chmod -R 777 svnserve.conf)

这样我们的SVN配置就已经完成了。

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

 

四、文件同步

4、1 利用svn的post-commit将svn服务器的文件同步到固定的目录

cd /var/svn/svnrepos/hooks
cp post-commit.tmpl post-commit
chmod a+x post-commit
编辑post-commit钩子脚本
vi post-commit 修改里面的如下内容
export LANG=zh_CN.UTF-8
SVN=/usr/bin/svn 这个是安装好的时候查看成功与否看到的那个目录
WEB=/home/myweb这个就是你每次完成提交svn自动提交到的那个目录
${SVN} update ${WEB} –username myname( 你刚才设置的用户名 ) –password 123( 你刚才设置的密码)
需要说明一下的就是你需要切换到/home/web (你指定svn自动提交的那个目录)下面手动进行一次checkout: svn co svn://localhost(会在刚才的/home/web生成一个localhost文件夹)
ftp工具到/home/myweb/localhost 下面把里面的.svn放到你的/home/myweb里面这样以后只要从客户端提交代码就会自动同步到你的指定的目录了。

 

五、将SVN的端口添加到服务器防火墙的允许列表中

5、1  subversion的默认端口是3690,我们将3690添加的服务器的允许列表中,打开iptables,添加如下一句配置:

iptables -A INPUT -p tcp –dport 3690 -j ACCEPT

 

 

  • G奶大胸妹 发表于: 2015/10/04 13:05

  • 你需要先 登录 才能发表评论.