gitglone 指定分支_安装说明 · harryxu/gitube Wiki · GitHub

完善中。。。

首先要说明的是:

目前这个程序的安装比较麻烦,也不是很优雅,希望各位高手能参与优化下 ;)

配置这个程序前最好是对 linux,python,django 和 git 比较熟悉

服务器需求:

操作系统:

我目前只在linux上测试过,不过类似unix的系统应该都可以,windows估计就不行了。。

数据库:

目前就在mysql上试过。

python:

版本在2.5或以上吧

所需的python库:

django 最好从1.2开始吧,以后升级到1.3可能也方便点。

gitosis 主要用这个库做git在ssh访问时的一些验证等功能。

建议安装这些东西和gitube前,先新建一个virtualenv环境,所有相关的东西都装到这个virtualenv里面,这样后面的配置会方便许多。

配置文件:

clone下代码后,进入gitube的目录,将localsettings.py.example改名为 localsettings.py,然后打开。

一些django框架的配置就不说了。

# the host for git repos

GIT_HOST = 'localhost'

这个是主机的地址,一般就是用来安装这个程序的主机ip或域名,是以后git glone所用到的地址。

# ssh login user

SSH_USER = 'git'

用于服务git仓库的linux用户名,这里推荐就在服务器上新建一个名为'git'的linux账户,然后这里就用'git',后面会有说明。

# The repos base path in the $HOME, all repos will put

# to this path

REPO_BASE_PATH = 'repositories'

git仓库所在的目录,这个目录路径相对于上面所设置的linux用户的家目录,同样推荐保持默认不变,后面也会有说明。

测试运行web端

仅仅将gitube的web页面跑起来还是比较简单的,运行下面的代码:

安装数据库: ./manage.py syncdb

导入数据初始数据: ./manage.py loaddata fixture.json

运行测试服务器: ./manage.py runserver

不出意外的话,现在访问 http://127.0.0.1:8000/ 应该可以看到页面,并且可以尝试用openid登陆下看看。

但是目前系统还不可用,还需要进行进一步配置。

配置系统用户与gitosis

linux用户

gitube使用常见的ssh方式传输git仓库中的内容,来做到clone,push,pull等操作,所以首先要为服务器建立一个用户来专门服务与git仓库。

这里建议新建的linux用户名就叫"git",可以参考这篇文章里的新建用户命令:

sudo adduser \

--system \

--shell /bin/sh \

--gecos 'git version control' \

--group \

--disabled-password \

--home /home/git \

git

然后到 git用户目录新建一些东西:

~git/repositories/ 目录,用户和组为git,要让git用户有读写权限。

~git/gitosis/projects.list 这个gitosis目录和里面的projects.list文件是给gitosis用的,因为调用 gitosis里的程序时如果发现没这个文件可能会报错- -,projects.list是一个空文件就可以。

~git/.ssh/authorized_keys 存放用户公钥的文件,熟悉linux的朋友应该都很熟悉这个文件了,注意文件权限,只能让git用户有读写权限(600)。

针对git这个linux用户的python配置

就快好了,还有一点点工作 - -

把 gitube中的 gitube/tools/serve.py 复制或链接到 /usr/local/bin/gitube-serve 并且要让git用户有可执行权限。

确保gitube和django以及相关的一些python库在git用户的PYTHONPATH中。

如果你之前将所有相关的东西都装到了一个virtualenv中的话,就比较好办了,编辑刚才生成的 /usr/local/bin/gitube-serve 文件,在文件头部加入下面的代码:

import

site.addsitedir('/home/harry/.virtualenvs/geckos/lib/python2.6/site-packages/')

site.addsitedir里传入的字符窜改成你的virtualenv路径。

然后以git用户身份运行gitube的web程序,因为在web界面编辑用户公钥的时候要对~git/.ssh/authorized_keys进行写入操作。

测试的时候可以用 sudo su git -c "./manage.py runserver" 这个命令来运行测试服务器。

一切顺利的话,就可以登陆后,点击右上角的用户名链接 -> 管理公钥 添加ssh公钥匙,然后回到首页 新建项目->新建仓库 后,会得到git仓库路径,尝试向这个路径push代码测试看看是否能成功。

nginx + uwsgi + supervisor

supervisor 配置:

[program:gitube]

command=/usr/local/bin/uwsgi

--home /home/user/.virtualenvs/gitube

--module gitube.wsgi

--socket /tmp/gitube.sock

--processes 1

--master

--python-path /path/to/gitube

--chmod 666

user=git

autostart=true

autorestart=true

stopsignal=QUIT

nginx 配置

server {

listen 80;

location /media {

alias /home/user/.virtualenvs/gitube/lib/python2.6/site-packages/django/contrib/admin/media;

}

location /static {

alias /path/to/gitube/gitube/static;

}

location / {

include uwsgi_params;

uwsgi_pass unix:///tmp/gitube.sock;

}

}

待改进

由于我本人都很长时间没完整的配置过一次这个程序了,最近才开始写文档,可能会有错误或遗漏,如果朋友们在配置过程中发现错误,请联系我,我会及时更正文档内容。

另外也非常希望有朋友能加入一起开发,改进安装过程,最好是能有一个python的setup脚本,实现傻瓜式的安装,由于我本人还没有怎么研究过python的setuptools,所以大家有兴趣的就来fork吧 ;)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值