失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 阿里云CentOS7.3搭建多用户私有git服务器(从安装git开始)

阿里云CentOS7.3搭建多用户私有git服务器(从安装git开始)

时间:2020-07-13 13:11:28

相关推荐

阿里云CentOS7.3搭建多用户私有git服务器(从安装git开始)

起因

自己会有练手的不敢公开的项目,就自己搭建个服务器放自己的渣代码了。

在经历了连不上服务器、没有访问权限、没法提交以后,我打通了任督二脉。

我这个git服务器适合条件:1、就那么几个人小项目,不是几百人的大项目;2、不需要什么恶心的代码权限的(这玩意我搞不了)。

经过

首先声明我下面的操作都是在root用户下执行的。

放行git端口

防火墙添加放行规则,将3690端口放行

安装git

安装git必备工具包:yum -y groupinstall "Development Tools"

安装git依赖包:yum -y install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel

接下来是下载git,先去找最新版,放个官方的红帽下载链接:Index of /pub/software/scm/git/,找到最新版的tar.gz结尾的源码包(我现在是-03-21,最新版是2.21.0)。

我安装git的目录是/usr/local/tools/git/

进入git目录:mkdir -p /usr/local/tools/gitcd /usr/local/tools/git/,下载最新版git:wget https://mirrors./pub/software/scm/git/git-2.21.0.tar.gz解压git:tar -zvxf git-2.21.0.tar.gz

我要安装在/usr/local/tools/git/git-2.21.0目录下,因此我把安装包重命名成git-2.21.0-installer了:mv git-2.21.0 git-2.21.0-installer开始编译安装包:cd git-2.21.0-installer./configure --prefix=/usr/local/tools/git/git-2.21.0(这儿把prefix后面的目录改成你要安装的目录就行了)make && make install

加入环境变量:vim /etc/profile,在后面追加GIT_HOME=/usr/local/tools/git/git-2.21.0(就是上面prefix后面的那个目录),$PATH=$GIT_HOME/bin:$PATHexport GIT_HOME PATH这三句,然后ESC:wq保存退出,执行source /etc/profile,使得我们的配置生效。

验证git是否安装成功:git --version,出现版本信息就对了。

搭建git服务器

首先说明下仓库可以放在其他非用户家目录下,也就是说/home/下面原来有的目录都不能用。

新建git仓库目录:mkdir -p /usr/local/repository/git;

新建访问用户:useradd -M zhangsan,useradd -M lisi,useradd -M wangwu, 这样子用-M添加用户不会生成/home/zahngsan家目录;

新建访问用户组:groupadd git;(创建git用户组,你也可以改成其他的,比如:groupadd developer或者其他用户组反正你记得就行了);给用户设置密码:passwd zhangsanpasswd lisi,passwd wangwu,分别给他三个设置登陆密码,拉取代码和提交代码需要提供密码;添加用户到用户组:usermod -G git zhangsan,usermod -G git lisi,usermod -G git wangwu;变更git仓库的所有者到任何人:chown -R nobody:nobody /usr/local/repository/git,赋予nobody就是把权限给了所有人;修改git仓库的读写权限:chmod -R 777 /usr/local/repository/git,这样子git仓库就能读写了,否则会报错拒绝提交的;变更git仓库的所有人为git用户组:chgrp -R git /usr/local/repository/git, 这是修改权限给git用户组的。

验证文件权限:cd /usr/local/repository/ll,看下git文件夹前缀那些是不是变成了下图这样子(主要看drwxrwxrwx(读写权限) nobody(可访问用户任何人) git(可访问用户组git) )。

修改用户shell登陆权限:vim /etc/passwd,找到最后头的zhangsan、lisi、wangwu,把冒号后面的/bin/bash改成usr/local/tools/git/git-2.21.0/bin/git-shell,就是你的git安装目录下的/bin/git-shell。

添加用户的SSH公钥:创建公钥目录mkdir -p /home/git/.ssh/,创建密钥存放文件vim authorized_keys将从zahngsan、lisi、wangwu的电脑的C:/users/用户名/.ssh目录下找到id_rsa.pub,一行一个全都复制到该文件中;

(PS:如果张三没有id_rsa.pub文件的话,那就用cmd执行git config --global user.name "zahngsan"git config --global user.email "张三的能接收邮件的邮箱",然后执行ssh-keygen按三下回车,就有那个文件了)

其实都到现在为止,我们已经搭建好了git服务器,接下来进入装逼时刻。

验证git服务器

创建裸仓库:git init --bare /usr/local/repository/git/myGit.git,git服务器初始化仓库的时候一定要加上--bare,否则你的仓库不能推送代码;打开cmd切换到指定目录,输入:git clone zhangsan@服务器IP:/usr/local/repository/git/myGit.git,按照提示输入密码就能clone项目;然后增加个readme.md或者其他文件,在cmd执行git add readme.md,git commit -m"新增readme文件",git push,就看执行push以后是否成功就行了。

结尾

你搭建出来了吗?

如果觉得《阿里云CentOS7.3搭建多用户私有git服务器(从安装git开始)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。