前言
svn服务器是代码服务器,用于开发人员进行代码存储、同步、上传等操作的服务器,协同工作的同种工具。在这里我使用CentOS 6.8为示例进行配置。
配置环境
安装有CentOS 6.8的主机一台
可以使用ssh进行访问
配置步骤
- 配置ssh远程登录
一般情况下,从主机厂商购买的服务器均会提供ssh远程访问,因此该步骤可以跳过。配置ssh远程登录是在ESXI或者某个虚拟机平台上如virtualbox, vmware, parallels等,安装好ssh client后是不允许远程访问的,因此需要编辑配置文件。
$ vi /etc/ssh/sshd_config
...
# PermitRootLogin yes // 去掉前面的#号
...
# PasswordAuthentication yes // 去掉前面的#号
保存退出,然后重启ssh
$ service sshd restart
防火墙开启22端口
$ vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT // 添加
保存退出,重启iptables
$ service iptables restart
- 安装svn服务端subversion
查看subversion是否安装
$ rpm -qa | grep subversion
subversion-1.6.11-15.el6_7.x86_64
如果有以上回显,则不用安装,假如安装更高版本svn,先卸载后安装。
$ rpm -e [包名称] // 卸载包
$ rpm -ivh [包名称] // 安装包
如果没有以上回显,也可以通过yum进行安装
$ yum install subversion
- 创建仓库进行配置
(1)创建文件夹为仓库根目录
$ mkdir -p /home/svn/repos // /home/svn/repos为仓库根目录
(2)创建仓库
$ svnadmin create /home/svn/repos // 在repos下创建仓库,下述warning可以忽略
svnadmin: warning: cannot set LC_CTYPE locale
svnadmin: warning: environment variable LC_CTYPE is UTF-8
svnadmin: warning: please check that your locale name is correct
$ cd /home/svn/repos
$ ls
README.txt conf db format hooks locks
(3)配置svn仓库
配置文件存储在conf目录下,对authz、passwd和svnserve.conf进行配置。
$ cd conf
$ ls
authz passwd svnserve.conf
a. 使用vi编辑器对authz进行编辑。
[groups]
manager = admin,jim
product = wangming,lihong
development = wangjian,liuhao,zhangyong
test = jenny,lily
[/]
@manager = rw
* =
[/eshop]
@manager = rw
@product = rw
@development = rw
@test = r
* =
这个配置文件的编辑是很重要的,涉及到分组用户以及仓库的访问权限,[group]为分组,某类用户分到某组,[/]为仓库根目录,[/eshop]为某个项目的仓库地址(使用svnadmin进行创建)。
b. 使用vi编辑器对passwd进行编辑
[users]
admin = 123456
jim = 123456
......
一行对应一个用户名和密码,依次进行编辑。
c. 使用vi编辑器对snvserve.conf进行编辑,指定authz和passwd。
......
# password-db = passwd // 去掉前面的#号
......
# authz-db = authz // 去掉前面的#号
d. 启动repos仓库
$ svnserve -d -r /home/svn --listen-port 12345
-d为生成守护进程,-r为指定repository,--listen-port为监听端口号,该端口号要在iptables打开。
-
使用tortoisesvn、cornerstone或其它svn工具进行连接。如下图使用cornerstone连接svn配置。
Cornerstone连接svn配置 - 配置开机加载
有两种方法,一种是写入到sh脚本中,然后加入到/etc/rc.local中,另外一种是直接写入到/etc/rc.local中
touch /var/lock/subsys/local
svnserve -d -r /home/svn --listen-port 12345
结束语
配置svn是运维技术中一项基本技能,由于其比较繁琐,隔一段时间后便会生疏,经常查阅这些,可以保证在添加和修改配置时能够很快的做好和生效,不耽误项目的进程。
网友评论