原文:http://blog.csdn.net/esinzhong/article/details/8018041
前言 这里我用的系统是centos 6.2,
在服务器上的准备工作(服务器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.conf
gitosis.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密码的
最后大功告成...
相关推荐
### CentOS下的Git服务器:Gitosis 安装与配置详解 #### 一、Git与Gitosis简介 Git是一款非常流行的分布式版本控制系统,最初由Linux内核的开发者Linus Torvalds为了更好地管理Linux内核的开发而创建。Git因其高效...
在本文中,我们将详细介绍如何在 Linux 系统中安装和配置 Git 环境,包括设置用户权限、安装 Git、配置 Git 账号、初始化 Gitosis、配置 Git 服务选项等内容。 一、增加 yum repository 在 CentOS 中,要安装 Git ...
总结,Git服务器配置涉及Git和Gitosis的安装与设置,主要目的是实现代码版本控制和团队协作。通过理解这些基础知识,你可以成功地搭建起一个安全的Git服务器,为项目提供高效且可控的代码管理环境。
3. **解压并安装**:将 "gitosis.tar.gz" 压缩包解压到一个合适的目录,然后在该目录下运行 `python setup.py install` 命令。这会安装 Gitosis 的 Python 脚本和其他必要组件。 4. **配置 SSH 公钥**:每个开发者...
Linux下搭建Git环境涉及一系列步骤,包括安装Git服务器端软件、创建用户、配置公钥认证、搭建管理工具如Gitosis,以及设置服务器权限等。下面详细说明这个过程: 1. 安装Git环境 首先,我们需要在服务器端和客户端...
在CentOS 6.6上,可以使用`yum`包管理器来安装Git。执行`yum install -y git`命令,然后通过`git --version`确认安装成功。 2. **安装Git客户端** 对于Windows用户,需要下载并安装Git for Windows,可以从官方...
在“Git Server搭建手册v1.0.pdf”中,你将找到详细的步骤、配置示例和可能遇到的问题解决方案,这将帮助你顺利搭建并管理自己的Git服务器。无论你是初学者还是经验丰富的开发者,这份手册都将是你宝贵的参考资料。...
在部署Git Server之前,首先要安装Git。以CentOS 6.x 64位操作系统为例,可以从以下两个网址下载Git的源代码: - https://github.com/git/git/releases - https://www.kernel.org/pub/software/scm/git 当时的...
1. **安装git**:首先确保你的阿里云服务器已内置git安装包,通过`yum install git`(CentOS)或`apt-get install git`(Ubuntu)来安装git。git是一种分布式版本控制系统,每个安装了git的设备都能作为客户端或...
导读:众所周知,版本系统在开发环境中是必不可少的,但是我们可以把代码免费的托管到GitHub上,如果我们不原意公开项目的源代码,公司又不想付费使用,那么我们可以自己搭建一台Git服务器,可以用Gitosis来管理公钥...