大家都知道Github,但知道Gitorious相对要少,Gitorious同样是一个基于Git的项目托管平台,功能上和Github基本一致,地址是http://www.gitorious.org。

它使用Ruby on Rails开发,而且是开源的,适合在团队内部搭建项目托管平台。

Gitorious安装与配置相对繁琐,会碰到各种问题,折腾了一段时间,深有体会,

所以整理了安装配置步骤和常见问题,一来是做个总结,好记性不如烂笔头,二来是希望给同样处于困惑中的朋友带来些许帮助。

下面以Redhat为例,进行说明,我也尝试过Ubuntu下的配置,基本上差不多。

提前展示一下我的目录结构,便于后续说明。

/home/git

| -- .ssh

\ -- gitorious

| -- data

|        | -- repositories

|        | -- tarballs

|        \ -- tarballs-work

\ -- source

注:以上均是目录。

安装必要的package,yum -y install git httpd httpd-devel mod_xsendfile mysql mysql-devel mysql-server memcached sphinx ImageMagick aspell apg expect

建立一个新的系统用户"git",/home/git下手动创建.ssh和gitorious及其子目录如上图所示。

在.ssh下新建文件authorized_keys和sshd_config,文件访问权限设置是600。

编辑sshd_config,echo "AllowGroups git" > sshd_config,目的是让其他主机可以通过git系统账户ssh到本机。

安装Ruby和RubyGems,需要注意的是RubyGems版本是1.4.2,命令是gem install update -v 1.4.2 && update_rubygems

安装bundler和passenger,后面会用到,gem install --no-ri --no-rdoc bundler passenger

passenger包安装完成后,根据你的web服务器生成对应的模块,比如apache,执行命令passenger-install-apache2-module

使用git检出Gitorious项目至/home/gitorious/source目录下,git clone  git://gitorious.org/gitorious/mainline.git /home/gitorious/source

在source/tmp目录下建立pids目录,后面会用到;source/script/gitirious拷贝至/usr/local/bin

在source目录下执行bundle install,根据Gemfile安装此Rails项目所需的package。

*******重要,执行命令:chown -R git:git /home/git,将git目录(包括子目录及文件)的所有者移交给git系统账户

apache配置,修改配置文件/etc/httpd/conf/httpd.conf,附加下列几行,相关路径根据你的系统环境修改即可。

########## gitorious server config ##########
LoadModule passenger_module /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.19
PassengerRuby /usr/bin/ruby
XSendFile on
XSendFilePath /home/git/gitorious/data/tarballs

Listen 8000

<VirtualHost *:8000>
    ServerName your.host.domain
    DocumentRoot /home/git/gitorious/source/public
    <Directory /home/git/gitorious/source/public>
        # This relaxes Apache security settings.
        AllowOverride all
        # MultiViews must be turned off.
        Options -MultiViews
    </Directory>
</VirtualHost>

在source/config目录下,利用模板配置文件创建3个配置文件 broker.yml  database.yml  gitorious.yml

broker.yml不需要编辑,database.yml注意数据库的类型、用户名、密码,

gitorious.yml需要配置gitorious_host、gitorious_client_port、repository_base_path、repository_base_path、archive_work_dir、

use_ssl: false、is_gitorious_dot_org: false

执行apg -m 64命令,使用其中任意一行,替换cookie_secret: ssssht中的ssssht

创建数据库和数据表,

理论上在source目录下执行bundle exec rake db:create RAILS_ENV=production命令能够创建数据库,但是我没有成功,所以手动建库gitorious_production

然后创建表,执行命令bundle exec rake db:setup RAILS_ENV=production

修改source/doc/templates/centos目录下服务脚本 git-daemon git-poller stomp

需要注意配置正确上述脚本的变量 RUBY_HOME、GITORIOUS_HOME、GEMS_HOME

将上述脚本拷贝至/etc/init.d/目录下

启动服务

service stomp start
service git-daemon start
service git-poller start
service memcached start
service mysqld start
service httpd start

可能遇到的问题:

1. 使用浏览器访问Gitorious服务报#13权限错误

确保/home/git目录有可执行权限,因为要执行Ruby脚本

2. login失败

提供gitorious服务的主机名只有IP,没有域名,在配置中使用的主机名均是IP,导致client访问时无法创建session cookie,

需要修改源码,config/initializers/session_store.rb

注释掉此行 :domain => domain,

3. 利用ssh协议git clone失败

确保 /home/git/.ssh目录下的文件的访问权限是600

转载于:https://www.cnblogs.com/caosiyang/archive/2013/04/13/3017636.html

Gitorious安装与配置相关推荐

  1. Maven安装与配置(最实用!!!)eclipse中配置maven

    Maven安装与配置 一.需要准备的东西 JDK Eclipse(本章主要是在eclipse中进行配置maven) Maven程序包 二.下载与安装 1. 前往maven下载最新版的Maven程序: ...

  2. Portainer 安装与配置

    文章目录 Portainer 安装与配置 一.介绍 二.安装使用 1.单机运行 2.基于swarm集群方式运行 Portainer 安装与配置 一.介绍 ​ Portainer 是一个开源.轻量级Do ...

  3. Myeclipse安装、配置、测试

    Myeclipse安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.安装与激活 4.JavaSE开发测试(确保JDK已正确安装) 5.JavaEE开发测试(确保服务器和 ...

  4. [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二

    再收藏一份Openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究. 原文参考:http://www.linuxde.net/2011/11/1599.htm ...

  5. centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)

    1 PHP简介     PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...

  6. java jdk 1.8 安装_下载、安装、配置 java jdk1.8

    近期配置react native的开发环境,所以就从配置环境开始.rn的环境配置有那么几项,其中重要的一个就是java jdk(Java Development Kit 的缩写),那么以下就是下载.安 ...

  7. mysql安装好需要优化配置一下_Mysql的安装、配置、优化

    Mysql的安装.配置.优化 安装步骤 1.先单击中的安装文件,如果是win7系统,请选择以管理员的方式运行. 2.大概需要30秒的时间,开始进入安装界面.请先把标红的打勾,好进行下一步的动作. 3. ...

  8. windows下opencv安装及配置(vs2010环境)

    opecv下载 前往官方下载地址 https://opencv.org/releases/ opencv安装及配置 解压,会得到一个opencv文件夹,可将提取出的文件移动到任意位置,我将其放在F盘. ...

  9. Elasticsearch 6.3.1、Head插件 安装及配置

    安装Elasticsearch Elasticsearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch 也可以直接使用wget下载到某目 ...

最新文章

  1. 安装rpm的mysql_linux下安装rpm格式的mysql
  2. maven依赖传递和排除依赖冲突
  3. Qt元对象QMetaObject的indexOfSlot等函数获取类方法注意问题
  4. c#控件弹幕效果_C# Form 实现桌面弹幕
  5. 《移动App测试的22条军规》—App测试综合案例分析23.4节测试微信App的手势操作...
  6. 状态管理技术~~Session
  7. java 正则 连续换行_Java正则表达式匹配回车换行多行
  8. pano2VR创建沙盘雷达设置以中心点旋转
  9. 微机原理-80386(2)
  10. lvds输入悬空_LVDS技术原理及详细介绍
  11. Maven依赖冲突问题解决方案
  12. 最全MacWin软件分享
  13. 进程双向通信c语言代码,进程间通信——管道(示例代码)
  14. 基于auto.js微信点赞
  15. 「Ceph源码分析」纠删码解码
  16. leetcode *974. 和可被 K 整除的子数组(2020.5.27)
  17. OPPO 2020届全球校园招聘启动
  18. js+canvas实现雨滴特效
  19. Linux服务器开放端口、查询端口
  20. 2023年软考成绩什么时候出?软考成绩公布时间间隔多久

热门文章

  1. 为什么 MySQL 使用 B+ 树,而不是 B 树或者 Hash?
  2. 开源的13个Spring Boot 优秀学习项目!超53K星,一网打尽!
  3. 我是如何在阿里巴巴面试中壮烈牺牲的?(内含面试题)
  4. 下一代微服务!ServiceMesh的2018年度总结 | 万字雄文
  5. 关于反爬虫,看这一篇就够了 1
  6. Python操作Memcached
  7. 青少年蓝桥杯_2020_steam考试_中级组_第一题
  8. html基础--列表标签03,03HTML基础--列表标签
  9. python局部变量想作用于全局_python 局部和全局作用域
  10. 【收藏】电气设计相关计算公式大全(附举例)