1、如何在linux服务器上搭建svn
linux下SVN服务器如何搭建和使用?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下LINUX下搭建SVN服务器的思路!
1,首先安装好LINUX系统,然后YUM安装:
#yum -y install svnversion
2,安全完成之后我们来配置:
创建版本库目录:
#mkdir -p /banbenku/svn/
3,然后启用:
#svnserve -d -r /banbenku/svn
然后查看是否启动了!
ps -ef|grep svn;
[root@207 conf]# lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)
4,然后我们来新建版本:
mkdir -p /banbenku/svn/zhoujie/
cd /banbenku/svn/zhoujie/conf
在这里有三个文件:authz passwd svnserve.conf
svnserve.conf是主要配置文件;
vi svnserve.conf
修改如下:
anon-access = read
auth-access = write
password-db = /banbenku/svn/zhoujie/conf/passwd
authz-db = /banbenku/svn/zhoujie/conf/authz
wq!
保存退出:
然后修改passwd:
建立用户名与密码内容如下:
zhoujie = 123456
wq
保有存退出:
然后修改:authz:
内容如下:
[groups]
admin = zhoujie
[zhoujie:/]
@admin =rw
wq
保存退出!
这样我们便配置好了;要使用启生效,重启SVN:
ps -ef|grep svn
kill -9 PID
svnserve -d -r /banbenku/svn
然后再检测:
[root@207 conf]# lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)
如果如上所示,那便没有问题了;
2、怎么在linux上安装svn服务端
centos 6.5
1.安装tftp软件
# yum -y install tftp*
2.修改配置文件
# vi /etc/xinetd.d/tftp
server_args = -s /tftpboot '加-c
disable = yes '改为no #默认tftp服务是关闭的。
修改后的代码:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot -c
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
修改项server_args= -s <path> -c
其中<path>处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。
4.
# vi /etc/selinux/config
SELINUX=permissive 或者 disable
5.启动tftp服务
# service xinetd start
不能启动试试关闭防火墙
# service iptables stop
linux下tftp的使用
$ tftp 192.168.x.x -c put 22.txt 从linux下上传一个文件到 ip 为192.168.x.x 远程主机下
$ tftp 192.168.x.x -c get 33.txt 从远程主机得到一个33.txt的文件
3、在linux服务器上搭建svn服务端有什么用
当然可以连接的了。
客户端操作流程一般是:
用户A: checkout (提取) -> add (添加新文件) -> commit (提交)
用户B: SVN log(查看更新) -> update(更新版本)
1,SVN的安装
yun –y install subversion
2,Linux svn的常用命令
()内为命令简写.
checkout (co) 提取
commit (ci) 提交
update (up) 更新
list (ls) 列表
3, checkout (co) 提取 svn服务器上的文件
(user1)操作流程
[root@TEST ~]# svn co svn://192.168.103.26/winne
Authentication realm: My First Repository
Password for 'root':
Authentication realm: My First Repository
Username: user1 /输入用户名
Password for 'user1': /输入密码
A winne/Cosmic Ride - BeFour.lrc
A winne/20070716171657126.pdf
A winne/svnbook.pdf
revision 1. / checkout (co) 提取成功,看到Checked out版本为1
注:可以使用带用户名和密码的访问:
svn co --username user1 --password user1 svn://192.168.103.26/winne
[root@TEST ~]# ll
drwxr-xr-x 3 root root 4096 Sep 23 09:02 winne /winne目录是SVN自动生成的
drwxr-xr-x 2 root root 4096 Jul 30 02:06 tasks
[root@TEST ~]# cd winne
[root@TEST winne]# ll
total 2868
-rw-r--r-- 1 root root 1566968 Sep 23 08:53 20070716171657126.pdf
-rw-r--r-- 1 root root 2397 Sep 23 08:53 Cosmic Ride - BeFour.lrc
-rw-r--r-- 1 root root 1354300 Sep 23 08:53 svnbook.pdf
4、linux如何搭建svn
先安装SVN服务,然后再进行配置。
安装SVN及配置:
官网下载:http://subversion.apache.org/packages.html
SVN客户端:TortoiseSVN,官网下载:http://tortoisesvn.net/downloads.html
# yum install subversion
1. 新建一个目录用于存储SVN所有文件
# mkdir /svn
2. 新建一个资源仓库
# svnadmin create /svn/project
# ls /svn/project/
conf db format hooks locks README.txt
目录用途说明:
l hooks目录:放置hook脚本文件的目录
l locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
l format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
l conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)
3. 配置svn服务的配置文件svnserver.conf文件
# vi /svn/project/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /svn/project/conf/passwd
authz-db = /svn/project/conf/authz
realm = My Test Repository #这是个提示信息
保存
4. 添加两个访问用户及口令
# vi /svn/project/conf/passwd
[users]
xiaoran.shen = 123456
test1 = 123456
test2 = 123456
保存
注意:对用户配置文件的修改立即生效,不必重启svn服务。
5. 配置新用户的授权文件
# vi /svn/project/conf/authz
[groups]
admin = xiaoran.shen,test1
user = test2
[/]
@admin = rw
@user = r
* =
保存
格式说明:
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
/ 表示对根目录(即/svn/project目录)下的所有子目录范围设置权限;
[/abc] 表示对资料库中abc项目设置权限;
创建一个admin组,组成员包括xiaoran.shen和test1
创建一个user组,成员只有test2;
admin组对目录有读写权限;
单个用户test2有读写权限;
*=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。
注意:对权限配置文件的修改立即生效,不必重启svn。
6. 启动svn服务
svnserve -d -r /svn/project/
至此,SVN服务器搭建完毕,客户端可以使用svn checkout IP来下载SVN文件。
5、linux服务器下怎样安装SVN和如何使用
网上有好多教程,你的服务器是什么系统?
如果可以yum安装参考下面的教程
http://jingyan.baidu.com/article/c33e3f48bd2e6bea15cbb5c1.html
如果不能yum安装的话,编译安装参考下面两个教程
http://blog.163.com/aichongqu@126/blog/static/167615144201061634132881/
http://blog.csdn.net/yangjiehuan/article/details/6224101
遇到什么问题可以追问我,这个安装很简单,编译安装的话也不会有什么错误。祝你顺利。
6、怎么在linux服务器上部署svn
1. 安装SVN服务器:
检查是否已安装
# rpm -qa subversion
安装SVN服务器
# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
验证安装
# cd /etc/httpd/moles
# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so
查看版本
# svnserve --version
2. 代码库创建:
安装完成后要建立SVN库
# mkdir -p /opt/svn/repositories
# svnadmin create /opt/svn/repositories
执行后,自动建立repositories库,查看/opt/svn/repositories文件夹包含了conf,db,format,hooks,locks,README.txt等文件,说明一个SVN库已经建立。
3. 配置版本库:
进入上面conf文件夹下,进行配置:
a. 用户密码passwd配置:
# vi + passwd //+表示光标放在文件最低端
修改passwd为一下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456
b. 权限控制authz配置:
# vi + authz
设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
[/]
zhoulf=rw //给该用户访问所有库的权限
或
[repositories:/project] //repository库的根目录权限
zhoulf=rw
/ 表示根目录及以下,根目录是svnserve启动时指定的,我们指定的是/opt/svn;/ 就是指对全部版本库都具有权限
repositories:/ 表示对库repositories的根目录设置权限
PS:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
c. 服务svnserve.con配置:
# vi + svnserve.conf
添加一下内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories
这里注意各标签不能错,也不能有重复,不然无法连接。
d. 配置防火墙端口(如果需要):
不一定每个人都需要设置,可以先测试后再看是否需要打开端口
# vi /etc/sysconfig/iptables
添加一下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
# service iptables restart
4. 查看:
a. 启动SVN
# svnserve -d -r /opt/svn/repositories
b. 查看SVN进程
# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories
c. 检测SVN端口
# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
5. 停止重启SVN:
# killall svnserve //停止
# svnserve -d -r /opt/svn/repositories // 启动
6. 测试连接:
使用TortoiseSVN进行测试:
1. SVN服务启动后,需要使用客户端测试连接:
客户端连接地址:svn://192.168.15.231;然后,输入用户名密码;
2. 新建一个文件夹,即本地的库文件夹,右键checkout,将会得到一个隐藏文件夹.svn;
3. 在此文件夹中放入项目内容,然后右键点击commit,就可以上传本地项目了。
7、linux 搭建的svn服务器怎么访问
举个例子,命令执行创建:svnadmin create /svn 需要修改配置文件,设置账号密码
启动svn服务:svnserve -d -r /svn
svn://IP/svn 就是你的访问路径
pc安装svn客户端,通过检出或者版本库浏览器访问地址即可
8、怎么在linux服务器上部署svn服务器
举个例子,命令执行创建:svnadmin create /svn 需要修改配置文件,设置账号密码 启动svn服务:svnserve -d -r /svn svn://IP/svn 就是你的访问版路径 pc安装svn客户权端,通过检出或者版本库浏览器访问地址即可
9、如何配置自己的Linux svnserver服务器
一、新建并初始化版本库
1.新建代码仓库
# svnadmin create /home/myrepos
这样,我们就在/home目录下新建了版本库myrepos。
2.初始化代码仓库
#mkdir -p code/{branches,tags,trunk}
按照svn手册上的建议,我们版本库的布局采用branches/tags/trunk这样的三个目录。然后可以将代码直接拷贝的trunk目录,也可以随后采用svn add的方式添加。
#svn import code file: ///home/myrepos
将我们构造好的版本库布局(以及代码,如果已经拷贝到trunk下的话)提交到版本库。由于这里我们是在本地操作,因此可以直接使用file协议方式提交。格式为:file:// + 版本库绝对的路径
OK,到这里我们已经构建了一个本地版本库,可以再本地使用svn ci的方法得到版本库的副本了。如果前面只是提交了版本库布局,而没有提交代码的话,则可以通过如下命令,提交版本代码:
#svn co file: ///home/myrepos/trunk repos
通常只从主线目录trunk下取出源码,放在了新建的repos目录。然后可以将源码拷贝到repos目录。
执行以下两条命令将代码添加的版本库。
#svn add *
#svn ci * -m "Committed codes"
首先需要将拷贝的代码加入到当前的副本中,然后将代码提交到版本库。
二、配置并启动svnserve
1. 配置svnserve
这一步主要完成远程用户访问版本的权限。
在版本库目录下有个conf目录:home/myrepos/conf,该目录包含三个文件:authz,passwd,svnserve.conf。
(1)svnserve.conf
此文件重点的设置内容如下:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
其中,anon-acces s和auth-access分别代表设置匿名用户和授权用户的访问权限。read代表只读,write代表可读可写,还有一个none,代表禁止访问。如果不想让匿名用户访问的话,可以设置anon-access = none。
password-db为保存版本库的用户名和密码,通常为conf目录下的passwd文件。
authz-db指向的文件,主要用于将用户进行分组,并赋予不同的组不同的权限。譬如有多个目录时,设置某个组的用户只可以访问其中的那些目录。
(2)passwd
如前面介绍,这个文件的主要内容如下
[users]
harry = harrysecret
sally = sallyssecret
以上两行就是可以访问版本库的用户名和密码。格式为:user = passwd。
(3)authz
[groups]
# harry_and_sally = harry,sally
# [/foo/bar]
# harry = rw
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
以上就是authz文件的格式。先给用户分组,然后分别设置每个组的工作目录以及权限等。
本文的讲解并未用到authz的配置。
2. 启动svnserve
#svnserve -d -r /home/
svnserve将以守护进程的方式运行。同时,通过-r选项指定了版本库的目录。这个目录可以是版本库的上级目录(/home),也可以是版本库的目录(/home/myrepos)。具体的区别会在后面讲到。当然,也可以不用-r指定。
三、远程访问svnserve。
假设版本服务器的地址为10.1.1.1,那么用户可以在远程linux端输入命令:
#svn checkout svn://10.1.1.1/myrepos myrepos
这样版本库的所有内容都被check出来,存放在当前目录myrepos下。这里相当于使用svn协议,不用搭建http服务器。
如果启动svnserve的时候,-r选项指定的是版本库的目录,譬如/home/myrepos,那么检出版本的时候,执行的命令为:
#svn checkout svn://10.1.1.1/ myrepos
如果启动svnserve是没有指定-r选项,则要输入版本库的绝对路径:
#svn checkout svn://10.1.1.1/home/myrepos myrepos
四、容易出现的问题
在访问svnserve时,遇到了不少的问题,大致总结一下:
1. 这一步最容易避免,一定要记得启动svnserve。
2. 记得要正确的修改配置文件svnserve.conf和passwd。
3. 保证版本库服务器没有配置限制远程访问svnserve的规则。有时在访问svn服务器的时候,会提示服务器积极拒绝链接。简单起见,可以看看iptables -L INPUT和iptables -L OUTPUT有没有限制访问的规则。
4. 要保证输入版本库的URL正确。