1 SVN服务器搭建
1.安装svn
yum -y install subversion
2.检测安装结果
svnserve --version //显示安装结果,表示安装成功了
3.创建代码仓库
mkdir /usr/local/svn/repos //新建一个目录
svnadmin create /usr/local/svn/repos
如果该仓库目录出现如下几个目录和文件,代码仓库创建成功
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,添加仓库
遇到问题
- 启动成功,客户端报错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