CentOS服务器安装 Git 2.2.0
2015-01-28 12:53
357 查看
服务器端:
#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
##wget https://github.com/git/git/archive/v2.2.0.tar.gz
#tar zxvf git-2.2.0.tar.gz
#cd git-2.2.0
#make prefix=/usr/local all
#make prefix=/usr/local install #root用户运行
如果编译时提示错误:
LINK git-credential-store
libgit.a(utf8.o): In function `reencode_string_iconv’:
/opt/git-master/utf8.c:530: undefined reference to `libiconv’
libgit.a(utf8.o): In function `reencode_string_len’:
/opt/git-master/utf8.c:569: undefined reference to `libiconv_open’
/opt/git-master/utf8.c:588: undefined reference to `libiconv_close’
/opt/git-master/utf8.c:582: undefined reference to `libiconv_open’
collect2: ld 返回 1
make: *** [git-credential-store] 错误 1
解决办法:
cd /usr/local/src/
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure -prefix=/usr/local/libiconv && make && sudo make install
然后回到git继续编译:
cd /usr/local/src/git-1.8.5
make configure
./configure --prefix=/usr/local -with-iconv=/usr/local/libiconv
make
make install
# git --version
git version 2.2.0
OK,说明安装成功!
下面来安装 gitosis
gitosis为Git用户权限管理系统,通过管理服务端的authorized_key文件来执行对用户权限的管理,是一个python模块包
yum install python python-setuptools
cd /usr/local/src
git clone git://github.com/res0nat0r/gitosis.git
cd gitosis
python setup.py install
OK gitosis 安装成功!
配置服务器git:
0.1 输入以下两条命令
git config --global user.name "Your Name Here"
git config --global user.email "your_email@example.com"
可以再输入git config -l查看上面两个是否设置
在开发机上生成密钥并上传到服务器上
代码如下 复制代码
ssh-keygen -t rsa #一路回车,不需要设置密码
scp ~/.ssh/id_rsa.pub root@192.168.103.10:/tmp #上传公钥到服务器(默认SSH端口22)
或
scp -P 3600 ~/.ssh/id_rsa.pub root@192.168.103.10:/tmp
5、服务器上生成git用户,使用git用户并初始化gitosis
adduser -m git
su – git
gitosis-init < /tmp/id_rsa.pub
#显示以下信息即表示成功
#Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
#Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/
#删除密钥
su – root
rm -rf /tmp/id_rsa.pub
禁用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每次一登录就自动退出。
2,在git用户下,生成私钥和公钥。
$ssh-keygen –t rsa
3,在git用户下,拷入id_rsa.pub文件。
$gitosis-init < id_rsa.pub
这样在git用户目录下生成了一些目录,gitosis,repositories。
至此,安装工作完成。
添加开发者
git服务器管理人员需要把所有的开发者公钥保存到authorized_keys文件中。
$cat /tmp/id_rsa.pub.ubuntu >> authorized_keys
创建项目仓库
git管理人员操作:
$mkdir /home/git/gitproject
$cd gitproject
$git --bare init (创建一个空项目)
开发者提交项目
ubuntu开发者操作:
$git remote add origin git@gitserver:/opt/git/project.git
$git push origin master
这样其他开发者的工作也比较简单了:
$git clone …
$git push origin master
8、初始,增加及使用项目test-git
9、在 test 项目新增用户
①在新增用户的本机输入ssh-keygen -t rsa生成私钥公钥;
②把生成的公钥id_rsa.pub上传或复制到 gitosis-admin/keydir文件夹下,并重名,如:jankerli.pub;
③vim gitosis.conf
⑤新用户便可通过 git clone git@xxx:test.git 克隆代码到本机了。
#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
##wget https://github.com/git/git/archive/v2.2.0.tar.gz
#tar zxvf git-2.2.0.tar.gz
#cd git-2.2.0
#make prefix=/usr/local all
#make prefix=/usr/local install #root用户运行
如果编译时提示错误:
LINK git-credential-store
libgit.a(utf8.o): In function `reencode_string_iconv’:
/opt/git-master/utf8.c:530: undefined reference to `libiconv’
libgit.a(utf8.o): In function `reencode_string_len’:
/opt/git-master/utf8.c:569: undefined reference to `libiconv_open’
/opt/git-master/utf8.c:588: undefined reference to `libiconv_close’
/opt/git-master/utf8.c:582: undefined reference to `libiconv_open’
collect2: ld 返回 1
make: *** [git-credential-store] 错误 1
解决办法:
cd /usr/local/src/
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure -prefix=/usr/local/libiconv && make && sudo make install
然后回到git继续编译:
cd /usr/local/src/git-1.8.5
make configure
./configure --prefix=/usr/local -with-iconv=/usr/local/libiconv
make
make install
# git --version
git version 2.2.0
OK,说明安装成功!
下面来安装 gitosis
gitosis为Git用户权限管理系统,通过管理服务端的authorized_key文件来执行对用户权限的管理,是一个python模块包
yum install python python-setuptools
cd /usr/local/src
git clone git://github.com/res0nat0r/gitosis.git
cd gitosis
python setup.py install
OK gitosis 安装成功!
配置服务器git:
0.1 输入以下两条命令
git config --global user.name "Your Name Here"
git config --global user.email "your_email@example.com"
可以再输入git config -l查看上面两个是否设置
在开发机上生成密钥并上传到服务器上
代码如下 复制代码
ssh-keygen -t rsa #一路回车,不需要设置密码
scp ~/.ssh/id_rsa.pub root@192.168.103.10:/tmp #上传公钥到服务器(默认SSH端口22)
或
scp -P 3600 ~/.ssh/id_rsa.pub root@192.168.103.10:/tmp
5、服务器上生成git用户,使用git用户并初始化gitosis
adduser -m git
su – git
gitosis-init < /tmp/id_rsa.pub
#显示以下信息即表示成功
#Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
#Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/
#删除密钥
su – root
rm -rf /tmp/id_rsa.pub
禁用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每次一登录就自动退出。
2,在git用户下,生成私钥和公钥。
$ssh-keygen –t rsa
3,在git用户下,拷入id_rsa.pub文件。
$gitosis-init < id_rsa.pub
这样在git用户目录下生成了一些目录,gitosis,repositories。
至此,安装工作完成。
添加开发者
git服务器管理人员需要把所有的开发者公钥保存到authorized_keys文件中。
$cat /tmp/id_rsa.pub.ubuntu >> authorized_keys
创建项目仓库
git管理人员操作:
$mkdir /home/git/gitproject
$cd gitproject
$git --bare init (创建一个空项目)
开发者提交项目
ubuntu开发者操作:
$git remote add origin git@gitserver:/opt/git/project.git
$git push origin master
这样其他开发者的工作也比较简单了:
$git clone …
$git push origin master
代码如下 | 复制代码 |
cd /repo/gitosis-admin vim gitosis.conf #在文件尾增加以下内容 [group test] # 组名称 writable = test # 项目名称 members = jankerli #密钥用户名 #提交修改 git add . git commit -a -m “add test repo” git push |
代码如下 | 复制代码 |
cd /repo mkdir test-git cd test-git git inti touch readme git add . git commit -a -m “init test-git” git remote add origin git@xxx:test.git git push origin master |
①在新增用户的本机输入ssh-keygen -t rsa生成私钥公钥;
②把生成的公钥id_rsa.pub上传或复制到 gitosis-admin/keydir文件夹下,并重名,如:jankerli.pub;
③vim gitosis.conf
代码如下 | 复制代码 |
#在文件尾增加以下内容 [group test] writable = test members = jankerli (此处增加新用户的名称,名称必须与上面重名的jankerli.pub一致,去掉.pub) ④#提交修改 git add . git commit -a -m “add test repo” git push |
相关文章推荐
- CentOS7 编译安装 Git 服务器 Centos 7.0 + Git 2.2.0 + gitosis (实测 笔记)
- CentOS6.4下Git服务器Gitosis安装配置
- CentOS安装配置Git服务器(gitosis)
- git服务器安装所需软件包(centos5.2环境)
- 阿里云服务器配置开发环境第一章:Centos7.3安装git 和 zsh
- Centos下安装git的web服务器
- CentOS6.4下Git服务器Gitosis安装配置
- CentOS 7 安装gogs git代码服务器
- CentOS 6.4x64安装git和gitolite服务器
- CentOS上安装Git服务器
- centos 安装git服务器,配置使用证书登录并你用hook实现代码自动部署
- centos安装git服务器
- CentOS下Git服务器搭建与客户端安装
- centos6.4 linux 下安装git服务器
- CentOS安装Git服务器
- CentOS 6.2 上安装使用私钥认证的Git服务器
- CentOS安装Git服务器 Centos 6.5 + Git 1.9.0 + gitosis (亲自安装)
- CentOS_6.5 64位系统,安装git服务器+客户端
- Centos下安装git的web服务器
- CentOS 安装Git 服务器