当前位置:首页 » 云服务器 » git服务器搭建centos7

git服务器搭建centos7

发布时间: 2022-11-28 09:39:51

㈠ 搭建Git服务器及备份服务器

OS:CentOS 7.2
Git:1.8.3.1

备份模式:

以下步骤以双机备份为例,单机备份同理,只是在镜像git项目的时候把git url换成单机中的git项目目录即可。

首先,查看系统软件库中是否有git和git的版本:

CentOS 7.2环境下的输出如下:

CentOS 7.x版本的仓库中已经附带了1.8.3.1版本的git,可以直接安装。
CentOS 6.x中的git是1.7.x版本,自带库中git版本低的linux发行版可以添加git1.8.3.1的源来安装git,但这个操作要求本机能访问互联网
其他版本的git理论上也可以,请自行测试

结果最后显示“安装完成”或“Complete”表示安装成功。可以直接使用git命令测试一下:

输出如下表示git安装成功并可用。

创建一个git用户,用来提供给外部用户以git url的方式访问git库。

在用户目录或其他对外目录中创建 /git/repos 目录,用来存放git库。

注意: 尽量使用git用户来创建该目录,方便以后git操作该目录,如果是使用其他用户创建的,记得使用以下命令将该目录的owner改为git:

为了方便访问,可以在根目录下创建一个软链连接到该目录:

这样设置后,假如以后有一个库叫 test.git ,那么就可以通过以下url来访问git库了:

创建一个测试库用来测试备份及连通性。

同主GIT服务器的《安装git》章节。

同主GIT服务器的《创建git库目录》章节。
目录结构尽量与主git服务器上的结构一致,如果不一致,使用软链的形式将git url配置为与主git服务器一致,这样保证在切换服务器时,客户端不用做修改操作。

以上个步骤中创建的 test.git 为例:

这样,主git服务器中的 test.git 就镜像到备份机中了。

如果主服务器的git项目发生了变更,可以将变更同步到备份机。

将以上同步命令写成脚本,添加一个定时任务来定时同步即可。
(待补充)

备份同步时每次都需要输入主git服务器的密码,比较麻烦,也不利于定时同步的脚本操作,可以使用ssh免密登录的方式,在主服务器上配置备份服务器的公钥。

一路Enter(回车键),完成后会打印出密钥的生成位置,通常在用户主目录的 .ssh 目录中。默认情况下会生成以下两个文件:

一定要注意上述命令中的第三步,权限要设置对,否则认证不过去不能免密登录。

如果在实际运行中,主git服务器挂了一段时间,在这段时间里一直是备份git服务器在工作,那么在修复好主服务器后需要将这一段时间的变更同步回主服务器。

操作完成后备份库自上一次同步后的更改都推送到了主库。

㈡ 如何在CentOS 7中安装Git

一、git安装

1.查看系统是否已经安装git

git --version

2.CentOS7 yum 安装git

yum install git

3.安装成功

yum --version

4.卸载git

yum remove git

一(1)git安装(第二种方法)

安装
Step 1 安装git
yum install perl openssh git

Step 2建立一个git用户,并做初步配置

adser --system --shell /bin/sh --create-home --home-dir /home/git git
# 进入git用户的home目录
cd /home/git
# 新建一个目录,用于存放git的全部仓库
mkdir repositories
# 设置该目录的所有权
chown git:git -R ./repositories
# 修改该目录的操作权限
chmod 700 ./repositories

Step 3生成一对公钥证书(空密码则直接回车)

# 可直接在服务器上生成,也可以在本地生成,在这里我直接在服务器上生成了。
ssh-keygen -t rsa
# 最后生成两个文件,分别为id_ras.pub(公钥) 和id_rsa(私钥)
# 将公钥移到/home/git/.ssh/目录下,注意,公钥文件名改了,公钥名对应gitolite里配置的用户名,admin我用于做系统管理员的账号名。
mv id_rsa.pub /home/git/.ssh/admin.pub
# 将私钥id_rsa用SFTP下载回到本地Windows的C:\Users\Administrator\.ssh\目录下,Administrator是我登录Windows的账号,你要改成自己电脑对应的目录下,用于本地git登录远程服务器。

Step 4切换至刚建的git用户,安装gitolite

su git
git clone git://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
# 安装gitolite
gitolite/install -to $HOME/bin
# 安装时报错,根据错误提示,网络了几下,安装相关的依赖
yum install wget perl-ExtUtils-MakeMaker gcc

wget http://www.cpan.org/moles/by-mole/Data/Data-Dumper-2.154.tar.gz
tar xvzf Data-Dumper-2.154.tar.gz
cd Data-Dumper-2.154
perl Makefile.PL
make
make install

Step 5配置gitolite
$HOME/bin/gitolite setup -pk admin.pub
# 完成后,在/home/git/repositories里面,生成两个仓库gitolite-admin.git和test.git,一个是管理仓库用的,另一个是测试用的;下面我们主要对gitolite-admin.git仓库进行操作,就可以管理服务器上的全部仓库了。

Step 6管理gitolite
git clone [email protected]:gitolite-admin
#完成后有两个目录,分别是conf和keydir,conf/gitolite.conf是用户、仓库的权限配置,keydir是放对应用户的公钥,修改好后push回服务器,就完成了管理操作。

下面,我们用个例子说明如何管理git仓库。
1、 最初的conf/gitolite.conf内容如下:
repo gitolite-admin
RW+ = admin

repo testing
RW+ = @all

2、 然后我们在gitolite.conf内容下面添加如下内容
@ android_group = zhangsan lisi

repo androidapp
RW+ = @android_group

3、 @ android_group = zhangsan lisi,定义了@android_group组,组员是zhangsan和lisi两个人,当然,组里也可以包含另一组,人员或组之间用空格分开,我们修改后如下:

@ android_group = zhangsan lisi
@ ios_group = zhangsan wanwu
@ app_group = @android_group @ios_group

repo androidapp
RW+ = @android_group

repo appdoc
RW+ = @ app_group

4、 repo androidapp,定义了一个androidapp仓库,该仓库读写权限为@android_group,最后push回服务器后,我们就可以在本地执行
git remote add origin [email protected]: androidapp.git
git push origin master

两次命令来首次推送本地仓库到远程服务器仓库,下次有修改再推送时直接git push即可。

Step 7给公司里每位童鞋分配私钥证书
1、 生成证书
ssh-keygen -t rsa –C “[email protected]

2、 将公钥id_ras.pub改名为童鞋名字全拼,比如zhangsan.pub,并拷到gitolite-admin仓库的keydir目录下;
3、 将私钥id_rsa飞Q发给相应的童鞋;
4、 重复1到3,直到全部发给每位童鞋;
5、 修改gitolite.conf,配置各个项目的访问权限;
6、 推送gitolite-admin修改后的内容到服务器;
7、 完成分配工作。
注:人员名字全拼为公钥文件名,同时也是gitolite.conf里的用户名;私钥id_rsa让童鞋们放在C:\Users\Administrator\.ssh\目录下。
Administrator是系统登录名,如果你的不是这个名,那就改改。
当然了,也可以让童鞋们自己生成公钥对,然后把公钥统一发给我。
在Windows下使用git图形客户端
1、 安装Windows git,下载地址https://git-for-windows.github.io/,下载后一路next安装即可。
2、 安装TortoiseGit,TortoiseSVN的兄弟,下载地址https://tortoisegit.org/download/,也是一路next安装。
3、 配置TortoiseGit,参考其他文章即可,网上文章还是比较多的,比如下面这篇写得就很好http://blog.csdn.net/renfufei/article/details/41647937。

git 使用

㈢ 如何在CentOS 7中安装Git

CentOS下Git服务器搭建与客户端安装
时间:2014-05-14 来源:blog.51cto.com
大纲:
一、前言
二、搭建Git服务器
yum安装Git服务器
创建一个git用户,用来运行git服务
创建客户端登录证书
初始化Git仓库
禁用shell登录
克隆远程仓库
三、安装客户端
Windows 客户端
Linux 客户端
四、总结
注,测试机 CentOS 5.5 x86_64,Git 服务器版本:git version 1.8.2.1,客户端版本:git version 1.9.2.msysgit.0。所有软件请到这里下载:http://msysgit.github.io/。

一、前言
在上一篇博客中我们主要讲解Git是什么,Git的基本原理,讲解一些有关Git的基础知识,让我们简单的了解一下Git,当然我们还有很多问题没有搞清楚,嘿嘿!不管理怎么样,在我们弄清楚这些问题之前,我们得有台Git服务器是吧,嘿嘿!好了,下面我们就来一起搭建一台Git服务器。

二、搭建Git服务器
1.yum安装Git服务器

[root@git ~]# cd src/
[root@git src]# wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
[root@git src]# rpm -ivh epel-release-5-4.noarch.rpm
Preparing... ########################################### [100%]
package epel-release-5-4.noarch is already installed
[root@git ~]# yum list
[root@git ~]# yum install -y git

2.创建一个git用户,用来运行git服务

[root@git ~]# adser git

3.创建客户端登录证书
注,收集所有需要登录的用户的公钥,就是他们自己生成的id_rsa.pub文件,把所有公钥复制到/home/git/.ssh/authorized_keys文件里,一行一个。嘿嘿!
1).客户端生成id_rsa.pub文件的命令

$ ssh-keygen -t rsa
$ cat .ssh/id_rsa.pub
ssh-rsa ++N3wEAQRYDmcYo1wmnm/4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+== leo@LEO-PC

注,一路回车即可,将生成的id_rsa.pub,复制给管理员,帮你在服务器上增加一下,下次你用git时就不需要输入用户名和密码了。
2).查看服务器上authorized_keys文件

[root@git ~]# cat /home/git/.ssh/authorized_keys
ssh-rsa wBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs++/+kJzJSKUTKDVSwY3/+Q== root@CHENMINGQIAN
ssh-rsa +PSK9PSg+bwiJ2iQRa39rXck35r+//RiCiYzd3RT/+S/LD3vx2MN+FNOHwvqcE+/5yEqSgAkioa8SVMOsikYJG//RZ54Q== Administrator@WIN2003X323
ssh-rsa ++N3wEAQRYDmcYo1wmnm/4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+== leo@LEO-PC

说明:我这里有三个用户登录服务器,所以我这里就有三个ssh-rsa,大家可以看一下。
4.初始化Git仓库
注,先选定一个目录作为Git仓库,这里是/data/git/project.git。

[root@git ~]# cd /data/git/
[root@git git]# git init --bare project.git
[root@git project.git]# ls
branches config description HEAD hooks index info objects refs

执行以上命令 Git命令,会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:

[root@git git]# chown -R git.git project.git
[root@git git]# ls -l
总计 4
drwxr-xr-x 7 git git 4096 05-09 13:50 project.git

5.禁用shell登录
注,出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

[root@git ~]# cat /etc/passwd | grep git
git:x:1001:1001:git version control:/home/git:/bin/bash

改为:

[root@git ~]# vim /etc/passwd
git:x:1001:1001:git version control:/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
6.克隆远程仓库
注,现在可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:

注,$ git clone [email protected]:/data/git/project.git,其中git用户名,git.jjhh.com服务器,/data/git/prgject.git是仓库路径。好了,到这里服务器的搭建到这里就完成了,下面我们来安装一下客户端。

三、安装客户端
1.Windows 客户端
1).下载客户端
注,大家到这里下载http://msysgit.github.io/。下面简单演示一下安装过程,比较简单:

好了,到这里就安装完成了,安装好以后会在桌面上有个图标,你双击打开即可。如下图:

2.Linux 客户端
注,Linux客户端安装就比较简单了,直接用yum安装一下就好!

1

[root@test ~]# yum install -y git

到这里git就安装完成了,下面我们查看一下版本:

1
2

[root@test ~]# git --version
git version 1.8.2.

下面我们生成公钥并复制到服务器上:

[root@test ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
48:3c:22:76:02:f1:a2:e5:27:22:cb:4f:a7:a0:98:9d [email protected]
[root@test ~]# cat .ssh/id_rsa.pub
ssh-rsa ++U7zP/hr6HzfqeZU09Ccis4yK3RMwip2f+/ug2M68Z0jQk5DVG8w5+/V7eOkrvBMDh9nDdwvDhPhuhBDSfE++B18MQ== [email protected]

下面我们复制id_rsa.pub里的公钥到服务器的authorized_keys文件中。

[root@git ~]# su git
bash-3.2$ cd
bash-3.2$ vim .ssh/authorized_keys
ssh-rsa wBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs++/+kJzJSKUTKDVSwY3/+Q== root@CHENMINGQIAN
ssh-rsa +PSK9PSg+bwiJ2iQRa39rXck35r+//RiCiYzd3RT/+S/LD3vx2MN+FNOHwvqcE+/5yEqSgAkioa8SVMOsikYJG//RZ54Q== Administrator@WIN2003X323
ssh-rsa ++N3wEAQRYDmcYo1wmnm/4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+== leo@LEO-PC
ssh-rsa ++U7zP/hr6HzfqeZU09Ccis4yK3RMwip2f+/ug2M68Z0jQk5DVG8w5+/V7eOkrvBMDh9nDdwvDhPhuhBDSfE++B18MQ== [email protected]

下面我们clone一个仓库到本地的目录中。

[root@test ~]# cd /data/dev
[root@test dev]# git clone [email protected]:/data/git/project.git
Cloning into 'project'...
The authenticity of host 'git.jjhh.com (114.112.173.150)' can't be established.
RSA key fingerprint is ca:ec:a2:7e:e6:89:ca:19:d3:93:7f:4b:c3:c0:c7:fd.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'git.jjhh.com,114.112.173.150' (RSA) to the list of known hosts.
remote: Counting objects: 50, done.
remote: Compressing objects: 100% (42/42), done.
remote: Total 50 (delta 21), reused 0 (delta 0)
Receiving objects: 100% (50/50), 4.02 KiB, done.
Resolving deltas: 100% (21/21), done.
[root@test dev]# ls
project
[root@test dev]# cd project/
[root@test project]# ls
index.html

好了,到这里我们的git客户端到这里就全部安装完成了。

㈣ 如何在CentOS 7中安装Git

centos7的安装光盘或者网络源中包含git安装包。

可直接cp光盘中的rpm文件
也可配置好yum之后
执行
yum install git

㈤ 在Linux下搭建Git服务器

众所周知,版本系统在开发环境中是必不可少的,但是我们可以把代码免费的托管到GitHub上,如果我们不原意公开项目的源代码,公司又不想付费使用,那么我们可以自己搭建一台Git服务器,可以用Gitosis来管理公钥,还是比较方便的。

搭建环境:

服务器 CentOS6.6 + git(version 1.8.3.1)

客户端 Windows10 + git(version 2.11.1.windows.1)

1. 安装Git相关软件

Linux是服务器端系统,Windows作为客户端系统,分别安装Git

安装客户端:

下载 Git for Windows,地址:https://git-for-windows.github.io/

安装完之后,可以使用Git Bash作为命令行客户端。

安装Gitosis

出现下面的信息表示安装成功了

2. 服务器端创建git用户来管理Git服务

3. 配置公钥

在Windows上配置管理者,git服务器需要一些管理者,通过上传开发者机器的公钥到服务器,添加成为git服务器的管理者,打开git命令行

4. 配置gitosis

使用git用户并初始化gitosis

在Windows上机器上clone gitosis-admin到管理者主机

gitosis.conf: git服务器配置文件

keydir: 存放客户端公钥

配置 gitosis.conf 文件

在Windows管理者机器上创建本地test仓库,并上传到git服务端

提交到远程服务器

服务端会自动创建test仓库

5.添加其他git用户开发者

由于公司开发团队人数不断增多,手动添加开发者私钥到/home/git/.ssh/authorized_keys比较麻烦,通过上面的Windows机器的管理者统一收集其他开发者的私钥id_rsa.pub文件,然后传到服务器上,配置好后,用户即获得项目权限,可以从远程仓库拉取和推送项目,达到共同开发项目。

推送完成后,新加进来的开发者就可以进行项目的开发了,后续增加人员可以这样添加进来,开发者直接把仓库clone下来就可以了。

㈥ 如何在CentOS 7中安装Git

通过yum命令进行安装,
# yum install git -y

㈦ 如何使用centos 搭建git

在很多Linux系统库中都有Git,可以直接用命令行安装。
例如Fedora中可以直接用yum install git等,参考如下:
Debian/Ubuntu
$ apt-get install git
Fedora
$ yum install git
Gentoo
$ emerge --ask --verbose dev-vcs/git
Arch Linux
$ pacman -S git
openSUSE
$ zypper install git
FreeBSD
$ cd /usr/ports/devel/git$ make install
Solaris 11 Express
$ pkg install developer/versioning/git
OpenBSD
$ pkg_add git
新版的CentOS后续好像也支持了这个功能,但是这种方法虽然简单,但是一般仓库里的版本更新不及时,比如 CentOS 仓库中的 git 最新版是1.7.1,但是 git 官方已经到2.x 的版本了。对于想要获取最新git的系统,只能下rpm包或者用源码
步骤如下:
1、下载编译工具
yum groupinstall “Development Tools”
2、下载依赖包
yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel
3、下载 git 最新版本的源代码
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz
或者
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.xz
4、解压源文件
tar -zxvf git-latest.tar.gz
或者
xz -d git-latest.tar.xz
tar -xvf git-latest.tar
5、编译安装
autoconf
./configure
make -jn && make -jn install
其中make -j n中的n为指定线程数,对于多核处理器这样可以加快编译安装的速度
6、添加link
ln -s /usr/local/bin/git /usr/bin/
这一步对于原本系统中有旧版git的系统很重要,会报告Link已存在,此时要删除原来的Link即/usr/bin/git,再执行第六步。
7、检查版本号
git --version
对于系统中存在老版的git的系统,安装了新git后用git --version查看仍然显示为老版就是因为i忽略了第六步,这是很重要的!

㈧ 如何在CentOS 7中安装Git

很高兴为您解答;
1、开始在CentOS
7中安装Subversion
2、加配置文件到Apache
3、创建SVN用户
[root@linuxidc-centos7
~]#
htpasswd
-cm
/etc/svn-auth-users
testuser1
New
password:
Re-type
new
password:
Adding
password
for
user
testuser1
[root@linuxidc-centos7
~]#
4、创建和配置SVN仓库
5、你可以用这种方式–HTTP和HTTPS
firewall-cmd
--permanent
--zone=public
--add-service=http
firewall-cmd
--permanent
--zone=public
--add-service=https
firewall-cmd
--reload
6、启用并启动HTTP服务
systemctl
enable
httpd.service
systemctl
restart
httpd.service
7、加入下面这个到conf/svnserve.conf
anon-access
=
none
auth-access
=
authz
8、branches&tags&trunk模式下建svn库
望采纳
谢谢

热点内容
手机存储空间里的其他怎么清理 发布:2025-01-10 18:19:59 浏览:800
二手的电脑服务器都怎么处理了 发布:2025-01-10 18:19:05 浏览:905
定压补水装置如何配置 发布:2025-01-10 18:12:34 浏览:429
安卓是华为的什么 发布:2025-01-10 18:12:27 浏览:539
pythonsetget 发布:2025-01-10 17:53:12 浏览:853
买脚本多少钱 发布:2025-01-10 17:52:34 浏览:934
文件夹万能解密器破解版 发布:2025-01-10 17:48:12 浏览:463
荣耀v30跟荣耀50哪个配置高 发布:2025-01-10 17:43:00 浏览:239
php发布系统 发布:2025-01-10 17:34:17 浏览:366
dnf刷疲劳脚本 发布:2025-01-10 17:33:39 浏览:350