linux centos下搭建git服务器运行环境

转载 2016年05月31日 18:01:56

git是一个版本管理工具。服务端搭建分几步。

1、安装git

方式1:yum安装:yum install git
这种方式安装简单,但是安装的版本较低,当前安装的版本只是1.7.1

方式2:编译安装:
下载源码 :直接去github上下载:wget https://github.com/git/git/archive/master.zip
解压: unzip master.zip
cd git-master/
make configure
make
make install

如果make configure的时候报和libiconv相关的错。那就是当前系统缺这个库。要安装libiconv:

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar -zxvf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure
make
make install

装完libiconv以后,git编译的依赖库有了,需要回到git的目录,重新configure一下git:
make configure –with-iconv=/usr/local/share/doc/libiconv
–with-iconv参数就是要指定iconv包的位置。这个位置就是刚才安装libiconv的位置。
如果不知道在哪里,可以用命令搜索这个文件:
find / -name libiconv
configure完了,继续make 然后make install
如果出错,一般都是依赖库缺少。安装依赖库就行。

2、配置git服务
方便起见,在本文里客户端使用ssh协议和服务端交互。因为系统默认就开启了ssh服务,如果用http协议就需要装apache,比较麻烦。
由于使用了ssh,服务端的授权使用了linux本身的授权管理,所以为了使用git,我们需要给服务器上创建用户。
专门建一个用户组叫git:
groupadd git
在组下建一下用户叫git:
命令格式:
useradd -G git xxx -p yyy -s /usr/local/bin/git-shell
xxx是用户名,这里改成git。yyy是密码。
-s后面跟这个shell表示用户登录以后要使用的shell,因为这个用户登录就是为了使用git的,shell要用git提供的shell。这个在第一步安装了git之后就有了。如果不知道shell路径在哪里,可以执行命令查找:
which git-shell
最后,我们的命令是这样:
useradd -G git git -p 123456 -s /usr/local/bin/git-shell

3、服务器上初始化git

cd /home/git
mkdir projecta.git
cd projecta.git
git init –bare
cd ../
sudo chown -R git:git projecta.git/

创建了用户git以后,home目录下就会多一个文件夹叫git(和用户名相同的)。进入这个目录,然后我们建一个自己项目的文件夹,比如projecta.git。
然后用git init命令初始化一下。
最后一个命令,是确定git这个用户有权限操作这个项目目录。

4、配置免密码登录
为方便,避免每次登录都要输入密码,就像ssh linux服务需要每次输密码,会很麻烦。所以我们要配置一下免登录,这个和ssh时的配置完全相同。这个类似教程有很多,如:http://www.2cto.com/os/201205/133514.html
首先,在要登录服务器的机器上生成一个RSA公钥,不同的系统,软件有不同的方法,但大同小异,可搜索关键词“linux 免密码 登录”等。
以MAC为例:
cd ~/.ssh/
.ssh目录没有可自己建
ssh-keygen -t rsa
有提示直接回车确认
在这个目录下会生成id_rsa.pub文件,这个就是我们需要的公钥。
cat id_rsa.pub
看到有一个大长字符串。
把这个添加到服务器的git用户下。操作:
登录到git服务器以后,
cd /home/git
cd .ssh/
.ssh目录没有可自己建,看目录下有没有一个文件叫:authorized_keys,没有可以自己建,有的话编辑这个文件。
在最下面把刚才cat id_rsa.pub命令看到的大长字符串复制进去,记得要换行再粘贴进去,不要直接粘在原文件的后面。

免登录的思想可以简单理解为,每次ssh的时候,客户端都会随着提交一个长串到服务器上,服务器就去这个用户的目录下验证一下,有没有符合的串,有的话没密码就能登录了。当然实际情况下,是有加解密过程的。

5、客户端使用
获取代码:
git clone ssh://git@xxx.com/~/projecta.git
注意这个命令里@前面的git是用户名,表示要以git这个用户的名义登录。@后面的xxx.com是能访问到这个机器的域名,IP也是可以的。
~/projecta.git是版本库的地址。其中~表示用户git的home目录。也就是前面提到的/home/git,所以完整路径就是:
/home/git/projecta.git
如果提示没找到这个版本库,就要看一下,服务器上有没有这个目录了。

6、添加新用户
如果有新的开发人员加入,只需要把这个用户的公钥,添加到/home/git/.ssh/authorized_keys文件里就OK了。

7、添加新项目
重新操作步骤3,只需要mkdir projecta.git这个命令里的目录名称换一下:
mkdir xxx.git
版本库地址对应就是:
ssh://git@xxx.com/~/xxx.git

新建 git 版本库脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash

projectName=""

read -"Please enter project name :" projectName

if [ "$projectName" !=  "" ]
then
    echo "Creating project $projectName..."
    cd /home/git

    if  [ -"$projectName.git" ];then
        echo "$projectName.git exists,exit now. create failed.";
    else
        mkdir -$projectName.git
        cd $projectName.git
        git init --bare
        sudo chown -R git:git /home/git/$projectName.git
    fi
else
    echo "Project name is need, no project is created."
fi
本条目发布于2014年11月1日。属于程序设计分类。作者是baiyuxiong

CentOS Linux上使用Apache/mono搭建.NET运行环境

Mono是一个跨平台的、开源的.NET开发框架。支持Linux系统,它是Novell公司基于SUSE Linux操作系统开发的。  官网:http://mono-project.com/Main_P...

Linux CentOS下搭建JAVA运行环境

一、安装jdk 1.进入usr目录   cd /usr   2.在usr目录下建立java安装目录   mkdir java   3.将jdk-6u24-linux-i586.bin拷贝到java目录...

linux下搭建游戏服务器运行环境

最近一直只在搭建公司游戏服务器的运行环境。   ps背景:  使用java开发,之前一直都是在window环境下开发的,现在要将项目部署到linux环境下 ,所以历程缓慢啊。。。   说说过程中都遇到...

阿里云服务器CentOS7配置Java Web项目运行环境(MySql,Tomcat,Jre)

此教程基于阿里云服务器,安装好系统之后的操作。 1.MySql的配置。 推荐使用阿里云的集成配置工具“Linux一键安装web环境 ”,我使用的版本是...

Linux服务器Jboss运行环境搭建步骤和开机自动启动脚本编写运行

Jboss运行环境:Linux+Jdk+Jboss+jsp系统Jboss软件说明:类似于Tomcat,就是一个跑Jsp系统的环境,他的站点路径跟Tomcat类似,Tomcat存放站点文件到webapp...
  • xqf222
  • xqf222
  • 2014年09月19日 15:02
  • 3718

Linux服务器运行环境配置文档

  • 2014年02月12日 11:04
  • 86KB
  • 下载

一、java运行环境安装之-linux centos6.6安装mysql 5.6安装步骤【rpm安装方式】

前面装过很多次mysql的安装,但是一直没有记录起来,这次记录起来,方便以后找回记录。直接上图: 一,确定是否操作系统中存在mysql的旧包: 二、删除mysql旧版本的包 三、在linux下...
  • oyxm0
  • oyxm0
  • 2017年08月02日 21:29
  • 115

阶段巨献 - centos+php-fpm+mariaDB+svn+nodejs,配置linux的php和nodejs网站运行环境。

前言对于一个小项目和小公司而言,用php作为开发语言是很理智和聪明的选择,但是只要开发团队超过一个人,并且项目需要长时间持续开发下去,那么,一个相对稳定的运行环境及协同工作环境是必须的。 最近刚好转...
  • cdnight
  • cdnight
  • 2016年11月10日 15:14
  • 1685

Linux(Centos)配置PHP运行环境

网址: http://blog.csdn.net/xiaoliouc/article/details/17639503粗暴拷贝: 一、安装 MySQL 首先来进行 MySQL 的安装。打开超级终...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux centos下搭建git服务器运行环境
举报原因:
原因补充:

(最多只允许输入30个字)