【Linux】在Ubuntu 16.04上安装Gerrit + PostgreSQL + Apache服务

Gerrit是一个基于Git版本控制系统的运行于Web浏览器上的Code Review工具,本文叙述如何在Ubuntu 16.04上安装Gerrit服务。(当然安装Gerrit的方法有很多,本文只是其中之一)

前提

依照本文实践的前提如下:

  1. 一台具有公网IP地址的ECS服务器
  2. 服务器有访问公网资源的权限
  3. 服务器的操作系统为Ubuntu 16.04
  4. 操作者拥有对ECS服务器的网络控制权限
  5. 已经安装了Java运行环境(JRE)

安装PostgreSQL数据库并创建用户

apt install postgresql
# 创建pg用户名 pguser
sudo -u postgres createuser -RDIElPS <pguser>
# 创建pg数据库 pgdb
sudo -u postgres createdb -E UTF-8 -O <pguser> <pgdb>

下载、配置和运行Gerrit服务

下载页面地址 https://gerrit-releases.storage.googleapis.com/index.html ,目前最新版是 gerrit-2.16.5.war ,我们以它为例。

下载完成后开始运行如下命令进行配置:(注意修改/your/target/site_directory)

java -jar /your/path/to/gerrit-2.16.5.war -d /your/target/site_directory

在下面的交互式设置中,进行相应输入(其中的邮箱配置以阿里云邮为例):

*** Gerrit Code Review 2.16.5
*** 
Create '/your/target/site_directory' [Y/n]? Y
*** Git Repositories
*** 
Location of Git repositories [git]: [Enter]
*** SQL Database
*** 
Database server type [h2]: postgresql
Server hostname [localhost]: [Enter]
Server port [(postgresql default)]: [Enter]
Database name [reviewdb]: <pgdb>
Database username [root]: <pguser>
<pguser>'s password : <pgpwd>
 confirm password : <pgpwd>
*** Index
*** 
Type [lucene/?]: [Enter]
*** User Authentication
*** 
Authentication method [openid/?]: http
Get username from custom HTTP header [y/N]? [Enter]
SSO logout URL : [Enter]
Enable signed push support [y/N]? [Enter]
*** Review Labels
*** 
Install Verified label [y/N]? [Enter]
*** Email Delivery
*** 
SMTP server hostname [localhost]: smtp.mxhichinacom
SMTP server port [(default)]: 25
SMTP encryption [none/?]: 
SMTP username [root]: 你的阿里云邮邮件地址
email@email.com's password : 你的邮件密码
 confirm password : 重复你的邮件密码
*** Container Process
*** 
Run as [root]: [Enter]
Java runtime [/usr/lib/jvm/jdk1.8.0_201/jre]: [Enter]
Copy gerrit-2.16.5.war to /your/target/site_directory/bin/gerrit.war [Y/n]? [Enter]
Copying gerrit-2.16.5.war to /your/target/site_directory/bin/gerrit.war
*** SSH Daemon
*** 
Listen on address [*]: 
Listen on port [29418]: 
Generating SSH host key ... rsa... ed25519... ecdsa 256... ecdsa 384... ecdsa 521... done
*** HTTP Daemon
*** 
Behind reverse proxy [y/N]? y
Proxy uses SSL (https://) [y/N]? [Enter]
Subdirectory on proxy server [/]: [Enter]
Listen on address [*]: [Enter]
Listen on port [8081]: [Enter]
Canonical URL [http://<your.ip:port>/]: 
*** Cache
*** 
*** Plugins
*** 
Installing plugins.
Install plugin codemirror-editor version v2.16.5 [y/N]? [Enter]
Install plugin commit-message-length-validator version v2.16.5 [y/N]? [Enter]
Install plugin download-commands version v2.16.5 [y/N]? [Enter]
Install plugin hooks version v2.16.5 [y/N]? [Enter]
Install plugin replication version v2.16.5 [y/N]? [Enter]
Install plugin reviewnotes version v2.16.5 [y/N]? [Enter]
Install plugin singleusergroup version v2.16.5 [y/N]? [Enter]
Initializing plugins.
No plugins found with init steps.

进行完以上初始化步骤之后,还可以进一步在/your/target/site_directory/etc/gerrit.config中修改配置。例如,我们在邮件配置中加入一条from属性:

[sendemail]
 smtpServer = smtp.mxhichinacom
 smtpServerPort = 25
 smtpUser = email@email.com
 from = CodeReview<email@email.com>

这样Gerrit服务就配置完成了,我们重启Gerrit:

/your/target/site_directory/bin/gerrit.sh restart

安装Apache进行反向代理

安装Apache:

apt install apache2

编辑Apache配置/etc/apache2/sites-enabled/000-default.conf,注意和你刚刚对Gerrit服务做的配置保持一致(例如8081端口、/your/target/site_directory/etc/passwords密码文件路径):

<VirtualHost *:80>
 ServerName <你的主机名>
 ProxyRequests Off
 ProxyVia Off
 ProxyPreserveHost On
 <Proxy *>
 Order deny,allow
 Allow from all
 </Proxy>
 <Location /login/>
 AuthType Basic
 AuthName "Welcome to Gerrit Code Review Site"
 Require valid-user
 AuthUserFile /your/target/site_directory/etc/passwords
 </Location>
 AllowEncodedSlashes On
 ProxyPass / http://127.0.0.1:8081/
</VirtualHost>

配置登录账号密码

由于在上一步配置了密码文件路径,用于鉴权,我们需要在文件中添加账号信息。

touch /your/target/site_directory/etc/passwords
/usr/bin/htpasswd -b review_site/etc/passwords <你的Gerrit用户名> <密码>

重启服务,验证效果

service apache2 restart
/your/target/site_directory/bin/gerrit.sh restart

打开网页地址 http://<你的主机名>:80/,观察效果:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值