北京SEO

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

2019/10/10/17:45:17  阅读:1844  来源:谷歌SEO算法  标签: SEO知识

Git是一个什么东西我就不介绍了,下文介绍的主要是说Git权限的一个管理工具配置了,有兴趣的和小编来学学吧.

文章中使用的server,指的是的服务器端的公网ip,/mnt是我的阿里云外挂盘,新建用户不指定目标位置,会自动在/home下生成.

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

  1. //切换到git用户
  2. sugit
  3. //切换到git根目录
  4. cd
  5. //clonegitolite
  6. gitclonehttps://github.com/sitaramc/gitolite.git

成功后会在根目录看到一个gitolites的目录.

3、客户端生成秘钥(客户端)

ssh-keygen

会在你登录的用户的目录下找到.ssh目录,我的目录是C:\Users\new\.ssh,复制id_rsa.pub到d盘根目录,通过ssh上传id_rsa.pub,并重命名为admin.pub.

  1. //切换到d盘目录执行
  2. scpid_rsa.pubgit@server:admin.pub

执行完成后,切换到服务器端可以在git用户的根目录下找到admin.pub.

4、开始安装gitolite(服务器端-用户:git),所有操作都是在git的根目录.

注意点:进入.ssh目录,如果有authorized_keys,删除即可。

  1. //新建bin目录
  2. mkdirbin
  3. //安装gitolite,默认会安装到bin,如果想安装到你自己之的指定的目录请参考官方

安装 -to

  1. gitolite/install-ln
  2. //配置秘钥
  3. bin/gitolitesetup-pkadmin.pub

测试是否执行成功:首先git根目录下是否生成了projects.list和repositories,同时可以进入.ssh,可以看到新生成的authorized_keys,以后每一次提交新用户都会写到这个里边,判断是否用户添加成功,看这个里边文件是否新增了那个用户的key即可.

5、客户端clone gitolite-admin(客户端)

  1. //结尾不需要加.git
  2. gitclonegit@server:gitolite-admin

6、添加新用户(客户端)

修改gitolite-admin/conf/gitolite.conf

  1. @developer=weiwei1628mac
  2. repogitolite-admin
  3. RW+=weiwei1628mac
  4. repotesting
  5. RW+=@all
  6. repoanhei//phpfensi.com
  7. RW+=@developer

将新用户的key都放到keydir,push到服务器即可,查看是否成功,去服务器进入git用户,查看.ssh/authorized_keys,里边会多了新的key.

Gitweb配置

1、安装(服务器端-用户:root)

yum install gitweb

2、配置(服务器端-用户:root)

  1. /etc/gitweb.conf
  2. $projectroot="/home/git/repositories/";

3、重启httpd(服务器端-用户:root)

service httpd restart

即可看到gitweb的网站,但是会出现404找不到项目的情况,这个问题是权限问题,查不不少资料,也遇到不少坑.

最终的解决方案:

首先要修改/home/git/.gitolite.rc中的UMASK,将0007修改为0027,修改git及其根目录的读写权限为 755.

  1. //切换到root,在root根目录执行
  2. chmod-R755/mnt/git

网上有配置方法,但是gitweb是找到项目了,但是客户端有clone不下文件了,提示秘钥没权限.

  1. chmodg+r/mnt/git/projects.list
  2. chmod-Rg+rx/mnt/git/repositories

广告内容

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

相关阅读

热门评论

Seven 绯闻SEO Seven 绯闻SEO

绯闻SEO,一个专注中小企业网站优化的SEO爱好者

总篇数179

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法