在centos 下安装配置基于gitosis 的git 服务
2012-09-25 18:45
661 查看
前言 这里我用的系统是centos 6.2,
在服务器上的准备工作(服务器IP为10.0.2.8 ):
1、安装 openssh服务器与客户端工具
2、创建个人公钥和私钥(用于后面的git服务的管理员管理)
在默认用户的主目录路径下,运行以下命令,按照提示创建公钥和私钥
3、安装 git服务器
4、配置 git服务器
创建git服务器管理用户
初始化全局设置
5、安装python的setup tool
6、获取并安装gitosis
7、配置gitosis
8、管理gitosis配置
gitosis.conf是git仓库与权限配文件,keydir目录是存放其它客户机的公匙目录。
来这里git的服务已基本配置完毕,但要团队开发中用起来还要进以下配置:
在成员机(ip=10.0.2.100)上操上面第1与第2步生成自已的公匙,
再切换到git服务上(ip=10.0.2.8)
修改gitosis.conf
提交到版本库
这时tester便有权限操作test_project仓库了,回到成员机(ip=10.0.2.100)上
换个目录看能否clone回来
最后大功告成...
2016/05/03 更新
有更简单一点的,用GitLab版本管理,参考:/article/4752577.html
在服务器上的准备工作(服务器IP为10.0.2.8 ):
1、安装 openssh服务器与客户端工具
$ sudo yum install openssh-server openssh-client
2、创建个人公钥和私钥(用于后面的git服务的管理员管理)
在默认用户的主目录路径下,运行以下命令,按照提示创建公钥和私钥
$ ssh-keygen -t rsa默认生成2048位,如果需要提高安全级别,也可以通过下面的命令创建公钥和私钥
ssh-keygen -t rsa -b 4096默认情况下,公钥和私钥会保存在~/.ssh目录下,如下所示:
3、安装 git服务器
$ sudo yum install git-core
4、配置 git服务器
创建git服务器管理用户
$ sudo useradd -m git $ sudo passwd git创建git仓库存储目录
$ sudo mkdir /home/git/repositories设置git仓库权限
$ sudo chown git:git /home/git/repositories $ sudo chmod 755 /home/git/repositories
初始化全局设置
$ git config --global user.name "myname" $ git config --global user.email "myname@server"
5、安装python的setup tool
$ sudo yum install python-setuptools
6、获取并安装gitosis
$ cd /tmp $ git clone git://eagain.net/gitosis.git //测试时从这拿不到,可换成 git clone https://github.com/res0nat0r/gitosis.git $ cd gitosis $ sudo python setup.py install
7、配置gitosis
$ cp ~/.ssh/id_rsa.pub /tmp //上面第2步生成的公匙 $ sudo -H -u git gitosis-init < /tmp/id_rsa.pub //将该公匙导入gitosis里,这时本机已经有了为git的管理权限了 $ sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update为了git操作时不用输入密码,还要做以下配置
$ cat /tmp/id_dsa.pub >> /home/git/.ssh/authorized_keys //将root的公匙导入到git目录的 authorized_keys文件中 $ chmod 600 /home/git/.ssh/authorized_keys
8、管理gitosis配置
$ cd ~ $ git clone git@hostname:/gitosis-admin.git $ cd gitosis-admin/ $ ls -al看到以下结果
gitosis.conf是git仓库与权限配文件,keydir目录是存放其它客户机的公匙目录。
$ more gitosis.confgitosis.conf 对应的内容
[gitosis] [group gitosis-admin] writable = gitosis-admin members = root@localhost.localdomain
来这里git的服务已基本配置完毕,但要团队开发中用起来还要进以下配置:
在成员机(ip=10.0.2.100)上操上面第1与第2步生成自已的公匙,
$ scp ~/.ssh/id_rsa.pub root@10.0.2.8:~/gitosis-admin/keydir/tester.pub //将本机的公匙copy到gitosis的keydir中
再切换到git服务上(ip=10.0.2.8)
$ cd ~ $ cd gitosis-admin $ cat keydir/tester.pub >> /home/git/.ssh/authorized_keys //将tester的公匙导入到git目录的 authorized_keys文件中 $ vi gitosis.conf
修改gitosis.conf
[gitosis] [group gitosis-admin] writable = gitosis-admin members = root@localhost.localdomain #加一个组myteam [group myteam] members = tester #这里的tester对上面公匙文件名 writable = test_project #项目仓库名
提交到版本库
$ git add keydir/tester.pub $ git commit -a -m "Allow tester write access to test_project" $ git push origin master
这时tester便有权限操作test_project仓库了,回到成员机(ip=10.0.2.100)上
$ cd ~ $ mkdir test_project $ cd test_project $ echo "testing ">test.txt $ git init //初始化本地版本 $ git remote add origin git@10.0.2.8:test_project.git //加到远程版本库中 $ git add . $ git commit -a -m "哈哈哈,测试一下" $ git push origin master
换个目录看能否clone回来
$ cd /tmp $ git clone git@10.0.2.8:test_project.git //此时应该不会提示输入ssh密码的
最后大功告成...
2016/05/03 更新
有更简单一点的,用GitLab版本管理,参考:/article/4752577.html
相关文章推荐
- 在centos 下安装配置基于gitosis 的git 服务
- 在centos 下安装配置基于gitosis 的git 服务
- 在centos 下安装配置基于gitosis 的git 服务
- 在centos 下安装配置基于gitosis 的git 服务
- 在centos 下安装配置基于gitosis 的git 服务
- centOS6.8 ftp服务 安装配置 基于本地用户和虚拟用户
- 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库——安装配置NTP服务,保证集群时间保持同步
- CentOS6.4下Git服务器Gitosis安装配置
- CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户
- CentOS安装配置Git服务器(gitosis)
- CentOS6.4下Git服务器Gitosis安装配置
- centOS 6.5 安装服务前相关配置(单独配置)
- Citrix XenServer中安装CentOS6.0并配置iSCSI服务
- CentOS 6.8 安装git 及配置
- linux应用之samba服务的安装及配置(centos)
- 关于linux - Centos 7 下DHCP服务的安装与配置
- CentOS下Git的安装配置
- centos6.5下vsftpd服务的安装及配置并通过pam认证实现虚拟用户文件共享
- 基于centos的FasfDFS安装配置
- 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库 —— MariaDB 安装配置