linux下搭建svn代码库

简介:

1、安装svn客户端

  1.1、使用命令安装

  1)CentOS

$ yum install subversion

  2)ubuntu

sudo apt-get install subversion

  1.2、源码安装

  http://www.cnblogs.com/fengbohello/p/4142810.html


 

2、开启svn服务进程

  2.1、我的习惯是把代码仓库放在/opt/svn目录下,所以先创建目录/opt/svn

$ mkdir /opt/svn -p

  2.2、开启svn服务进程

svnserve -d -r /opt/svn/

  这个命令的作用是开启svn服务进程,并且把/opt/svn/目录作为我们的svn服务的根目录。以后,当我们要在客户端checkout代码的时候,svn服务进程就会从这里开始进行查询,类似于apache的/var/www/目录的作用。

  运行如下命令检查svn服务是否开启了。

# ps -ef | grep svn
root      2572     1  0 09:22 ?        00:00:00 svnserve -d -r /opt/svn/

  如果,出现以上结果,这说明svn服务正常开启了。

  2.3、创建我们的第一个代码仓库:firsttest

# cd /opt/svn/
# svnadmin create firsttest

  这就创建了我们的第一个代码仓库,这个代码仓库的名字就叫做“firsttest”,可以看到其中的文件

# ls firsttest/
README.txt  conf  db  format  hooks  locks

  2.4、下面对我们的代码仓库进行权限设置

  1)进入conf目录

# cd firsttest/conf/

  2)编辑svnserve.conf。这个文件是要告诉svn服务进程,我们的firsttest项目的认证权限和认证需要的密码文件以及认证文件的存放位置。

  在第8行左右找到“[general]”,对其下面的内容进行编辑

复制代码
# vim svnserve.conf
### Visit http://subversion.tigris.org/ for more information.

[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
复制代码

  其中需要编辑的地方分别是

  2.1)

复制代码
### and "none".  The sample settings below are the defaults.
# anon-access = read
# auth-access = write
### The password-db option controls the location of the password
复制代码

  修改为

复制代码
### and "none".  The sample settings below are the defaults.
anon-access = none
auth-access = write
### The password-db option controls the location of the password
复制代码

  注意,红色的两行前面不能有空格,否个svn会读取失败,下面的修改也要注意这些。

  2.2)

复制代码
### Uncomment the line below to use the default password file.
# password-db = passwd
### The authz-db option controls the location of the authorization
复制代码

  改为

复制代码
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
复制代码

  2.3)

复制代码
### Uncomment the line below to use the default authorization file.
# authz-db = authz
### This option specifies the authentication realm of the repository.
复制代码

  修改为

复制代码
### Uncomment the line below to use the default authorization file.
authz-db = authz
### This option specifies the authentication realm of the repository.
复制代码

  对于一般的情况,修改到这里就可以了,下面的选项是加密选项等的加强版,这里就不说了。

  3)下面修改passwd文件。

# vim passwd

  3.1)找到“[users]”,在此选项下添加用户“woshihehe”,“woshihehe”用户对应的密码是“123456”

复制代码
[users]
# harry = harryssecret
# sally = sallyssecret
woshihehe = 123456
复制代码

  4)修改authz文件

# vim authz

  在最后添加两行

复制代码
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/]
woshihehe=rw
复制代码

  这两行的意思是,目录[/](代码根目录)下的所有文件,如果没有特殊约定的话,woshihehe用户将具有读(r)和写(w)的权限。

3、下载代码

  假如我的svn服务器的IP是192.168.1.105,在其它的机器上,执行如下代码

# svn co svn://192.168.1.105:/firsttest --username woshihehe
认证领域: <svn://192.168.1.105:3690> My First Repository
“woshihehe”的密码: 

  那么接下来输入密码就可以了

复制代码
-----------------------------------------------------------------------
注意!  你的密码,对于认证域:

   <svn://192.168.1.105:3690> My First Repository

只能明文保存在磁盘上!  如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。

你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?yes
取出版本 0
复制代码

  填写yes,这样我们就取出了我们的代码,版本是0。这时候就可以在里面添加目录和文件了。不过这个是如何使用svn了,这里就细说了。

 


本文转自郝峰波博客园博客,原文链接:http://www.cnblogs.com/fengbohello/p/4548580.html,如需转载请自行联系原作者


相关文章
|
1月前
|
存储 网络协议 Ubuntu
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
|
3月前
|
存储 网络协议 Ubuntu
如何通过内网穿透实现远程访问Linux SVN服务
如何通过内网穿透实现远程访问Linux SVN服务
41 0
|
7月前
|
IDE Linux 开发工具
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
|
1月前
|
网络协议 Ubuntu Linux
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
|
7月前
|
运维 Linux 数据安全/隐私保护
linux配置SVN,添加用户,配置用户组的各个权限教程
linux配置SVN,添加用户,配置用户组的各个权限教程
|
2月前
|
存储 网络协议 Ubuntu
Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法
由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。
|
3月前
|
存储 网络协议 Ubuntu
【SVN内网穿透】远程访问Linux SVN服务(二)
由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。 当SVN安装在局域网内的话,想要远程访问资料库或者代码将会受到限制,为了能从公共网络访问内网SVN资料库,cpolar能很好的解决这一需求,cpolar是一个能把内网服务暴露至公网进行访问的工具。 SVN分为服务端和客户端,服务端主要是做数据资料存储,客户端主要是图形化工具连接服务端获取服务端数据资料,下面介绍在ubuntu系统安装服务端,在通过客户端远程访问。
|
3月前
|
存储 Ubuntu 网络协议
【SVN内网穿透】远程访问Linux SVN服务(一)
由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。 当SVN安装在局域网内的话,想要远程访问资料库或者代码将会受到限制,为了能从公共网络访问内网SVN资料库,cpolar能很好的解决这一需求,cpolar是一个能把内网服务暴露至公网进行访问的工具。 SVN分为服务端和客户端,服务端主要是做数据资料存储,客户端主要是图形化工具连接服务端获取服务端数据资料,下面介绍在ubuntu系统安装服务端,在通过客户端远程访问。
|
5月前
|
Java Linux PHP
svn在linux下的使用(svn命令)
svn在linux下的使用(svn命令)
57 0
|
6月前
|
存储 网络协议 Ubuntu
Linux环境搭建SVN服务器并实现公网访问 - cpolar端口映射
Linux环境搭建SVN服务器并实现公网访问 - cpolar端口映射