首页/服务器代维-网站代维/在亚马逊AWS上建立Git服务器
服务器代维-网站代维

在亚马逊AWS上建立Git服务器

本文可以算是前文用亚马逊的云(AWS)免费建立wordpress blog的 一个延续,在上文的基础上我们可以建立一个属于自己的git服务器。这里介绍的方法会用到gitolite和gitlist,gitolite是一个 git的用户管理层,方便的管理用户和git repository,而gitlist是一个方便从网页查看git reposito的工具。本文假设你对git有基本的了解,并且基于提到的前文已经假设好了环境

在EC2上安装配置gitolite (sudo su)

cd /tmp
# 准备key文件,或者使用你现有的key文件
ssh-keygen -t rsa
cp id_rsa.pub /tmp/your-name.pub

# install packages 安装工具
sudo apt-get install git gitolite git-daemon-run
# create git user 创建git用户
sudo adduser --system --shell /bin/bash --gecos 'git version control' --group --disabled-password --home /home/git git
sudo su - git
cd /home/git
echo "PATH=$HOME/bin:$PATH" > .bashrc
# gl-setup gitolite初始化
gl-setup /tmp/your-name.pub
# 执行上面命令后gitolite会让选择熟悉的编辑器你修改配置文件,打开配置后座如下修改
	$REPO_UMASK = 0022;

至此gitolite安装完毕,建议

配置你工作机上的~/.ssh/config文件

以方便连接
config文件如下

Host 你喜欢的名字,如gs
Hostname 亚马逊PUBLIC DNS
User git
IdentityFile C:/Users/test/.ssh/id_rsa #你的私钥路径
#PreferredAuthentications publickey

在工作机上管理gitolite

这样你就可以在你的工作机上进行连接了,现在clone管理目录
git clone git@gs:gitolite-admin.git
编辑conf/gitolite.conf可以添加repository如

repo    anothertest
        RW+     =   @all

添加用户只需将的公钥添加到keydir就可以了,如果用户有多个公钥,如工作机一个,笔记本一个,可以在keydir下添加目录然后添加key如为tom添加 laptop/tom.pub和workspace/tom.pub即可
修改完成之后commit并push回主机相应的repositoy和user了

在EC2上配置gitlist

用git来管理repository和user很方便,但如果你的老板要查看git上的提交就不那么方便了(:P),通过安装gitlist网页查看就会方便很多
从gitlist.org 上下载最新版并完成配置

cd /tmp
wget https://s3.amazonaws.com/gitlist/gitlist-0.4.0.tar.gz
tar -zxf gitlist-0.4.0.tar.gz
mv gitlist /sites/
cd /sites/gitlist
mv config.ini-example config.ini
edit config.ini
    repositories[] = '/data/git/repositories/'
    hidden[] = '/data/git/repositories/gitolite-admin.git' #建议添加,管理目录不必被网页查看
mkdir cache #必须手动添加
chown -Rh www-data:www-data /sites/gitlist

创建site的nginx配置/etc/nginx/sites-available/gitlist

server {
	listen 80;
	server_name gitlist;
	keepalive_timeout 70;

	access_log /var/log/nginx/gitlist-access.log;
	error_log /var/log/nginx/gitlist-error.log;

	root /sites/gitlist;
	index index.php;
	location ~ /include {
	deny all;
	return 403;
	}

	location ~ ^/api/(tickets|tasks)(.*)$ {
	try_files $uri $uri/ /api/http.php;
	}

	location ~ ^/scp/ajax.php/(.*)$ {
	try_files $uri $uri/ /scp/ajax.php;
	}

	location / {
	index index.php;
	try_files $uri $uri/ /index.php?$args;
	}

	location ~ .php$ {
	fastcgi_split_path_info ^(.+.php)(/.+)$;
	include fastcgi_params;
	fastcgi_pass unix:/var/run/php5-admin.sock;
	#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	}
}

如果你此处用的fastcgi_pass是之前用过的那不需要额外的设置,如果没有那需要建立

cd /etc/php5/fpm/pool.d/
cp www.conf gitlist.conf
edit gitlist.conf
    name ->gitlist
    listen ->nginx config 中的

然后重启php5-fpm 和nginx访问你的地址就可以见到gitlist页面了
如果你在第一步设置配置是没有问题,那网页应该就可以正常显示了,如果那时设置的不对那么
编辑 /home/git/.gitolite.rc找到$REPO_UMASK改成0022然后手动设置已有的文件权限 chmod -R 755 /home/git应该就可以了

SERVICE

相关服务与公开报价

以下为三家云市场官方店铺的在售商品,价格取自平台页面、可核验。 点击直达商品页,由平台完成下单与交付。

按本文主题推荐的云市场在售服务与公开报价
商品图 服务 / 商品 云市场 公开报价 操作
Globalsign code signing EV 代码签名证书 Globalsign code signing EV 代码签名证书 阿里云 ¥7000 去商品页
ECS云服务木马故障排查 DDOS防御 流量攻击防护 CC防御 ECS云服务木马故障排查 DDOS防御 流量攻击防护 CC防御 阿里云 ¥1000 去商品页
Windows/Linux网站运维软件安装和环境配置 Windows/Linux网站运维软件安装和环境配置 阿里云 ¥300 去商品页
BT宝塔SSL证书安装配置服务 BT宝塔SSL证书安装配置服务 腾讯云 ¥100 / 次 去商品页
腾讯云产品日常使用问题代维技术支持服务 腾讯云产品日常使用问题代维技术支持服务 腾讯云 ¥100 / 次 去商品页
网站301问题设置 网站301问题设置 腾讯云 ¥100 / 次 去商品页
服务器维护 · 网站代维护 · 网站托管维护 服务器维护 · 网站代维护 · 网站托管维护 华为云 ¥2000 / 次 去商品页
网站搬家 · 虚拟主机空间搬家 · 网站上云 · 网站迁移 网站搬家 · 虚拟主机空间搬家 · 网站上云 · 网站迁移 华为云 ¥500 / 次 去商品页
企业网站运维技术支持服务(年度订阅) 企业网站运维技术支持服务(年度订阅) 华为云 ¥6000 / 年 去商品页
FREE CHECKUP

先做一次免费服务器体检

我们会在 1 个工作日内给出问题清单与处置建议 —— 做不做代维都没关系。

135 410 16684
工作日 Mon – Fri 10:00 – 22:00 · 紧急故障 7×24 响应
立即拨打
CONTACT

在线留言

有什么可以帮您?

带 * 为必填