Mac环境下Linux下SVN server搭建
2015-12-29 11:46
666 查看
近日由于项目需要在Linux server上搭建一个SVN的server环境,于是在网上寻找了一些资料,在参考各位网友文章的基础上,成功搭建了svn服务器。期间也碰到一些问题,特在此记录一下。
【1】SSH登录到云服务器
Mac下,SSH登录到云服务器比较简单,命令如下:ssh root@xx.xxx.xxx.xxx -p 2xx3;
其中,“2xx3”为服务器对应的SSH端口号
【2】下载SVN server包
使用yum安装subversion
[root@singledb ~]# yum install -y subversion
安装完成之后,进行验证:
[root@singledb ~]# svnserve --version
【问题】
安装完成之后,出现warning:
svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LANG is en_US.UTF-8
svn: warning: please check that your locale name is correct
【解决方式】
【3】创建SVN仓库
当前目录为root;直接创建SVN文件夹;
[root@singledb ~]# mkdir ./svn
[root@singledb ~]# svnadmin create ./svn/devsvn --"devsvn"为版本库名称
创建完成之后,可以进入devsvn,用ls查看,是否创建了对应的文件夹,里面应该有"README.txt conf db format hooks locks",这几个文件;
【3.1】svn配置
SVN的配置,需要配置以下几个文件:
(1)svnserve.conf: svn服务配置文件下。
(2)passwd: 用户名口令文件。
(3)authz: 权限配置文件。
********************************************************
svnserve.conf 文件, 该文件配置项分为以下5项:
anon-access: 控制非鉴权用户访问版本库的权限。
auth-access: 控制鉴权用户访问版本库的权限。
password-db: 指定用户名口令文件名。
authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件
修改“svnserve.conf ”文件如下:
[root@singledb ~]# cd ./svn/devsvn/conf
[root@singledb ~]# vi svnserve.conf
shit + i ,进入编辑模式;(原先,下面几行应该是注释掉了,打开,并进行修改)
修改内容如下:
修改完成之后,按下“esc”退出编辑模式;
:wq + 回车 保存好文件,退回到命令行模式;
********************************************************
修改passwd文件
[root@singledb ~]#vi passwd
同样添加用户和密码如下:
[users]
# harry = harryssecret
。。。这里根据自己的需要,随意添加账户;
同样保存退出;
********************************************************
修改authz文件, 为各个账户设立分组,分别给与不同的权限;
[root@singledb ~]# vi authz
根据需求,分别给与管理员,开发人员,文档,培训等不同职责的人,进行账户分类;
然后为所有库指定默认访问规则
[/] --对应我测试里的:./svn 目录
* = r
@admin = rw
# 允许开发人员可以完全访问他们的项目版本库
[proj1:/]
@devteam1 = rw
# 文档编写人员对所有的docs目录有写权限
[/trunk/doc]
@docs = rw
在我们项目中,root目录下面的svn,只有devsvn一个文件夹;只需要跟它设置权限即可;
[groups]
admin = dev1
dev1=dev1
doc=doc1
[devsvn:/]
@admin = rw
@dev1 = rw
@doc = rw
【3.2】启动和停止SVN服务
(1)启动SVN服务:
[root@singledb conf]# svnserve -d -r /root/svn
-d表示后台运行
-r 指定根目录是 /root/svn
[root@singledb conf]# ps -ef | grep svn
root 4592 1 0 18:04 ? 00:00:00 svnserve -d -r /root/svn
root 4594 3709 0 18:04 pts/1 00:00:00 grep svn
(2)停止SVN服务:
ps -aux |grep svn
kill -9 4592
【1】SSH登录到云服务器
Mac下,SSH登录到云服务器比较简单,命令如下:ssh root@xx.xxx.xxx.xxx -p 2xx3;
其中,“2xx3”为服务器对应的SSH端口号
【2】下载SVN server包
使用yum安装subversion
[root@singledb ~]# yum install -y subversion
安装完成之后,进行验证:
[root@singledb ~]# svnserve --version
【问题】
安装完成之后,出现warning:
svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LANG is en_US.UTF-8
svn: warning: please check that your locale name is correct
【解决方式】
sudo vi /etc/profile 加入一行: export LC_ALL=C source /etc/profile
【3】创建SVN仓库
当前目录为root;直接创建SVN文件夹;
[root@singledb ~]# mkdir ./svn
[root@singledb ~]# svnadmin create ./svn/devsvn --"devsvn"为版本库名称
创建完成之后,可以进入devsvn,用ls查看,是否创建了对应的文件夹,里面应该有"README.txt conf db format hooks locks",这几个文件;
【3.1】svn配置
SVN的配置,需要配置以下几个文件:
(1)svnserve.conf: svn服务配置文件下。
(2)passwd: 用户名口令文件。
(3)authz: 权限配置文件。
********************************************************
svnserve.conf 文件, 该文件配置项分为以下5项:
anon-access: 控制非鉴权用户访问版本库的权限。
auth-access: 控制鉴权用户访问版本库的权限。
password-db: 指定用户名口令文件名。
authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件
修改“svnserve.conf ”文件如下:
[root@singledb ~]# cd ./svn/devsvn/conf
[root@singledb ~]# vi svnserve.conf
shit + i ,进入编辑模式;(原先,下面几行应该是注释掉了,打开,并进行修改)
修改内容如下:
anon-access = none auth-access = write password-db = /root/svn/devsvn/conf/passwd authz-db = /root/svn/devsvn/conf/authz
修改完成之后,按下“esc”退出编辑模式;
:wq + 回车 保存好文件,退回到命令行模式;
********************************************************
修改passwd文件
[root@singledb ~]#vi passwd
同样添加用户和密码如下:
[users]
# harry = harryssecret
dev1 = dev1pwd dev2 = dev2pwd
。。。这里根据自己的需要,随意添加账户;
同样保存退出;
********************************************************
修改authz文件, 为各个账户设立分组,分别给与不同的权限;
[root@singledb ~]# vi authz
[groups] admin = dev1, dev2 devteam1 = dev1, dev2, dev3 devteam2 = dev4, dev5, dev6 docs = doc1, doc2, doc3 training = train1
根据需求,分别给与管理员,开发人员,文档,培训等不同职责的人,进行账户分类;
然后为所有库指定默认访问规则
[/] --对应我测试里的:./svn 目录
* = r
@admin = rw
# 允许开发人员可以完全访问他们的项目版本库
[proj1:/]
@devteam1 = rw
# 文档编写人员对所有的docs目录有写权限
[/trunk/doc]
@docs = rw
在我们项目中,root目录下面的svn,只有devsvn一个文件夹;只需要跟它设置权限即可;
[groups]
admin = dev1
dev1=dev1
doc=doc1
[devsvn:/]
@admin = rw
@dev1 = rw
@doc = rw
【3.2】启动和停止SVN服务
(1)启动SVN服务:
[root@singledb conf]# svnserve -d -r /root/svn
-d表示后台运行
-r 指定根目录是 /root/svn
[root@singledb conf]# ps -ef | grep svn
root 4592 1 0 18:04 ? 00:00:00 svnserve -d -r /root/svn
root 4594 3709 0 18:04 pts/1 00:00:00 grep svn
(2)停止SVN服务:
ps -aux |grep svn
kill -9 4592
相关文章推荐
- Linux消息队列整理
- Linux Top 命令详细解析
- Linux进程通信中的memset ftok
- __attribute__ 你知多少?
- Linux系统中查询发型版本号以及内核版本的命令总结
- linux下获取硬盘使用情况
- u盘 装win7 linux双系统
- Linux协议栈accept和syn队列问题
- linux下离线配置安卓开发环境
- Linux kernel scriptes bin2c "\x"
- easysite项目常用linux命令
- Linux常用的磁盘管理及文件目录管理命令总结
- ifconfig命令 linx 运维 网卡设置 centos
- linux jsoncpp 安装编译
- linux命令之cut
- Linux的分区方法
- 上机实验——Linux下常用的命令
- Centos6.5 JAVA配置
- Linux 按键驱动程序设计
- Linux sar分析网卡流量