Centos搭建SVN服务器与Git服务器

1 SVN服务器搭建

1.安装svn

yum -y install subversion

2.检测安装结果

svnserve --version //显示安装结果,表示安装成功了

3.创建代码仓库

mkdir /usr/local/svn/repos  //新建一个目录
svnadmin create /usr/local/svn/repos

如果该仓库目录出现如下几个目录和文件,代码仓库创建成功


屏幕快照 2018-01-24 下午8.01.23.png

4.svn服务器配置

代码仓库conf目录下有三个配置文件:authz passwd svnserve.conf

1.修改passwd文件,添加用户名和密码

vi passwd 打开passwd文件,添加用户,内容如下:

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. 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

test = passwd     //   格式  用户名 = 密码
//  编辑完之后 wq! 保存退出。                         

2.修改authz文件,添加用户权限

vi authz 打开authz文件,修改内容如下

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
testgroup = test  // 创建testgroup组,把test用户加到组中,多个用户用,隔开

# [/foo/bar]
# harry = rw
# &joe = r
# * =
#[/] // 目录
#test = r  // 用户权限 r 读, rw 读写 一般不会单独设置用户权限

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/]  // 目录
@testgroup = r // 组权限设置

3.修改svnserver.conf的配置, 前面不要有空格

anon-access = read //修改匿名用户访问权限
auth-access = write //去掉注释,验证用户权限
password-db = passwd //去掉注释,设置密码文件路径
authz-db = authz //去掉注释,设置权限文件路径
realm = repos // 设置项目名称

4.开放SVN端口

svn服务器默认使用3690端口,所以开放3690端口,保存设置,然后重启防火墙:

iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
/etc/rc.d/init.d/iptables save
service iptables restart

5.启动svn服务

svnserve -d -r /usr/local/svn
端口占用解决方法
# netstat -lnp|grep 3690 
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      22538/svnserve 
# kill -9 22538  

SVN服务端搭建完成,接下来看一下效果,打开Cornerstone,添加仓库


屏幕快照 2018-01-24 下午9.20.20.png

屏幕快照 2018-01-24 下午9.21.02.png

遇到问题

  • 启动成功,客户端报错The server may be unreachable or the URL may be incorrect.
    解决方法防火墙设置开放3690端口

GIT服务器搭建

1.安装git

yum install git
git --version

接下来创建一个git用户组和用户,用来运行git服务:

groupadd git
adduser git -g git
passwd git 

2.创建证书登陆

收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把公钥导入/home/git/.ssh/authorized_keys文件里,一行一个。如果没有该文件创建它

  cd /home/git/ 
  mkdir .ssh 
  chmod 700 .ssh 
  touch .ssh/authorized_keys 
  chmod 600 .ssh/authorized_keys 

用户公钥获取

cd ~/.ssh
ssh-keygen
cat ~/.ssh/id_rsa.pub

3.初始化GIT仓库

首先我们选定一个目录作为Git仓库,假定是/usr/local/git/repos.git, 在/usr/local/git目录下输入命令:

 cd /usr/local
 mkdir git
 chown git:git git/
 cd git
 git init --bare repos.git

以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:

chown -R git:git repos.git

4.克隆仓库

git clone [email protected]:/usr/local/git/repos.git #需要输入git用户密码

ssh端口号默认是22 如果改掉的话要加端口号 比如端口号改成 1234
git clone ssh://[email protected]:1234/usr/local/git/repos.git
ssh 登陆 ssh [email protected] -p 1234

5.禁止Git用户shell登陆

vi /etc/passwd

修改git的bash 从/bin/bash改为/usr/bin/git-shell

客户端可以使用Sourcetree

你可能感兴趣的:(Centos搭建SVN服务器与Git服务器)