基于CentOS7.2搭建Git私人服务器
来源:互联网 发布:unix编程 编辑:程序博客网 时间:2024/05/17 22:22
1. 安装服务器Git
1.1. 更新系统(可忽略)
- 命令:sudo yum update
1.2. 安装需要的依赖
- 命令:sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
1.3. 删除系统自带的旧版本Git
- 命令:yum remove git
1.4. 下载Git并解压缩
1.4.1. 下载git
进入https://www.kernel.org/pub/software/scm/git 查看版本,根据需要选择
- 命令:cd /opt/git 目录下,下载git文件
- 命令:wget https://www.kernel.org/pub/software/scm/git/git-2.9.3.tar.gz
1.4.2. 解压缩文件
- 命令:gunzip git-2.9.3.tar.gz
- 命令:tar -xvf git-2.9.3.tar
1.5. 编译安装
将其安装在“/opt/git”目录下。
- 命令:cd /opt/git/git-2.9.3
- 命令:make prefix=/opt/git all
- 命令:sudo make prefix=/opt/git install
1.6. 配置环境变量,立即生效 (etc/profile 或 /etc/bashrc)
- 命令:echo “export PATH=$PATH:/opt/git/bin” >> /etc/bashrc
- 命令:source /etc/bashrc
2. 安装桌面Git
2.1. 软件下载
默认安装,或根据需要安装即可
- Git服务端:https://git-scm.com/download/win
或https://git-for-windows.github.io/ - SourceTree图形化工具:https://www.sourcetreeapp.com(需要注册)
或 - TortoiseGit:https://tortoisegit.org/download/ (类似于TortoiseSVN小乌龟工具)
2.2. 生成public key/private key
安装完成后,打开Git Bash,输入以下命令,生成key备用(id_rsa、id_rsa.pub)
- ssh-keygen -t rsa -C “用户名”
3. 配置Git远程服务器
远程仓库通常只是一个裸仓库(bare repository) 即一个没有当前工作目录的仓库。因为该仓库只是一个合作媒介,所以不需要从硬盘上取出最新版本的快照;仓库里存放的仅仅是 Git 的数据。简单地说,裸仓库就是你工作目录中 .git 子目录内的内容。
3.1. SSH打开RAS认证
Git数据交互是基于ssh的,查看是否开启了ssh服务
- 命令:ps -ef|grep “sshd”
开启之后会显示一些信息。如果你能看到一些sshd相关的进程信息,则说明你已经有这个服务了,否则(或者你想更新的话),使用下面的命令安装openssh。
- 命令:yum install openssh-server
3.2. 创建Git用户和组
- 命令:groupadd git (创建Git组)
- 命令:adduser -m git -g git (创建git用户并指定分组)
- 命令:passwd git(设置密码,输入一次、确认一次)
Git用户文件夹,查看一下文件夹路径,如果没有就创建,如果存在则忽略
- 命令:mkdir /home/git
- 命令:mkdir /home/git/.ssh
3.3. 生成public key/private key(RSA对称加密密钥)
- 命令:su git (切换到git用户下)(只有生成key是需要在git用户下操作)
- 命令:ssh-keygen -t rsa (生成密钥,一直下一步就可以)
- 命令:cat .ssh/id_rsa.pub (查看生成的公钥)
- 命令:cd /home/git/.ssh
- 命令:cat id_rsa.pub >> authorized_keys (将id_rsa.pub内容附加到authorized_keys里)
- 命令:chmod 700 ./.ssh ( 4+2+1 : [读]+[写] + [执行] )
- 命令:chmod 600 authorized_keys (4+2 : [读]+[写] )
3.4. 将RSA认证打开
- 命令:vi /etc/ssh/sshd_config (找到以下3项去掉前面注释,前面不可有空格)
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys (与上边指定文件名是相对应的) - 命令:sudo service sshd restart (重启ssh服务,使其配置生效)
3.5. 初始化Git仓库
创建git资源库文件夹(也可直接初始化创建git init –bare /home/git/repositories.git文件位置仅供参考)
- 命令:mkdir /home/git/repositories.git
- 命令:cd /home/git/repositories.git
- 命令:git init –bare
- 命令:cd /home (切换到home路径下)
- 命令:chown -R git:git git (将home下git用户文件夹下所有文件,授予git用户git组操作权限)
- 命令:cd git
- 命令:chmod 700 ./repositories.git (4+2+1 : [读]+[写] + [执行])
3.6. 配置authorized_keys
将2.2中生成的id_rsa.pub(公钥),配置到git用户文件夹下的authorized_keys中
copy windos下 id_rsa.pub中内容,粘贴到authorized_keys中(每个为一行,不可有换行符)
- 参考命令:vi /home/git/.ssh/authorized_keys (编辑文件,粘贴并保存)
3.7. 禁止sell登录(暂不采用,设置后无法连接)
出于安全考虑,创建的git用户不允许登录shell,这可以通过终端编辑/etc/passwd文件完成。
- 命令:vi /etc/passwd 找到类似下面的一行:
- 原:git:x:1001:1001:,,,:/home/git:/bin/bash
- 改为:git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
4. 与远程仓库交互
4.1 配置密钥
打开SourceTree软件,点击工具》选项, 配置私钥
- SSH密钥:选择RSA生成的id_rsa(私钥)
- SSH客户端:选择OpenSSH
4.2 克隆仓库
- 请求url:git@192.168.179.133:/home/git/repositories.git
- 目标路径:自行选择
参考文献
Git 白皮书 :https://git-scm.com/book/zh/v2
- 基于CentOS7.2搭建Git私人服务器
- Ubuntu16搭建私人git服务器
- CentOS7 搭建Git服务器
- CentOS7搭建git服务器
- Centos7搭建git服务器
- centos7.3搭建git服务器
- 阿里云Centos7 搭建Git服务器仓库
- Centos7搭建git服务器和gitblit管理工具
- ubuntu配置git私人服务器
- 基于CentOS搭建GIT服务器
- 基于SSH协议的git服务器搭建
- 基于GitStack搭建Git中心服务器
- 基于Windows的Apache+Git服务器搭建
- 基于http方式的git服务器搭建
- 搭建基于SSH的Git服务器
- Windows下基于ssh搭建GIT服务器
- Linux (centos7) 安装Git搭建服务器以及客户端安装
- Centos7 搭建git服务器,并利用Gitosis进行权限管理
- Git 常用配置
- javascript:创建数组并赋值的三种方法
- JavaScript 获取数组的最后一个元素
- OkHttp简易使用教程
- parseInt()
- 基于CentOS7.2搭建Git私人服务器
- char型变量中能不能存贮一个中文汉字?为什么?
- HDU3966-树链剖分(区间更新,点查询)
- 【OpenGL】OpenGL系列——03堆栈操作
- springmvc响应json数据的时候报错406解决方案
- GitLab 与 Gerrit
- MySQL数据库使用mysqldump导出数据详解
- Eclipse 中svn的合并与同步
- Android如何预置apk,jar,lib等任意文件到系统中