建立repo服务器

参考文章:

http://blog.chinaunix.net/uid-15174104-id-3843570.html

http://blog.csdn.net/zk673820543/article/details/52535601

目标:

server:192.168.111.198,ubuntu-16.04

admin:192.168.111.199,windows7

client:192.168.111.200,ubuntu-12.04


1、服务器装好ubuntu系统,我使用的是ubuntu-16.04-desktop-amd64.iso,

root@server: apt-get install git
root@server: apt-get install gitolite

root@server: sudo adduser git
2、作为admin的win7电脑下生成管理员sshkey生成,参考文章:http://blog.csdn.net/lsyz0021/article/details/52064829

将生成的id_rsa.pub改名为admin.pub,并上传到server   :/tmp/admin.pub

3、在服务器新建的git用户目录下:

  1. ljaer@ubuntu:~$ sudo su git  
  2. git@ubuntu:/home/ljaer$ cd $HOME  
  3. git@ubuntu:~$ git clone http://github.com/sitaramc/gitolite  
  4. Cloning into 'gitolite'...  
  5. remote: Counting objects: 9300, done.  
  6. remote: Total 9300 (delta 0), reused 0 (delta 0), pack-reused 9300  
  7. Receiving objects: 100% (9300/9300), 2.92 MiB | 134.00 KiB/s, done.  
  8. Resolving deltas: 100% (5752/5752), done.  
  9. Checking connectivity... done. 

  1. git@ubuntu:~$ mkdir -p ${HOME}/bin  
  2. git@ubuntu:~$ ${HOME}/gitolite/install -to ${HOME}/bin  

  1. git@ubuntu:~$ ${HOME}/bin/gitolite setup -pk /tmp/admin.pub  
  2. Initialized empty Git repository in /home/git/repositories/gitolite-admin.  
  3. Initialized empty Git repository in /home/git/repositories/testing.git/  
  4. WARNING: /home/git/.ssh missing; creating a new one  
  5.     (this is normal on a brand new install)  
  6. WARNING: /home/git/.ssh/authorized_keys missing; creating a new one  
  7.     (this is normal on a brand new install)  
4、在win7机器上:

$ git clone [email protected]:gitolite-admin.git
Cloning into 'gitolite-admin'...
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6/6), done.


$ cd gitolite-admin/
$ ls
conf/  keydir/

有两个目录, conf/和keydir/,其中conf/下面有个名为gitolite.conf的配置文件。
conf/gitolite.conf 用于Git项目配置,访问权限设置。
keydir/ 用于存储用户的SSH public key(公钥)。

Git项目配置和访问权限设置请看Gitolite的README.txt文档。


至此,作为管理员主机win7就可以管理git服务器的权限和用户了,下面添加一个用户client

将client的sshkey rsa.pub拷贝到当前keydir目录下,

//将新用户test1的公钥复制到管理员端检出库gitolite-admin/keydir目录
root@adminGit: git  add  keydir/test1.pub  //执行 git add 命令,将公钥添加入版本库
root@adminGit: git  status
root@adminGit: git  commit  -m  “add  user:  xxx”  //执行 git commit,完成提交
root@adminGit git  push   //执行 git push,同步到服务器,才真正完成新用户的添加 
切换到root用户,运行visudo命令

在打开的配置文件中,找到root ALL=(ALL) ALL,在下面添加一行

git ALL=(ALL) ALL 其中git是你要加入的用户名称




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章