centos 7安装svn服务器教程
在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了然而在linux上搭建SVN却非常繁琐,这篇文章就来一步一步教您如何在Centos上搭建SVN
源码目录:/home/user/project
工程名:project
工程目录:/source/svn/project
访问地址:svn://ip/project
一、 安装svn
yum install subversion
二、 svn服务器配置
1 创建svn根目录
mkdir /source/svn
2 添加工程
svnadmin create /source/svn/project
3 导入工程初始文件(可省)
svn import /home/user/project/ file:///source/svn/project -m "init project"
4 配置工程用户
进入工程的配置目录:
cd /source/svn/project/conf
下面一共三个文件:authz passwd svnserveconf
passwd: 里面保存用户信息,基本格式为:user = passwd
authz: 里面保存用户的分组信息,以及每个组的访问权限
svnserveconf: 里面保存服务器的基本配置(下面介绍)
针对该例子的配置如下:
41 passwd里面添加用户
[users]
pm = pm123
42 authz配置用户权限
复制代码
[grouPS]
#添加一个分组(实际当中可以添加多个,每个组可以有多个用户以,隔开)
pm_g = pm
# 该项目的权限配置
[project:/]
# pm_g分组配置读写权限(实际中可以增加只读分组)
@pm_g = rw
43 svnserveconf配置(可默认)
# 匿名用户权限(none:拒绝, write:读写, read:只读权限)
anon-access = none
# 鉴权用户访问
auth-access = write
# 用户信息配置文件(也可以是绝对路径)
password-db = passwd
# 权限配置文件
authz-db = /source/svn/project/conf/authz
三、 启动svn服务器
svnserve -d -r /source/svn
四、 拉取代码
svn co svn://ip/project
1首先,假设你的电脑是win7 64位的,你要准备的东西:VisualSVN-Server-301-x64msi和TortoiseSVN-18825755-x64-svn-1810msi
2安装完之后
3打开VisualSVN Server Manager,直接右键Repositories,Create New Repository,输入Repository Name,假设输入的是testsvn,OK
4那么现在在Repositories下就会有一个资源名称叫testsvn
5那么我们现在右键Users,Create User,输入名称密码都是testsvn,OK,我们这就创建了一个叫testsvn的用户了,以后可以用它检入检出数据了
6现在我们要检出这个资源的东西,右键Repositories下的testsvn,Copy Url to ClipBoard,这样就选中了它的url了
7我们在C盘右键,选择SVN Checkout,在URL of repository粘贴,OK
8经过以上步骤之后,你可以检出你的项目了,请尝试在里面新建修改文件提交就行了
9如果你要在eclipse里面使用也可以,因为你已经有了url和用户名密码
10如果我重装系统之后,资源是不是消失了?没关系,在菜单栏的操作(A)-Properties里面设置你的Repositories Root,这样,无论你怎么重装,都没有关系了,自己的svn,局域网的svn就这么配置好了。
1:安装svn
apt-get install subversion
2 开启svn服务器
svnserve -d
检查是否开启:ps aux | grep svnserve
若出现如下内容:
wkr 6537 00 00 13784 956 Ss 16:18 0:00 svnserve -d
wkr 7593 00 00 5784 864 pts/0 S+ 21:57 0:00 grep –color=auto svnserve
表示服务已开启。(注意:一定要有第1行,只有第2行说明服务未启动)
停止svn服务: killall svnserve
3 建立仓库
svnadmin create /home/svnrepos
理论上,仓库可以建立在任何目录中。
注意:重启svnserve 执行 svnserve -d -r /home
这样在eclipse客户端把工程导入svn的时候 url需要填写
svn://ip/svnrepos/project_name
如果启动的时候带如下参数:svnserve -d -r /home/svnrepos
客户端:svn://ip/project_name 这样子会报错。验证失败
4 修改配置文件
编辑 svnserveconf
vi /home/svnrepos/conf/svnserveconf
把anon-access = read 改为 none,auth_access = write
password-db = passwd authz-db = authz 的注释去掉,还有[general]的注释也要去掉(这个默认没有注释)。
注:当你去掉注释的时候,不要简单的把前面的#去掉,要把前面的空格一块去掉,不然在Eclipse中使用的时候会出现配置文件格式错误的问题。
注意:如果authz-db = authz 这个注释掉了,则不需要配置/home/svnrepos/conf/authz
5 修改帐户文件
vi /home/svnrepos/conf/passwd
### This file is an example password file for svnserve
### Its format is similar to that of svnserveconf 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
user1 = pass1 # 输入你定义的用户名和密码,密码显然没有加密
6 修改授权文件
gedit /home/svnrepos/conf/authz
修改或者输入下面2行:
[svnrepos:/] ##格式为 版本库名称 + :/
user1 = rw
其中,repos1是仓库名称,user1是用户名,rw代表读写。
7客户端连接
svn co svn://ip/oplinux
用户名密码:rsync
8实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中
1)设置WEB服务器根目录为/alidata/www/webroot
2)checkout一份SVN
svn co svn://localhost/alidata/www/svndata/myproject /alidata/www/webroot
修改权限为WEB用户
chown -R www:www /alidata/www/webroot/myproject
3)建立同步脚本
cd /alidata/www/svndata/oplinux/hooks/
cp post-committmpl post-commit
编辑post-commit,在文件最后添加以下内容
export LANG=en_USUTF-8
SVN=/usr/bin/svn
WEB=/alidata/www/webroot/
$SVN update $WEB –username myname –password myname
chown -R www:www $WEB
增加脚本执行权限
chmod +x post-commit
这样,我们上传svn后,生产站点就能立马显示出来了,自动化程度高了很多。
使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和Apache相配合来实现源代码的 SVN管理简单的多,下面是详细的说明。
VisualSVN Server的下载地址如下,是免费的,随意不必有顾虑
http://wwwvisualsvncom/server/download/
SVN 的下载地址如下
http://tortoisesvnnet/downloadshtml
1、使用SVN,首先要安装TortoiseSVN,就是上面的SVN下载地址。
2、 安装VIsualSVN。
=======================================
VisualSVN Server 的安装目前最新版本是400
一 、Visual SVN的安装非常的简单
1、几乎是下一步。
2、选择 visualVSN服务器和管理控制台 或只有管理控制权限
3、选择程序安装的路径、Subversion Repository(库)的路径和所使用的协议和端口。
可以选择HTTP和HTTPS两种协议,如需使用svn协议也非常的方便,在14版本后,Subversion加入了Service运行的功能。端口号可以任意定义。对于HTTPS的端口号默认可以选择443和8443,对于HTTP默认可以选择80、8080和81。
下面的用于验证的身份,一个是windows验证,一个是Subversion身份验证,这里默认是Subversion身份验证。
4、接着就是复制文件的过程。
5、安装完成后会询问是否需要运行VisualSVN Server Manager(一个非常有用的管理工具)
6、打开“ VisualSVN Server Manager ”,如下:
二 、下面是 VisualSVN Server的配置和使用方法服务器端
1、下面添加一个代码库Repository,如下图:
2、点击Repository右键
3、按上图所示,创建新的代码库,在下图所示的文本框中输入代码库名称:
注意:上图中的CheckBox如果选中,则在代码库StartKit下面会创建trunk、branches、tags三个子目录;不选中,则只创建空的代码库StartKit。
点击OK按钮,代码库就创建成功了。
创建完代码库后,没有任何内容在里面
4、下面,开始安全性设置,在左侧的Users上点击右键:
输入上面的信息,点击OK,就创建一个用户了。按照上面的过程,分别添加用户其他用户就可以了。
下面开始添加这些用户到刚才创建的项目里。
点击刚才创建的库,Lenovo,右击选择属性(Properties)
5、点击上图中的"Add"按钮,在下图中选择刚才添加的用户,
注意这里的权限设置,要选择好。
点击"确定"按钮,上面的用户就具有了访问StartKit代码库的不同权限。
=======================================
三、签入源代码到SVN服务器
1、假如使用Visual Studio在文件夹lenovo中创建了一个项目,要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击lenovo文件夹,这时候的右键菜单如下图所示:选择copy URL toCLipboard,就是复制统一资源定位符(URL)到剪贴板中
2、然后再电脑的空白处单击右键,选择小海龟的图标/ 导出
3、之后弹出对话框,将刚出的地址粘贴到第一个地址栏中
提交后要更新,不然服务器是不显示文件,
更新是选择 SVN更新和提交类似这里就不在重复了。
至此 SVN服务器以搭建完毕。
方法/步骤
打开终端,创建一个代码仓库,用svnadmin create创建
进入svndir文件夹可以看到
conf文件夹是配置文件夹,里面有相关配置,先选择svnserveconf配置。
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
去掉这几个前面的#和空格,
anon-access 表示匿名访问权限
创建个帐户,要进passwd文件配置,在[users]后面加zyx=123456,表示创建了zyx帐户,密码是123456
文件authz可以配置用户组及权限,可以把passwd里添加的用户加到一个用户组里或创建一个用户组,这样就可以对整个组设置权限了,还不用对每个用户进行单独权限设置。这里加了个zyxgroup组,包括用户zyx,权限是对根目录有读写权限,[/]表示根目录。
6
接下来是启动svn服务器,如果,没有提示就表示成功了。
7
关闭svn服务器的话,可以用ps找到它的pid,然后kill它就可以了。
一、安装 SVN服务器程序
11运行 VisualSVN-Server-172msi
12选择程序安装目录 和 SVN仓库目录
我程序装在 C:\Program Files\VisualSVN Server , SVN仓库目录在 D:\SVN
13 安装完成,立即运行
二、服务器配置
21服务器维护界面
22仓库目录默认的内容
23创建新项目wapzucom
23创建用户ve
24设置项目的用户权限
Properties Security Add 选择刚创建的用户 ve ok 应用 确认
三、创建测试服务器目录 D:\WWWROOT ,本地开发目录 D:\WORKDIR
四、将代码(D:\Code )导入到项目仓库
输入用户名 密码 并 勾选 保存认证
导入成功,并返回版本号1
五、导出项目代码到工作副本、测试服务器目录
同理,另外导出一份到测试服务器目录D:\WWWROOT (测试服务器的Apache目录指向该位置)
六、使用Hooks自动更新测试服务器代码D:\WWWROOT
61 进入 D:\SVN\wapzucom\hooks 建立 post-commitbat 文件
编辑其内容 为"C:\Program Files\VisualSVN Server\bin\svnexe" update "D:\www\test" --quiet --username name --password pwd
或者可参考下面这段话:
接下来最关键的一步是,我们需要找到服务器上安装的版本库的路径下面,以版本库名称命名的文件夹下,有一个名字为hooks的文件夹,在这个文件夹下建立post-commitbat这样一个批处理文件,里面的内容如下:
@echo off
“D:\VisualSVN Server\bin\svnexe” update “D:\Apache Software Foundation\Apache22\htdocs\soupei360″ _username XXXXX _password XXXXX
update前面的路径,是SVN服务器端程序的执行文件路径, 后面的是在服务器上同步到的目录的路径,username和password后面是刚才建立用户的用户名和密码,这段批处理的意思是,当我们在本地编写代码,然后通过svn的commit提交时候,首先提交到版本库中,然后版本库自动用这个批处理,把内容同步到服务器上之前指定的文件夹中,从而实现本地和远程同步操作。
两款SVN配置软件的具体配置教程可以通过搜索引擎得到具体设置方法,在此需要特意强调的是,一定要将本地和服务器上的目录都check out后,批处理才能够自动同步,服务器上的目标文件夹没有check out的话,即使设置的路径正确,也是不能同步的。
62 设置访问权限
我的电脑 右键 管理 服务和应用程序 服务 VisualSVN Server 右键 属性 登陆 添加访问权限 用系统管理员账号(我这里是user)
重启服务器
63测试Hooks工作是否正常
修改 indexphp 状态
提交修改
最后打开D:\WWWROOT\indexphp 可以发现代码已经被成功update
PS : 目录说明
C:\Program Files\VisualSVN Server 服务器安装目录
D:\SVN 仓库更目录
D:\WORKDIR 本地开发用的工作目录
D:\WWWROOT 服务器测试目录(Apache 指向该目录,即可实现工作目录内容修改后提交到SVN自动发布到测试目录)
0条评论