Git是一个版本管理的工具了并且是开源的,现在有不少的程序员喜欢使用它了,下面我们来看linux下Git+Gitosis+Gitweb组建多用户版本管理例子.
二级域名配置
git.dbpoo.com 指向git repositories这个目录 /mnt/git/repositories
gitweb.dbpoo.com 指向 gitweb的目录 /usr/share/gitweb
可以通过apache VirtualHost进行配置.
一、安装Git
centos6.5自带git1.7.1,通过下边的方法可以升级到1.7.12
1、查看服务器版本(服务器)
cat /etc/redhat-release
2、安装RPMForge源并更新git版本(服务器)
根据版本找到你要升级的rmp版本,http://pkgs.repoforge.org/rpmforge-release/,我的CentOS是CentOS-6.5 64位找到最新的版本是http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
通过命令yum –enablerepo=rpmforge-extras provides git找到RPMForge上git最新的源 git-1.7.12.4-1.el6.rfx.x86_64,接下来install即可。
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum --enablerepo=rpmforge-extras provides git
yum --enablerepo=rpmforge-extras install git-1.7.12.4-1.el6.rfx.x86_64
通过命令git –version查看到git当前版本号
二、安装gitosis
1、安装gitosis(服务器)
- yuminstallpythonpython-setuptools
- gitclonegit://github.com/res0nat0r/gitosis.git
- cdgitosis
- pythonsetup.pyinstall
2、生成密钥并上传服务器(管理员机器)
- ssh-keygen-trsa#不需要密码,一路回车就行(在本地操作)
- scp~/.ssh/id_rsa.pubroot@xxx:/tmp/
3、初始化gitosis(服务器)
- addusergit#新增一个git用户(先添加用户组 groupaddgit)
- sugit#切换倒git用户下
- gitosis-init</tmp/id_rsa.pub#id_rsa.pub是刚刚传过来的,注意放在/tmp目录主要是因为此目录权限所有人都有定权限的
- rm/tmp/id_rsa.pub#id_rsa.pub已经无用,可删除.
4、获取并配置gitosis-admin(管理员机器)
- gitclonegit@xxx:gitosis-admin.git#切换到root用户并在本地执行,获取gitosis管理项目,将会产生一个gitosis-admin的目录,里面有配置文件gitosis.conf和一个keydir的目录,keydir目录主要存放git用户名
- vimgitosis-admin/gitosis.conf#编辑gitosis-admin配置文件
配置说明:
- #在gitosis.conf底部增加
- [group组名]
- writable=项目名
- members=用户#这里的用户名字要和keydir下的文件名字相一致
- 新增配置后提交git
- gitadd.
- gitcommit-a-m'adduser'
- gitpushoriginmaster
三、安装gitweb
yum install gitweb
默认安装在/var/www/git,如果通过第一步骤升级了git,会连带升级gitweb,安装目录会改变成/usr/share/gitweb
这块主要影响就是VirtualHost中路径,配置对了网站也就显示出来了。
补充:常用路径
- cd.ssh
- cd/etc/httpd/conf/
- cd/etc/httpd/conf.d/
- vim/etc/gitweb.conf