安装环境

  centos 6.8

  gerrit-full-2.5.2.war 下载地址:https://gerrit-releases.storage.googleapis.com/gerrit-full-2.5.2.war

  nginx 1.13

  Java 1.8

1.安装Jdk

Centos/linux下的JDK安装

2.安装nginx

centos/linux下的安装Nginx

3.安装配置

  1.下载gerrite

wget https://gerrit-releases.storage.googleapis.com/gerrit-full-2.5.2.war

  2.新建gerrit用户方便管理

# adduser gerrit
# passwd gerrit
# su gerrit

  3.安装gerrit

请在gerrite用户下执行该命令

$ java -jar gerrit-2.13.4.war init -d ~/gerrit_site

这个命令的意思是执行安装gerrit,会在当前目录下新建一个文件夹 gerrit_site 用来作为gerrit的根目录,在这个目录中,会安装git仓库,以及gerrit的web页面,还有gerrit的bin,etc等文件夹。

安装过程中

建议设置

Authentication method          [OPENID/?]:设置为http
*** Gerrit Code Review 2.5.2
*** Create '/home/gerrit/gerrit_site' [Y/n]? *** Git Repositories
*** Location of Git repositories [git]: *** SQL Database
*** Database server type [H2/?]: *** User Authentication
***
#注意这里需要设置为http
Authentication method [OPENID/?]: http
Get username from custom HTTP header [y/N]?
SSO logout URL : *** Email Delivery
*** SMTP server hostname [localhost]:
SMTP server port [(default)]:
SMTP encryption [NONE/?]:
SMTP username : *** Container Process
*** Run as [gerrit]:
Java runtime [/usr/java/jdk1.8.0_144/jre]:
Copy gerrit.war to /home/gerrit/gerrit_site/bin/gerrit.war [Y/n]?
Copying gerrit.war to /home/gerrit/gerrit_site/bin/gerrit.war *** SSH Daemon
*** Listen on address [*]:
Listen on port [29418]: Gerrit Code Review is not shipped with Bouncy Castle Crypto v144
If available, Gerrit can take advantage of features
in the library, but will also function without it.
Download and install it now [Y/n]?
Downloading http://www.bouncycastle.org/download/bcprov-jdk16-144.jar ... !! FAIL !! TMPJ=$TMP/j$$ error: http://www.bouncycastle.org/download/bcprov-jdk16-144.jar: 302 Found Please download: http://www.bouncycastle.org/download/bcprov-jdk16-144.jar and save as: /home/gerrit/gerrit_site/lib/bcprov-jdk16-144.jar Press enter to continue Continue without this library [Y/n]? Generating SSH host key ... rsa(simple)... done server {
*** HTTP Daemon
*** Behind reverse proxy [y/N]? Use SSL (https://) [y/N]?
Listen on address [*]:
Listen on port [8080]: *** Plugins
*** Prompt to install core plugins [y/N]? Initialized /home/gerrit/gerrit_site
Executing /home/gerrit/gerrit_site/bin/gerrit.sh start
Starting Gerrit Code Review: OK
Waiting for server to start ... OK
Opening browser ...
Please open a browser and go to http://localhost:8080/#/admin/projects/

  4.修改gerrite.sh文件

当你进入到/home/gerrit/gerrit_site/bin/gerrit.sh执行stop命令是会报错

** ERROR: GERRIT_SITE not set

解决方案:

在gerrit.sh中加入如下

GERRIT_SITE=/home/gerrit/gerrit_site

关闭gerrite

./gerrit.sh stop

5.配置gerrite

[gerrit]
#设置代码目录默认为git
basePath = /home/gerrit/gerrit_code
[database]
type = H2
database = db/ReviewDB
[auth]
type = HTTP
[sendemail]
enable = true
smtpServer = 邮箱ftp地址
smtpServerPort = 465
smtpEncryption = ssl
smtpUser =邮箱用户名xxx@qq.com
smtpPass = 邮箱密码
sslVerify = false
from = Code Review <gerrit@xxx.cn>
[container]
user = gerrit
javaHome = /usr/java/jdk1.8.0_144/jre
[sshd]
listenAddress = *:29418
[httpd]
#设置反向代理端口
listenUrl = proxy-http://*:8081/
[cache]
directory = cache

   配置nginx

看这篇文章:配置nginx服务器 —— Nginx添加多个二级子域名

后加入一个文件gerrit.xxx.cn

注意使用root用户

加入如下代码

server {
listen 80;
server_name gerrit.lonecloud.cn;
allow all;
deny all; auth_basic "Welcomme to Gerrit Code Review Site!";
auth_basic_user_file /home/gerrit/gerrit_site/gerrit.password; location / {
proxy_pass http://127.0.0.1:8081;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
}
}

重启nginx

nginx -s restart

登录认证文件

安装htpasswd命令就是httpd中的命令

yum -y install httpd

那登录认证有了,我们怎么登录呢??就需要前面的 auth_basic_user_file 文件了。

这里我们需要用apach的 htpasswd 工具来新建这个文件,这也是为什么我们虽然不用到apache的反向代理,仍然需要apache的原因。

我们通过下面的命令来在 /home/gerrit/gerrit_site路径下创建认证文件

$ htpasswd -c /home/gerrit/gerrit_site/gerrit.password admin

这个命令的详细解释:

  • -c表示create,也就是新建的意思
  • 接下来跟上文件要创建的目录以及文件名,我们直接用绝对路径,表示将在 /home/gerrit 目录下新建一个 gerrit.password 文件
  • 最后的admin表示要写入的用户名

接下来你需要在命令行中连续输入两次密码,我们就为admin用户设置好了密码,可以通过vim来查看下这个密码文件,会发现里面是经过加密的。

如果我们想新建别的用户,或者修改某个用户的密码,只需要把 -c 改成 -m 就好了,如果还是用 -c 并且路径不变的话,就会覆盖掉原来的文件。

例如:我们想要新增一个用户,master,允许其通过页面登录,只需要执行下面的命令就好了

$ htpasswd -m /home/gerrit/gerrit_site/gerrit.password master

同样的输入两遍密码,就设置好了master用户的登录密码了。

注意 :

如果你是在root用户下输入上面的命令 创建了 gerrit.password 文件到 /home/gerrit/ 目录中,你会发现在登录的时候永远登录不成功,永远会得到服务器500的错误页面。原因是 /homt/gerrit/ 文件夹的权限问题。

我们知道, /home/gerrit/ 是我们之前新建的gerrit用户的,那么这个文件夹的权限是700,也就是只允许gerrit用户访问,其他组的用户是访问不了的,虽然这个文件的权限拥有root用户的所有权限,但是因为它放在700权限的文件夹下面,所以同样其他用户是访问不到的。

这个问题之前纠缠了我好久,通过nginx的日志可以清楚的看到访问拒绝的错误。

所以,我们需要通过下面的命令,来改变gerrit目录的权限

$ chmod 755 /home/gerrit

这样,当前目录权限就变成了 drwxr-xr-x ,也就是其他组的用户也拥有了读取和执行的权利。

gerrit+nginx+centos安装配置的更多相关文章

  1. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  2. nginx php-fpm安装配置 CentOS编译安装php7.2

    CentOS编译安装php7.2 介绍: 久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具体性能有多好,建议还是先尝试下再说.如果你是升级或新安装,那你首先需要考虑php7和程序是 ...

  3. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  4. 阿里云服务器Linux CentOS安装配置(七)域名解析

    阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...

  5. 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器

    阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 我在阿里云购买的服务器配置 CPU:1核 内存:2G 系统盘:40G 公共镜像:CentOS 6.5 64位 公网带宽:1Mbps ...

  6. nginx+tomcat安装配置

    nginx+tomcat安装配置 # nginx+tomcat安装配置 #创建网站目录 mkdir -p /www/wwwroot cd /www #安装配置 wget http://mirrors. ...

  7. 吴裕雄--天生自然Django框架开发笔记:Django Nginx+uwsgi 安装配置

    Django Nginx+uwsgi 安装配置 使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,需要一个可以稳定而持续的服务器,比如 ...

  8. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

  9. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

随机推荐

  1. Java数据持久层框架 MyBatis之API学习十(Logging详解)

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

  2. maven 阿里云仓库配置

    <!-- 设定主仓库,按设定顺序进行查找. --> <repositories> <repository> <id>nexus-aliyun</i ...

  3. 服务器大量的fin_wait1 状态长时间存在原因分析-1

    上文描述了在出现大量fin-wait-1出现的原因,占用的内存等,这里讲一下如何处理这种情况. 首先,fin发送之后,有可能会丢弃,那么发送多少次这样的fin包呢?fin包的重传,也会采用退避方式,在 ...

  4. web-based installer and executable installer in python 3 ,what is the difference between them?

    Welcome to Python! This applies to all programs, not just python: An executable installer has every ...

  5. 爬虫_vs_反爬虫

    爬虫中有哪些专业术语? 爬虫:自动获取网站数据的程序,关键是批量的获取 反爬虫:使用技术手段防止爬虫程序的方法 误伤:反爬虫技术将普通用户识别为爬虫,效果再好也不能用(禁止ip) 成本:反爬虫需要人力 ...

  6. java日志概述和原理

    OK,现在我们来研究下Java相关的日志. 日志记录是应用程序运行中必不可少的一部分.具有良好格式和完备信息的日志记录可以在程序出现问题时帮助开发人员迅速地定位错误的根源.对于开发人员来说,在程序中使 ...

  7. 理解maven的核心概念

    原文出处:http://www.cnblogs.com/holbrook/archive/2012/12/24/2830519.html 好久没进行java方面的开发了,最近又完成了一个java相关的 ...

  8. Python 正则表达式 (python网络爬虫)

    昨天 2018 年 01 月 31 日,农历腊月十五日.20:00 左右,152 年一遇的月全食.血月.蓝月将今晚呈现空中,虽然没有看到蓝月亮,血月.月全食也是勉强可以了,还是可以想像一下一瓶蓝月亮洗 ...

  9. 为mysql数据库建立索引

    前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过 ...

  10. Linux平台ORACLE INSTANT客户端安装

    下载安装文件 先去ORACLE官方网站下载所需版本的Instant Client Package 和 Instant Client Package - SQL*Plus安装包,(千万注意版本) htt ...