`
scm002
  • 浏览: 319563 次
社区版块
存档分类
最新评论

搭建gerrit服务器(apache&nginx反向代理方式)

 
阅读更多

  这段时间,想搭建一个gerrit,用于代码托管,gerrit的搭建,网上有很多种教程,但是自己按照别人的教程逐步操作,一直出现诸多问题。最头痛的就是:
Configuration Error

Check the HTTP server's authentication settings.


      后来经过他人指点,才知道自己的原因。由于对Apache的反向代理的机制,没有清楚,导致寸步难行。现将搭建方式进行记载:

一.gerrit的搭建

     由于gerrit和Apache的安装,网上教程已经很多,这里就不一一说明了。本文主要讲解如何配置Apache的反向代理.

    本次搭建环境为VMware上的Ubuntu12.04,通过Windows上,ssh去操作。 Ubuntu虚拟机的ip地址为192.168.1.6,Windows的IP地址为192.168.1.3。搭建的gerrit服务器,在Windows上通过http://192.168.1.6:9999/进行访问。

   假定gerrit已经成功安装到Ubuntu,其路径为:/home/gerrit/review-gerrit

  进入etc路径,即/home/gerrit/review-gerrit/etc,这里贴出gerrit.config文件:

 

[html] view plain copy
  1. [gerrit]  
  2.     basePath = /home/gerrit/prj-source  
  3.     canonicalWebUrl = http://192.168.1.6:10000  
  4. [database]  
  5.     type = h2  
  6.     database = db/ReviewDB  
  7. [auth]  
  8.     type = HTTP  
  9. [sendemail]  
  10.     smtpServer = localhost  
  11. [container]  
  12.     user = root  
  13.     javaHome = /usr/lib/jvm/java-6-openjdk-amd64/jre  
  14. [sshd]  
  15.     listenAddress = *:29418  
  16. [httpd]  
  17.     listenUrl = http://*:10000  

      完成以上的步骤,比较简单,很多教程都有过描述。下面主要讲解Apache的反向代理。

      首先简单描述一下反向代理的基础:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,
并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

         例如我们想通过PC浏览器去访问http://192.168.1.6:9999,就是一个反向代理。在/home/gerrit/review- gerrit/etc/gerrit.config中,我们配置gerrit端口bind在10000,为啥外部通过访问端口9999,就可以打开 gerrit的web页面?

        原因就是Apache的反向代理功能。那就开始配置Apache吧!

        a.第一步,要在Apache上新增端口9999,用户监听网络事件。修改配置文件/etc/apache2/ports.conf。    

[html] view plain copy
  1. NameVirtualHost *:80  
  2. Listen 80  
  3. Listen 9999  

       b.第二步,增加反向代理的配置。/etc/apache2/sites-enabled/000-default.conf

[html] view plain copy
  1. <VirtualHost *:9999>  
  2.     ServerName 192.168.1.6  
  3.     ProxyPreserveHost On  
  4.     ProxyRequests Off  
  5.     <Proxy *>  
  6.         Order deny,allow  
  7.         Allow from all  
  8.     </Proxy>  
  9.     <Location />  
  10.       AuthType Basic  
  11.       AuthName "Welcomme to Gerrit Code Review Site!"  
  12.       Require valid-user  
  13.       AuthUserFile /home/gerrit/review-gerrit/htpasswd.conf  
  14.     </Location>  
  15.     ProxyPass / http://192.168.1.6:10000/  
  16.     proxyPassReverse / http://127.0.0.1:10000/  
  17. </VirtualHost>  

       c.完成以上配置,则成功。然后restart Apache和gerrit服务即可

     然后在pc浏览器上输入:http://192.168.1.6:9999/,则启动gerrit

     
      输入账号密码,显示如下:

   

       gerrit安装配置成功。

     如果不适用Apache进行反向代理,使用nginx则更加简单,直接修改一个文件就可以了。/etc/nginx/conf.d/gerrit.conf,没有这个文件,则直接touch gerrit.conf就可生成,然后编辑一下。

 

[html] view plain copy
  1. server {  
  2.      listen *:9999;  
  3.      server_name 192.168.1.6;  
  4.      allow   all;  
  5.      deny    all;  
  6.      auth_basic "Welcomme to Gerrit Code Review Site!";  
  7.      auth_basic_user_file /home/gerrit/review-gerrit/htpasswd.conf;  
  8.   
  9.      location / {  
  10.         proxy_pass  http://127.0.0.1:10000;  
  11.      }  
  12.    }  

    按照以上步骤,可以搭建一个gerrit服务器了。

   另外,关于gerrit服务器的后台权限&项目管控,还在逐步研究。

 

 

fix below error:

/etc/apache2/sites-enabled$ systemctl restart apache2
Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.


:/etc/apache2/sites-enabled$ systemctl status apache2.service

 4月 24 23:35:52 review apache2[11436]: Output of config test was:
 4月 24 23:35:52 review apache2[11436]: AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/ports.conf:5
 4月 24 23:35:52 review apache2[11436]: AH00526: Syntax error on line 3 of /etc/apache2/sites-enabled/000-default.conf:

 

FIX:

 

cd /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/proxy.conf proxy.conf 
ln -s /etc/apache2/mods-available/proxy.load proxy.load 
 ln -s /etc/apache2/mods-available/proxy_http.load proxy_http.load


 

ubuntu15.10 restart apache2:
systemctl restart apache2

 

 

refer to:

http://blog.csdn.net/coder80/article/details/48176559
http://blog.csdn.net/ljchlx/article/details/22277311
 
 

ssh -p 29418 localhost gerrit gsql

I get the following error :-

fatal: newbie does not have "Access Database" capability.

How to give administrators database access in gerrit ?

 

Global capabilities are configured in the project.config file, e.g.

[capability]
       accessDatabase = group Administrators

mkdir tmp
cd tmp
git init
git remote add origin ssh://admin@remote.site.com:29418/All-Projects
git fetch origin refs/meta/config:refs/remotes/origin/meta/config
git checkout meta/config
[capability]
       accessDatabase = group Administrators

git commit -a
git push origin meta/config:meta/config
 
remote: ERROR:  In commit fc20c790fd92058305b0456b780cbd0745d9c490
remote: ERROR:  author email address hbxwshiquan@163.com
remote: ERROR:  does not match your user account.
remote: ERROR:
remote: ERROR:  You have not registered any email addresses.
remote: ERROR:
remote: ERROR:  To register an email address, please visit:
remote: ERROR:  http://review.sonymobile.com:8082/#/settings/contact
FIX:

gerrit2@ubuntu:~/review_site$ ./bin/gerrit.sh stop
Stopping Gerrit Code Review: OK
gerrit2@ubuntu:~/review_site$ ls bin
gerrit.sh  gerrit.war
gerrit2@ubuntu:~/review_site$ java -jar bin/gerrit.war gsql

 

 

select * from ACCOUNT_EXTERNAL_IDS;
update ACCOUNT_EXTERNAL_IDS set EMAIL_ADDRESS='alex.blewitt@example.com' where ACCOUNT_ID=1000000;
 
 
The authenticity of host '[review.example.com]:29418 ([192.168.1.103]:29418)' can't be established.
RSA key fingerprint is 42:4d:2e:2a:26:75:33:5a:75:08:7d:67:dd:07:f0:2e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[review.example.com]:29418' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

其原因是ssh账号它默认使用的是email账号的id部分,而如果username和email的id部分不同的话就不对了

查看了repo help upload得到了答案:

review.URL.username:

Override the username used to connect to Gerrit Code Review. By default
the local part of the email address is used.

所以执行:

git config --global review.review.source.android.com.username MYNAME

后就OK了.

 

A mail thread about review.URL.username

http://osdir.com/ml/repo-discuss/2010-11/msg00074.html

分享到:
评论

相关推荐

    Gerrit代码审核服务器搭建全过程

    10. **修改认证方式和反向代理**:为了提高安全性和服务质量,可以使用nginx作为反向代理服务器。修改Gerrit配置启用代理,并将认证方式更改为HTTP。同时,更新`canonicalWebUrl`和监听端口。配置nginx的代理规则并...

    CentOS7搭建gerrit 代码审查服务方法

    但为了方便外部访问,通常还需要配置反向代理,例如使用Nginx或Apache。在Nginx配置中,你需要创建一个新的虚拟主机,将HTTP请求转发到Gerrit的监听端口。这里仅提供Nginx配置示例,具体配置需根据实际情况调整: ``...

    pimpinella_3cd_01_0716.pdf

    pimpinella_3cd_01_0716

    FIB English learning

    FIB English learning

    linux下 jq 截取json文件信息

    X86-jq安装包

    [AB PLC例程源码][MMS_046356]SELX.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    大圣挪车小程序1.3.5+前端.zip

    大圣挪车小程序1.3.5 前端

    Manus.im 产品及开发团队研究报告.pdf

    Manus.im 产品及开发团队研究报告.pdf

    [AB PLC例程源码][MMS_044663]Control daisy chain wiring in Fieldbus Foundation.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    sun_3ck_01a_0918.pdf

    sun_3ck_01a_0918

    支持适用于PERC H330/H730/H730P/H830/H730P系列RAID卡MX/FD33xD/FD33xS控制器的驱动安装指南

    下载 1. 单击“立即下载”,以下载该文件。 2. 出现“文件下载”窗口后,单击“保存”,以将文件保存到硬盘。 安装 1. 浏览至文件下载目标位置并双击新下载的文件。 2. 仔细阅读对话窗口中显示的发布信息。 3. 下载并安装对话窗口中标识的任何必备项,然后再继续。 4. 单击“Install”(安装)按钮。 5. 按照其余提示执行更新。 安装 1. 将解压的文件复制到可访问Windows的介质。 2. 将系统重新引导至Windows操作系统。 3. 打开“服务器管理器”->“设备管理器”->“存储控制器”,然后单击“PERC控制器”。 5. 单击“更新驱动程序软件”,并按照提示更新驱动程序。 4. 重新引导系统以使更改生效。

    硬盘安装器,支持硬盘安装,无需制作U盘PE!

    支持所有操作系统一键安装。

    matlab程序代码项目案例:使用 Simulink 进行自适应 MPC 设计

    matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_044098]1769-ASCII Simultaneous Mode.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    swanson_01_1106.pdf

    swanson_01_1106

    [AB PLC例程源码][MMS_047811]SAF1 - Store.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_043879]Programming in SFC and ST Language.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    sun_3ck_01_0919.pdf

    sun_3ck_01_0919

    方言距离数据.岭南学院产业与区域经济研究中心

    各城市方言距离数据-中山大学岭南学院产业与区域经济研究中心 方言距离是指两种或多种方言之间的相似程度或差异程度。参考中山大学岭南学院产业与区域经济研究中心的刘毓芸等(2015)文献。他们基于方言树图,并参考《汉语方言大词典》和《中国语言地图集》对方言的划分,将汉语方言从宽泛到具体分为以下几个层级:汉语→方言大区→方言区→方言片。为了量化县与县之间的方言差异,他们采用了一种赋值方法: 若它们分属不同方言大区,则距离为3。: 若两个县同属一个方言片,则它们之间的方言距离为0; 若两个县属于同一方言区但不同方言片,则距离为1; 若它们属于同一方言大区但不同方言区,则距离为2; 方言距离是一个反映方言之间相似程度或差异程度的重要指标,它在语音识别、方言研究等领域具有广泛的应用价值。 参考文献:[1]刘毓芸, 徐现祥, 肖泽凯. 2015. 劳动力跨方言流动的倒U型模式[J]. 经济研究, 50(10): 134-146+162. 指标 语系、语族、方言大区、方言区/语支、方言片/语种、Supergroup、Dialect、group、Sub-dialect、groupPref_1、Pref_2、DiaDist、PrefCode_1、PrefCode_2等等。

    基于PCA算法的人脸识别MATLAB源码

    基于PCA算法的人脸识别MATLAB源码

Global site tag (gtag.js) - Google Analytics