阿里云配置git服务器

来源:互联网 发布:圈子 知乎 编辑:程序博客网 时间:2024/05/20 04:32

阿里云配置git服务器

1.ssh连接服务器

查看自己的云服务器,重新设置密码,并且找到自己的公网ip。
阿里云配置信息
ssh root@公网ip
输入密码
ssh成功连接上服务器

2.安装git

首先安装git,一般而言,现在的服务器已经内置了git安装包,我们只需要执行简单的安装命令即可安装。

yum install git # centos
apt-get install git # ubuntu

3.创建git用户及权限

我们不能直接使用root账户进行信息交互,所以需要创建一个专门的git账户去进行git的操作。
add user git
执行完这条命令后,会发现在/home目录下多了一个git目录,现在我们的系统就多了一个名字为git的用户,并且该用户目录就在/home/git。但是我们不希望这个用户通过ssh连接到服务器上,所以我们要禁止这个用户使用ssh连接并且进行操作,我们通过编辑一个权限文件来处理:
vi /etc/passwd
找到这样的一行,
git:x:1001:1001:,,,:/home/git:/bin/bash
行尾的/bin/bash就是允许ssh连接操作的权限,我们将它改为/user/bin/git-shell,结果如下(vi模式下,按下’i’进入编辑操作,如果要保存,先按’esc’进入命令行模式,接着按下:,进入指令列模式,紧着输入’wq’,再回车即可)
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样就可以了,git无法通过ssh进行连接
我们还需要给git分配一个密码,执行:
passwd git
接着根据提示输入密码,在未配置公钥的时候需要输入该密码进行代码提交等工作。

7.安装gitweb

我们需要一个可视化的界面去观察我们的git服务器的信息

a)安装apache

yum install httpd
service httpd start #启动apache
chkconfig httpd on #系统启动自动启动

b)安装gitweb

yum install gitweb

1)配置/etc/gitweb.conf文件:

在文件末尾添加
$projectroot = '你的git配置的路径';

2)配置/etc/httpd/conf.d/git.conf,修改为

Alias /gitweb /var/www/git
SetEnv GITWEB_CONFIG /etc/gitweb.conf
<Directory /var/www/git>
Options ExecCGI FollowSymLinks SymLinksIfOwnerMatch
AllowOverride All
order allow,deny
Allow from all
AddHandler cgi-script cgi
DirectoryIndex gitweb.cgi
</Directory>

其中, Alias /gitweb /var/www/git 是指示apache服务器在接收到 domain-name/gitweb的请求之后,转向 /var/www/git 目录; 
SetEnv GITWEB_CONFIG /etc/gitweb.conf 指示gitweb使用配置文件 /etc/gitweb.conf (就是第一步配置过的,里面指定了版本库的根目录) 
< Directory /var/www/git> 中的部分指示了 /var/www/git 目录的一些性质。

cd /home/git #切换到git目录下
mkdir projects #创建project文件夹
git init --bare test #创建一个叫test的项目仓库

切换到本地环境
clone项目并提交修改(本地)
git clone git@公网ip:test
cd test
touch text.txt
git add *
git commit -m "first commit"
git push origin master

如果出现权限问题,如insufficient permission for adding an object to repository database ./objects
根据下面的步骤进行修复

groupadd GIT #添加用户组usermod -G GIT git #为GIT用户组添加git用户cd /home/git/test #我们刚刚创建的git库chgrp -R GIT .chmod -R g+rwX .find . -type d -exec chmod g+s '{}' +

7.安装gitweb

我们需要一个可视化的界面去观察我们的git服务器的信息

a)安装apache

yum install httpd
service httpd start #启动apache
chkconfig httpd on #系统启动自动启动
vi /etc/httpd/conf/httpd.conf

修改
User git
Group GIT

b)安装gitweb

yum install gitweb

2)配置/etc/httpd/conf.d/git.conf,修改为

Alias /gitweb /var/www/git
SetEnv GITWEB_CONFIG /etc/gitweb.conf
<Directory /var/www/git>
Options ExecCGI FollowSymLinks SymLinksIfOwnerMatch
AllowOverride All
order allow,deny
Allow from all
AddHandler cgi-script cgi
DirectoryIndex gitweb.cgi
</Directory>

其中, Alias /gitweb /var/www/git 是指示apache服务器在接收到 domain-name/gitweb的请求之后,转向 /var/www/git 目录; 
SetEnv GITWEB_CONFIG /etc/gitweb.conf 指示gitweb使用配置文件 /etc/gitweb.conf (就是第一步配置过的,里面指定了版本库的根目录) 
< Directory /var/www/git> 中的部分指示了 /var/www/git 目录的一些性质。
gitWeb

0 0
原创粉丝点击