Centos 安装配置gerrit
关闭selinux,不然nginx的反向代理会报错connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting to upstream,或者使用这个命令:
setsebool -P httpd_can_network_connect 1
关闭selinux:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
reboot
首先安装jdk
yum install java java-devel,如果直接yum install java会自动找到相应的包的,我这里安装的是openjdk的1.7.0版本,目录可以自己看到。
配置java环境变量:
vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.99-2.6.5.0.el7_2.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
然后source /etc/profile
javac有输出说明安装成功
安装mysql,请看http://www.cnblogs.com/juandx/p/5208613.html
然后给gerrit建一个库,并且授权
mysql> create database gerritdb;
Query OK, row affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON gerritdb.* TO 'gerrituser'@'localhost' IDENTIFIED BY 'gerritpass';
Query OK, rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON gerritdb.* TO 'gerrituser'@'%' IDENTIFIED BY 'gerritpass';
下载gerrit的java包https://www.gerritcodereview.com/download/gerrit-2.12.2.war
然后安装就行啦,这里会提示你很多选择
[gerrit@gerrit ~]$ java -jar gerrit-2.12..war init -d review_site
Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore *** Gerrit Code Review 2.12.
*** *** Git Repositories
*** Location of Git repositories [/home/gerrit/git]: 这里一定要写git放的目录,没有的话自己会创建的 *** SQL Database
*** Database server type [mysql]: db这个不用说吧
Server hostname [localhost]:
Server port [(mysql default)]:
Database name [gerritdb]:
Database username [gerrituser]:
Change gerrituser's password [y/N]? *** Index
*** Type [LUCENE/?]: 默认就好,直接回车 The index must be rebuilt before starting Gerrit:
java -jar gerrit.war reindex -d site_path *** User Authentication
*** Authentication method [HTTP/?]: 一定要写http,不然就不是反向代理了,写development_become_any_account就随意登陆了
Get username from custom HTTP header [Y/n]? n 一定要n,不然反向代理gerrit报错为缺少一个y的header
SSO logout URL :
Enable signed push support [y/N]? n *** Email Delivery
*** SMTP server hostname [smtp..com]: 25端口是163的smtp
SMTP server port []:
SMTP encryption [NONE/?]:
SMTP username [littlexiaowen@.com]:
Change littlexiaowen@.com's password [y/N]? *** Container Process
*** Run as [gerrit]: 这是用户,root也可以
Java runtime [/usr/lib/jvm/java-1.7.-openjdk-1.7.0.99-2.6.5.0.el7_2.x86_64/jre]:
Upgrade review_site/bin/gerrit.war [Y/n]? y
Copying gerrit-2.12..war to review_site/bin/gerrit.war *** SSH Daemon
*** Listen on address [*]:
Listen on port []: *** HTTP Daemon
*** Behind reverse proxy [Y/n]? y
Proxy uses SSL (https://) [y/N]? n
Subdirectory on proxy server [/]:
Listen on address [127.0.0.1]:
Listen on port []:
Canonical URL [http://gerrit.wenbin.com]: *** Plugins
*** Installing plugins.
Install plugin singleusergroup version v2.12.2 [Y/n]? y
version v2.12.2 is already installed, overwrite it [Y/n]? y
Install plugin commit-message-length-validator version v2.12.2 [Y/n]? y
version v2.12.2 is already installed, overwrite it [Y/n]? y
Install plugin reviewnotes version v2.12.2 [Y/n]? y
version v2.12.2 is already installed, overwrite it [Y/n]? y
Install plugin replication version v2.12.2 [Y/n]? y
version v2.12.2 is already installed, overwrite it [Y/n]? y
Install plugin download-commands version v2.12.2 [Y/n]? y
version v2.12.2 is already installed, overwrite it [Y/n]? y
Initializing plugins.
No plugins found with init steps. Initialized /home/gerrit/review_site
[gerrit@gerrit ~]$ vim review_site/etc/gerrit.config
[gerrit@gerrit ~]$ vim sshd_log ^C
[gerrit@gerrit ~]$ ./review_site/bin/gerrit.sh restart
Stopping Gerrit Code Review: OK
Starting Gerrit Code Review: OK
[gerrit@gerrit ~]$
没办法,报错了很多,遇到了很多问题,但是也知道了反向代理的原理,httpd和nginx的设置,知道了原来nginx这么好用, 并发量还这么好,以后要多多了解,单线程解决并发速度更快,算法很好,错的越多学的越多吧,一定要多看log啊
/review_gerrit/etc/gerrit.conf
[gerrit]
basePath = /home/gerrit/git
canonicalWebUrl = http://gerrit.wenbin.com
[database]
type = mysql
hostname = localhost
database = gerritdb
username = gerrituser
[index]
type = LUCENE
[auth]
type = HTTP
[receive]
enableSignedPush = false
[sendemail]
smtpServer = smtp.163.com
smtpServerPort = 25
smtpUser = littlexiaowen@163.com
from=CodeReview<littlexiaowen@163.com> 这行是自己加的,不然注册的时候会提示失败,这里不用写密码,密码是写在security里的另一个文件里
[container]
user = gerrit
javaHome = /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.99-2.6.5.0.el7_2.x86_64/jre
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = proxy-http://127.0.0.1:8081/
[cache]
directory = cache
看到网上有一种修改邮件发送方式的方法:ssh ha gerrit set-account --add-email user99@163.com user99,还没有试过
先生存一个http的认证文件,创建admin用户
# htpasswd -c /passwords admin
然后会提示输入密码
安装nginx yum install nginx
/etc/nginx/nginx.conf
...
# for more information.
include /etc/nginx/conf.d/*.conf; server {
listen 80;
server_name gerrit.wenbin.com;
root /usr/share/nginx/html; # Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf; location / {
auth_basic "Gerrit Code Review";
auth_basic_user_file /passwords;
proxy_pass http://127.0.0.1:8081;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
}
error_page 404 /404.html;
location = /40x.html {
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
systemctl restart nginx就可以了
如果使用apache,那么yum install httpd,更改配置文件
/etc/httpd/httpd.conf
# Defaults if commented: EnableMMAP On, EnableSendfile Off
#
#EnableMMAP off
EnableSendfile on # Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf
#增加下面这些
<VirtualHost *:80>
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location />
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
AuthUserFile /passwords
</Location>
ProxyPass / http://127.0.0.1:8081/
</VirtualHost>
systemctl resatrt httpd
如果nginx报错不能连接到8081端口,可能是selinux没有关
设置开机启动
sudo cp etc/gerrit.config /etc/init.d/gerrit
sudo ln -snf /etc/init.d/gerrit /etc/rc2.d/S90gerrit
sudo ln -snf /etc/init.d/gerrit /etc/rc3.d/S90gerrit
这样就安装成功了,哎。。。遇到的问题是gerrit repository not found: All-Projects,这样是发现没有在第二个回答中写git目录,如果再次出现这个错误,那就先在mysql中drop再create一遍db就好了。。。
在/review_gerrit/bin/gerrit.sh中实际代码第一行加入
GERRIT_SITE=/home/gerrit/review_site
执行/home/gerrit/review_site/bin/gerrit.sh就可以启动gerrit了
这样在浏览器中访问域名或者ip地址就ok了,输入admin的用户名和密码就可以看到界面了。
会提示注册邮箱,自己注册个就行了,
在右上角点击用户,选setting设置ssh-key
在主机上执行 ssh-keygen -C ***@163.com
把公钥放进页面的sshkey
这样就可以了,下面就需要把gitlab,gerrit,jenkins配置起来
Centos 安装配置gerrit的更多相关文章
- 安装配置gerrit
		
Centos 安装配置gerrit 关闭selinux,不然nginx的反向代理会报错connect() to 127.0.0.1:8080 failed (13: Permission denied ...
 - 阿里云服务器Linux CentOS安装配置(零)目录
		
阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...
 - 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署
		
阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...
 - 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定
		
阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...
 - 阿里云服务器Linux CentOS安装配置(七)域名解析
		
阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...
 - 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署
		
阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...
 - 阿里云服务器Linux CentOS安装配置(五)jetty配置、部署
		
阿里云服务器Linux CentOS安装配置(五)jetty配置.部署 1.官网下载jetty:wget http://repo1.maven.org/maven2/org/eclipse/jetty ...
 - 阿里云服务器Linux CentOS安装配置(四)yum安装tomcat
		
阿里云服务器Linux CentOS安装配置(四)yum安装tomcat 1.yum -y install tomcat 执行命令后,会帮你把jdk也安装好 2.tomcat安装目录:/var/li ...
 - 阿里云服务器Linux CentOS安装配置(三)yum安装mysql
		
阿里云服务器Linux CentOS安装配置(三)yum安装mysql 1.执行yum安装mysql命令:yum -y install mysql-server mysql-devel 2.启动mys ...
 
随机推荐
- 关于VS2015支持编译Linux程序的问题
			
现状 目前已经发布的VS2015中包括VS2015 Preview 以及 VS2015 CTP6,这两个版本均不支持直接编译C++代码为Linux程序,具体情况可以参考 Visual Studio 2 ...
 - 如何用Dockerfile创建镜像
			
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p/5181222.html 创建镜像的目的 首先说DockerHub或其它一些镜像仓库已经提供了够多的镜像,有 ...
 - mongodb全套配置
			
1,下载&安装 MongoDB 提供了centos yum安装方式. 参考:http://docs.mongodb.org/manual/tutorial/install-mongodb-on ...
 - Laravel - 安装与配置
			
有多重途径可以安装Laravel,下面是通过composer安装laravel的方法.Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们.c ...
 - 【完全开源】微信客户端.NET版
			
目录 说明 功能 原理步骤 一些参考 说明 前两天比较闲,研究了一下web版微信.因为之前看过一篇博客讲微信web协议的,后来尝试分析了一下,半途中发现其实没什么意义,但又不想半途而废,所以最后做出了 ...
 - 你可能不知道的陷阱, IEnumerable接口
			
1. IEnumerable 与 IEnumerator IEnumerable枚举器接口的重要性,说一万句话都不过分.几乎所有集合都实现了这个接口,Linq的核心也依赖于这个万能的接口.C语言的 ...
 - NPOI导出Excel
			
using System;using System.Collections.Generic;using System.Linq;using System.Text;#region NPOIusing ...
 - DotNet 资源大全中文版(Awesome最新版)
			
Awesome系列的.Net资源整理.awesome-dotnet是由quozd发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等. 算法与数据结构 ...
 - 【分布式】Chubby与Paxos
			
一.前言 在上一篇理解了Paxos算法的理论基础后,接下来看看Paxos算法在工程中的应用. 二.Chubby Chubby是一个面向松耦合分布式系统的锁服务,GFS(Google File Syst ...
 - Web安全相关(一):跨站脚本攻击(XSS)
			
简介 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者往Web页 ...