gerrit 搭建配置

Ubuntu 16.04 LTS gerrit 搭建配置

操作系统
Ubuntu16.04 LTS
设置同步时间:
sudo apt-get install ntpdate
sudo ntpdate ... ####设置你同步的时间服务器
sudo hwclock --systohc #####把设置写入硬件时间
配置DNS:
sudo vi /etc/resolv.conf
安装JDK
sudo apt-get install openjdk-8-jdk
安装git
sudo apt-get install git-core
安装git web
sudo apt-get install gitweb

安装步骤
apache安装:
sudo apt-get install apache2
#Apache反向代理配置
编辑/etc/apache2/sites-enabled/000-default.conf

    ProxyRequests Off
    ProxyVia Off
    ProxyPreserveHost On


Order deny,allow
Allow from all


AuthType Basic
AuthName “Welcome to Gerrit Code Review Site!”
Require valid-user
AuthUserFile /home/sela/review_site/etc/passwords

AllowEncodedSlashes On
ProxyPass / http://127.0.0.1:8080/

注意:The ProxyPass 8080 must be same with the ./review_site/etc/gerrit.config.
When access the http://ip:80,Apache2 will lead you to
http://ip:8080.
ProxyPass 8080必须和./review_site/etc/gerrit.config里的端口配置一致。当登录http://ip:80的时候,Apache2会帮助打开http://ip:8080。

service apache2 restart ####重启使配置生效

安装PostgreSQL数据库
sudo apt-get update
sudo apt-get install postgresql
sudo apt-get install postgresql-client
sudo /etc/init.d/postgresql stop
#PostgreSQL不能以root账户启动。因此需要创建一个专用账户来执行接下来的配置和管理
sudo useradd -d /home/gituser -m -s /bin/bash -G sudo gituser
sudo passwd gituser
#使用这个账户创建git仓库和PostgreSQL数据库存放的相关目录
$ sudo su gituser
$ mkdir -p /home/gituser/repo/repos
$ mkdir -p /home/gituser/admin/gerrit
$ mkdir -p /home/gituser/data/pgdata/main
#改数据库目录权限,这里特别注意,如果权限不对则无法正常启动。下面的postgres是PostgreSQL安装时自动创建的一个账户,数据库进程由这个账户启动。
chmod 750 /home/gituser/data/pgdata
chmod 700 /home/gituser/data/pgdata/main
sudo chown -R postgres:postgres /home/gituser/data/pgdata
#创建log文件链接,此步骤可选
mkdir /home/gituser/data/logs
cd /home/gituser/data/logs
ln -sf /var/log/postgresql
#使用postgres账户初始化数据库,修改配置文件,指定数据库路径和客户端字符集编码
sudo -u postgres /usr/lib/postgresql/9.1/bin/initdb --locale=en_US.UTF-8 /home/gituser/data/pgdata/main
#启动数据库
sudo /etc/init.d/postgresql start
#给数据库创建用户
sudo -u postgres createuser -A -D -P -E gerrit2
#创建一个新的数据库reviewdb
sudo -u postgres createdb -E UTF-8 -O gerrit2 reviewdb
#确认数据库是否正常
sudo -u postgres psql
postgres=#\q -----退出

安装gerrit
下载gerrit的*.war二进制文件,选择一个正式发布的版本
http://code.google.com/p/gerrit/downloads/list
1、拷贝安装包到安装路径
su gituser
$ mv gerrit-3.0.2.war /home/gituser/admin/
$ cd /home/gituser/admin
java -jar gerrit-3.0.2.war init
安装过程中的要选的配置:
*** Gerrit Code Review 3.0.2


*** Git Repositories


Location of Git repositories [git]: /home/gituser/repo/b2g #git仓库的存储路径
*** SQL Database


Database server type [H2/?]: postgresql #选择postgresql数据库类型
Server hostname [localhost]: #注意:这里不要改成服务器的hostname
Server port [(POSTGRESQL default)]:
Database name [reviewdb]: reviewdb #输入刚才创建的数据库名称
Database username [gituser]: gerrit2 #输入刚才创建的数据库用户名
gerrit2’s password :
confirm password :

*** User Authentication


Authentication method [OPENID/?]: LDAP #选择使用域认证
LDAP server [ldap://localhost]: ldap://ip #域控制器
LDAP username : ***mt\git #注意:这里填写一个普通的域账户及密码即可,不要使用管理员账户,会以明文形式记录在/home/gituser/admin/etc/secure.config文件中
Download and install it now [Y/n]?Y
Downloading http://www.bouncycastle.org/download/bcprov-jdk16-144.jar …

*** HTTP Daemon


Behind reverse proxy [Y/n]?n
Proxy uses SSL (https://) [y/N]? N
Subdirectory on proxy server [/]:
Listen on address [*]:
Listen on port [8081]: 8080
*** Plugins
编辑/home/gituser/admin/etc/gerrit.config文件
[gerrit]
basePath = /home/sela/repo
canonicalWebUrl = http://ip:8080
serverId = d4cbdb74-125a-4711-a9f4-3d2ae1c77bae (硬件地址)
[database]
type = postgresql
hostname = localhost
#port = 3306
database = reviewdb
username = sela

[container]
javaOptions = “-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance”
javaOptions = “-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance”
user = sela ###这个是前面装的数据库用户
javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre
[index]
type = LUCENE
[auth]
gitBasicAuthPolicy = HTTP_LDAP
#type = OPENID
type = LDAP
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[receive]
Session stoppedignedPush = false
- Press to exit tab
- Press R to restart session
- Press S to save terminal output to file
smtpUser = sela
Network error: Software caused connection abort
listenAddress = *:29418
#[download]

scheme = ssh

scheme = http

[httpd]
listenUrl = http://*:8081/
[cache]
directory = cache

#[http]
proxy = http://ip:8081 #proxy server

proxyUsername = sela #proxy user & password

proxyPassword = 123456

[ldap]
server = ldap://***** ldap服务器域地址
username = gitsh
accountBase = DC=,DC=intra
groupBase = DC=
,DC=intra

#启动gerrit进程
sudo /home/gituser/admin/bin/gerrit.sh restart
访问http://ip:8080/
###安装成功后,第一个登陆注册的用户将会获得全部管理员权限,之后注册的用户为普通用户

#在日常工作的机器上创建SSH公钥
ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/name/.ssh/id_rsa):
/home/name/.ssh/id_rsa already exists.
cat ~/.ssh/id_rsa.pub 把里面的公钥传到gerrit上

你可能感兴趣的:(gerrit 搭建配置)