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

[经验分享] CentOS 6.5 GIT 服务器搭建

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-12-15 08:40:58 | 显示全部楼层 |阅读模式
CentOS git 服务器搭建

1. 环境部署

系统环境:
服务器端:CentOS 6.5  ip: 192.168.0.74

2. 安装
2.1 服务器端:
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

vi /etc/yum.repos.d/epel.repo
-----------------------------------------------------------------------------------------------------
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch/debug
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/6/SRPMS
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-source-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1

-----------------------------------------------------------------------------------------------------

yum -y install git git-daemon

查看版本号:git --version




3. 安装gitosis
gitosis  是Git用户权限管理系统, 通过管理服务端的/opt/git/.ssh/authorized_key 文件来执行对用户权限的管理
yum install python python-setuptools
git clone git://github.com/res0nat0r/gitosis.git
cd gitosis/  
python setup.py install
(Finished processing dependencies for gitosis==0.2  表示安装完成)

3.1 创建个人公钥和私钥(用于后面的git服务的管理员管理)
ssh-keygen -t rsa


3.2 创建git服务器管理用户
useradd -m git
passwd git


3.3 创建git仓库存储目录
mkdir /opt/git


3.4 设置git仓库权限
chown git:git /opt/git
chmod 755 /opt/git/



3.5 初始化全局设置
git config --global user.name "zhu.zhihuan"
git config --global user.email "zhu.zhihuan@moxiangroup.com"


3.6 配置gitosis
cp ~/.ssh/id_rsa.pub /tmp
sudo -H -u git gitosis-init < /tmp/id_rsa.pub  //将该公匙导入gitosis里,本机才有git的管理权限
chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
cat /tmp/id_rsa.pub >> /home/git/.ssh/authorized_keys //将root的公匙导入到git目录
chmod 600 /home/git/.ssh/authorized_keys



3.7 管理gitosis配置
git clone git@hostname:/gitosis-admin.git     (hostname 为本机的)
Receiving objects: 100% (5/5), done ( 登录成功)
cd gitosis-admin/                 (gitosis.conf是git仓库与权限配文件,keydir目录是存放其它客户机的公匙目录)




4.  添加  - 其他用户  ( Linux )
将其他用户的 自已的公匙 上传到 git 服务器中

将 用户公钥存放在 /root/gitosis-admin/keydir  目录中



4.1  将用户公钥导入 git 目录 ( home/git )   
cat /root/gitosis-admin/keydir/jicki.pub >> /home/git/.ssh/authorized_keys



4.2  编辑 gitosis.conf  文件  

----------------------------------------------------------------------
[gitosis]  
[group gitosis-admin]  
writable = gitosis-admin  
members = root@localhost.localdomain  
#加一个名为 yumwei  的组
[group yumwei]  
members = jicki               #这里的jicki对上面公匙文件名  
writable = yumwei             #项目仓库名

------------------------------------------------------------------------


4.3  提交到版本库
git add /root/gitosis-admin/keydir/jicki.pub
git commit -a -m "Allow jicki write access to yunwei"  
git push origin master


这时jicki便有权限操作yunwei仓库了,回到用户机上

cd ~  
mkdir /opt/yunwei  
cd /opt/yunwei  
echo "test " > test.txt  
git init //初始化本地版本
git remote add origin git@192.168.0.74:yunwei.git  //加到远程版本库中  
git add .
git commit -a -m "哈哈哈,测试一下"   
git push origin master


[测试是否已经提交到服务器库中] 在其他目录 clone回来
cd /tmp
git clone git@192.168.0.74:yunwei.git  



运维网声明 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-37963-1-1.html 上篇帖子: CentOS Git服务安装 下篇帖子: 快速搭建Git服务器 服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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