设为首页 收藏本站
查看: 948|回复: 0

[经验分享] 使用Gitolite搭建Git服务器

[复制链接]
发表于 2018-1-15 22:30:35 | 显示全部楼层 |阅读模式
使用Gitolite搭建Git服务器
  需要用到的软件

  •   Git

  •   Gitolite

  •   Gitweb

  •   Apache 这个就不需要介绍了吧!

  其实Gitolite的搭建过程中,Gitweb、Apache不是必须的,Gitweb、Apache跟Gitolite一起使用,看到的效果就像这个一样 http://git.chromium.org/gitweb/
  环境
  假设Server用的是Ubuntu 12.04
  Client能通过SSH连接至Ubuntu Server
  Server、Client都安装好Git,怎么安装?Google一下吧!
  如何搭建?
  Server:
  添加一个计算机用户,并设置密码,如git:
  

  


  • # -s指令用于指定用户的默认shell,不指定的话,默认是/bin/sh,这个shell在ssh下支持有问题
  • sudo useradd -m git -s /bin/bash
  • sudo passwd git
  

  

  Client:
  设置你本机的git用户信息(非必须):
  

  


  • git config --global user.name “xxx”
  • git config --global user.email xxx@email.com
  

  

  创建一个SSH公钥/私钥对:
  

  


  • ssh-keygen -t rsa
  

  

  上传公钥到服务器:
  

  


  • scp ~/.ssh/id_rsa.pub git@server(ip):/home/git/admin.pub
  

  

  SSH连接到Server:
  

  


  • ssh user@server
  

  

  Server:
  server取得root,安装gitolite:
  

  


  • sudo -sH
  • apt-get install gitolite
  

  

  切换至git用户,运行gitolite安装脚本:
  

  


  • su - git
  • gl-setup /home/git/admin.pub
  

  

  客户端获取gitolite管理库:
  

  


  • git clone git@server:gitolite-admin.git
  • cd gitolite-admin
  

  

  编辑gitolite配置文件,进行项目、用户添加等操作:
  

  


  • sudo vim conf/gitolite.conf
  

  

  怎么对库进行管理、用户添加、授权等操作,gitolite的文档里都有详细介绍的。
  配置好以后,push到Server上即可!
  Gitweb的安装、配置(都是在Server上)
  首先安装一下Apache:
  

  


  • sudo apt-get install apache2
  

  

  安装Gitweb:
  sudo apt-get install gitweb
  安装完成后,修改下gitweb.conf:
  

  


  • sudo vim /etc/gitweb.conf
  • $projectroot = "/home/git/repositories"
  

  

  重启下Apache
  

  


  • sudo service apache2 restart
  

  

  若 "/home/git/repositories" 可被访问,即可通过 http://server/gitweb 访问你的git库了!
  补充:
修改git相关文件与目录的权限,以支持gitweb的访问。
  

  


  • vi ~/.gitolite.rc
  • # 将 $REPO_UMASK = 0077; 改为 $REPO_UMASK = 0027; 以支持gitweb的权限。
  • # 在每次push后,gitolite会修改相关的repo的权限。
  • chmod g+r /home/gitolite/projects.list
  • chmod -R g+rx /home/gitolite/repositories
  

  

下面还有更简单的方法
  安装gitolite以及git,只需要指定gitolite就可以,gitolite依赖git,apt-get会自动的寻找到依赖包,并安装。
  

  


  • sudo apt-get install gitolite
  

  

  创建git用户,并切换到git用户下, 用户名最好为git,这样用ssh方式迁出的格式为:git@server:repo,如果是其他用户名的话,那么@前就为相应的用户信息。
  

  


  • sudo useradd -m git -s /bin/bash
  • passwd git
  • su - git
  

  

  准备gitolite管理员的公钥文件,win下可以用putty生成,只要注意把Key comment的内容设置为空,再把公钥拷贝出来后黏贴到相关的文件就好了。
  

  


  • # 用vi创建相关的文件,并在其中贴入公钥信息
  • vi ~/admin.pub
  

  

  执行gitolite的安装,命令后跟的是管理员的公钥文件。
  

  


  • gl-setup ~/admin.pub
  

  

  根据需要修改配置文件,完成安装。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-435506-1-1.html 上篇帖子: GIT使用笔记一:GIT初始化配置 下篇帖子: 建立你的第一个 Git 仓库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表