加入收藏 | 设为首页 | 会员中心 | 我要投稿 淮安站长网 (https://www.0517zz.com.cn/)- 数据开发、人脸识别、智能机器人、图像处理、语音技术!
当前位置: 首页 > 站长百科 > 正文

Gitolite+Gitweb配置实现Git权限管理教程步骤

发布时间:2022-06-14 12:33:53 所属栏目:站长百科 来源:互联网
导读:Git是一个什么东西我就不介绍了,下文介绍的主要是说Git权限的一个管理工具配置了,有兴趣的和小编来学学吧. 文章中使用的server,指的是的服务器端的公网ip,/mnt是我的阿里云外挂盘,新建用户不指定目标位置,会自动在/home下生成. Gitweb配置 1、安装(服务器端
  Git是一个什么东西我就不介绍了,下文介绍的主要是说Git权限的一个管理工具配置了,有兴趣的和小编来学学吧.
 
  文章中使用的server,指的是的服务器端的公网ip,/mnt是我的阿里云外挂盘,新建用户不指定目标位置,会自动在/home下生成.
 
     Gitweb配置
 
  1、安装(服务器端-用户:root)
 
  yum install gitweb
 
  2、配置(服务器端-用户:root)
 
  /etc/gitweb.conf
 
  $projectroot = "/home/git/repositories/";
 
  3、重启httpd(服务器端-用户:root)
 
  service httpd restart
 
  即可看到gitweb的网站,但是会出现404找不到项目的情况,这个问题是权限问题,查不不少资料,也遇到不少坑.
 
  最终的解决方案:
 
  首先要修改/home/git/.gitolite.rc中的UMASK,将0007修改为0027,修改git及其根目录的读写权限为 755.
 
  // 切换到root,在root根目录执行
 
  chmod -R 755 /mnt/git
 
  网上有配置方法,但是gitweb是找到项目了,但是客户端有clone不下文件了,提示秘钥没权限.
 
  chmod g+r /mnt/git/projects.list
 
  chmod -R g+rx /mnt/git/repositories。

  Gitolite配置
 
  1、在指定目录/mnt/git下建立一个git的用户并给用户git设置密码,服务器端-用户:root.
 
  useradd -d /mnt/git -s /bin/bash git
 
  passwd git
 
  测试是否建立成功,如果通过ssh连接成功即证明用户已经建立成功.
 
  ssh git@server
 
  2、clone gitolite,服务器端-用户:git
 
  // 切换到git用户
 
  su git
 
  // 切换到git根目录
 
  cd
 
  // clone gitolite
 
  git clone https://github.com/sitaramc/gitolite.git
 
  成功后会在根目录看到一个gitolites的目录.
 
  3、客户端生成秘钥(客户端)
 
  ssh-keygen
 
  会在你登录的用户的目录下找到.ssh目录,我的目录是C:Usersnew.ssh,复制id_rsa.pub到d盘根目录,通过ssh上传id_rsa.pub,并重命名为admin.pub.
 
  // 切换到d盘目录执行
 
  scp id_rsa.pub git@server:admin.pub
 
  执行完成后,切换到服务器端可以在git用户的根目录下找到admin.pub.
 
  4、开始安装gitolite(服务器端-用户:git),所有操作都是在git的根目录.
 
  注意点:进入.ssh目录,如果有authorized_keys,删除即可。
 
  // 新建bin目录
 
  mkdir bin
 
  // 安装gitolite,默认会安装到bin,如果想安装到你自己之的指定的目录请参考官方
 
  安装 -to
 
  gitolite/install -ln
 
  // 配置秘钥
 
  bin/gitolite setup -pk admin.pub
 
  测试是否执行成功:首先git根目录下是否生成了projects.list和repositories,同时可以进入.ssh,可以看到新生成的authorized_keys,以后每一次提交新用户都会写到这个里边,判断是否用户添加成功,看这个里边文件是否新增了那个用户的key即可.
 
  5、客户端clone gitolite-admin(客户端)
 
  // 结尾不需要加.git
 
  git clone git@server:gitolite-admin
 
  6、添加新用户(客户端)
 
  修改gitolite-admin/conf/gitolite.conf
 
  @developer  =   weiwei1628 mac
 
  repo gitolite-admin
 
      RW+     =   weiwei1628 mac
 
  repo testing
 
      RW+     =   @all
 
  repo anhei  //phpfensi.com
 
      RW+     =   @developer
 
  将新用户的key都放到keydir,push到服务器即可,查看是否成功,去服务器进入git用户,查看.ssh/authorized_keys,里边会多了新的key.
 
 
 

(编辑:淮安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读