Ubuntu下安装Gerrit

目标

配置Gerrit使用mysql数据库(原因:本人比较熟悉mysql)

使用http授权模式,使用apache反向代理。

SMTP使用163的个人邮箱

软件版本

Ubuntu 12.04

Gerrit 2.4.1

Apache 2.2.22

Mysql 5.5.24

下面好戏开始了

相信各位安装mysql和apache,都能搞定,sudo apt-get,完了。

配置数据库:


    
CREATE USER ' gerrit2 ' @ ' localhost ' IDENTIFIED BY ' secret ' ; CREATE DATABASE reviewdb; ALTER DATABASE reviewdb charset = latin1; GRANT ALL ON reviewdb. * TO ' gerrit2 ' @ ' localhost ' ; FLUSH PRIVILEGES ;

这是从官方文档得到的代码,其中我没有使用alter database reviewdb charset=latin1;这条语句。网上有资料说utf8会无法安装,但俺没遇到。

但gerrit对中文的支持确实不好,所以大家尽量用英文吧。

 

安装Gerrit

然后一路回车就行,本人比较喜欢自己修改配置文件。

vi review_sit/etc/gerrit.config


   
[gerrit] basePath = git canonicalWebUrl = 192.168 . 1.254 : 8081 [database] type = MYSQL hostname = localhost database = reviewdb username = gerrit2 [auth] type = HTTP [sendemail] smtpServer = smtp. 163 .com smtpUser = wangconglin87@ 163 .com from = wangconglin87@ 163 .com [container] user = gerrit2 javaHome = / opt / jdk1. 7 .0_05 / jre [sshd] listenAddress = 192.168 . 1.254 : 29418 [httpd] listenUrl = proxy - http: // 192.168.1.254:8081 [cache] directory = cache

然后vi review_sit/etc/gerrit.config,下面的mima代表你的密码

[database]
        password = mima  //数据库用户gerrit2的密码
[sendemail]
        smtpPass = mima  //你邮箱的密码

然后配置apche

将/etc/apache2/sites-enabled目录下的文件都删除,(我是全新安装的)。

为什么删除,因为当我安装资料配置好以后,出现有时候能正常运行,有时候不能运行。让我郁闷了很长时间。这里面有一个默认的虚拟主机。

然后再/etc/apache2/sites-enabled目录下,vi proxy-gerrit,然后输入:


    
< VirtualHost * : 80 > ServerName a.wangconglin.cn ProxyRequests Off ProxyVia Off ProxyPreserveHost On < Proxy *> Order deny,allow Allow from all </ Proxy > < Location / login /> AuthType Basic AuthName " Gerrit Code Review " Require valid - user AuthBasicProvider file AuthUserFile / home / gerrit2 / passwords </ Location > ProxyPass / http: // 192.168.1.254:8081/ ProxyPassReverse / http: // 192.168.1.254:8081/ </ VirtualHost >

上面的AuthUserFile /home/gerrit2/passwords,生成示例命令如下:

htpassword /home/gerrit2/passwords [username]

 

运行Gerrit:

/home/gerrit2/review_site/bin/gerrit.sh start -d /home/gerrit2/review_site

 

使用git push前,gerrit不允许直接覆盖git代码库中的任何分支,而是将变更推送到另一个refspce中。

git config remote.origin.push refs/heads/*:refs/for/*
git push origin

不过,还有一个问题没有解决:登陆后会陷入一个重定向的死循环,再次输入地址后就能登陆成功。我对apache的反向代理有些头痛。希望高手指点迷津。

本人第二次写博客,写的不好,见谅。

转载于:https://my.oschina.net/wangconglin87/blog/62789

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值