CentOS系统下Gerrit服务器搭建

来源:互联网 发布:网络动漫黑名单 编辑:程序博客网 时间:2024/06/05 23:22

Gerrit服务器搭建

Ubuntu系统下搭建Gerrit

前言:
从来没有搭建过服务器,花了两天时间研究,出现了很多问题,摸爬滚打,终于能成功登录了。下面我来讲解一下在CentOS系统下搭建Gerrit。

准备材料:
gerrit.war、JDK和一台装有CentOS系统的电脑。

步骤:
一、Java环境

打开终端:

查看JDK个版本

yum search java|grep jdk

安装你需要的JDK版本,例如:

yum install java-1.8.0-openjdk.x86_64

配置环境变量

vim ~/.bash_profile按回车,进入编辑模式后输入内容:

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64(此处修改成你当前JDK的路径)PATH=$JAVA_HOME/bin:$PATH:.CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.export JAVA_HOMEexport PATHexport CLASSPATH

按esc,输入:wq回车,该文件就已经修改好了。

验证:java -version

二、安装Git

yum install git

验证: git –version(此处version前面是双“-”)

三、安装Apache

yum install httpd

启动:
service httpd start

如果出现以下内容:
Redirecting to /bin/systemctl start httpd.service

这样启动:
systemctl start httpd

四、安装Gerrit

定位到存放gerrit.war的目录下,然后输入命令:
java -jar gerrit.war init -d review_site

紧接着会让你一步步配置gerrit:

[root@localhost ~]# cd /usr/local/gerrit/[root@localhost gerrit]# java -jar gerrit.war init -d review_site*** Gerrit Code Review 2.10*** Create '/usr/local/gerrit/review_site' [Y/n]? y*** Git Repositories*** Location of Git repositories   [git]:  //git放的目录,没有的话自己会创建的*** SQL Database*** Database server type           [h2]:   //我用的默认H2数据库,也可以输入mysql然后回车,这样你用的就是mysql数据库了*** Index*** Type                           [LUCENE/?]: *** User Authentication*** Authentication method          [OPENID/?]: HTTP  //输入HTTP,不然就不是反向代理了Get username from custom HTTP header [y/N]? nSSO logout URL                 : *** Review Labels*** Install Verified label         [y/N]? *** Email Delivery*** SMTP server hostname           [localhost]: smtp.163.com   //输入自动发送邮件的邮箱smtpSMTP server port               [(default)]: 25  // 465/994是SSL协议端口号,25是非SSL协议端口号(这里指的163邮箱)SMTP encryption                [NONE/?]:   //如果上一步输入的是465/994,此处输入SSL,否则直接回车SMTP username                  [root]: gaochujia@163.com     //此处是你自动发送邮件的邮箱gaochujia@163.com's password   :                  confirm password :     //此处是你邮箱的授权码,非邮箱密码(切记,不然邮件发不出去)*** Container Process*** Run as                         [root]:   //这是用户,可以用默认rootJava runtime                   [/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64/jre]: Copy gerrit.war to /usr/local/gerrit/review_site/bin/gerrit.war [Y/n]? YCopying gerrit.war to /usr/local/gerrit/review_site/bin/gerrit.war*** SSH Daemon*** Listen on address              [*]: Listen on port                 [29418]: Gerrit Code Review is not shipped with Bouncy Castle Crypto SSL v149  If available, Gerrit can take advantage of features  in the library, but will also function without it.Download and install it now [Y/n]? yDownloading http://www.bouncycastle.org/download/bcpkix-jdk15on-149.jar ... !! FAIL !!error: http://www.bouncycastle.org/download/bcpkix-jdk15on-149.jar: 302 FoundPlease download:  http://www.bouncycastle.org/download/bcpkix-jdk15on-149.jarand save as:  /usr/local/gerrit/review_site/lib/bcpkix-jdk15on-149.jarPress enter to continue Continue without this library  [Y/n]? Generating SSH host key ... rsa(simple)... done*** HTTP Daemon*** Behind reverse proxy           [y/N]? yProxy uses SSL (https://)      [y/N]? nSubdirectory on proxy server   [/]: Listen on address              [*]: Listen on port                 [8081]: 8091   //这个端口号一定不要和apache的端口号一样Canonical URL                  [http://localhost/]: *** Plugins*** Install plugin commit-message-length-validator version v2.10 [y/N]? yInstall plugin download-commands version v2.10 [y/N]? yInstall plugin replication version v2.10 [y/N]? yInstall plugin reviewnotes version v2.10 [y/N]? yInstall plugin singleusergroup version v2.10 [y/N]? yInitialized /usr/local/gerrit/review_siteExecuting /usr/local/gerrit/review_site/bin/gerrit.sh startStarting Gerrit Code Review: FAILEDerror: cannot start Gerrit: exit status 1Waiting for server on localhost:80 ... OKOpening http://localhost/#/admin/projects/ ...OK[root@localhost gerrit]#

我这里出现:Starting Gerrit Code Review: FAILED,可能设置的8091与某个端口号重了,我重新走一遍
java -jar gerrit.war init -d review_site

然后在

Listen on port                 [8091]: 8099 


此处输入8099

定位到review_site/bin目录下
./gerrit.sh start

然后显示:Starting Gerrit Code Review: OK

到此,gerrit安装成功。

五、创建passwd文件,添加gerrit登录用户(-c参数为创建,仅限第一次添加用户时使用)
htpasswd -cb /etc/httpd/passwords admin admin
passwords是在httpd目录下创建的文件,第一个admin是用户名,第二个admin是密码。

第二次添加其他用户时,不要加-c:
htpasswd -b /etc/httpd/passwords test test

六、修改Apache的config文件httpd.conf

在端口号设置Listen 80下面加入以下内容:

Listen 80Listen 8090  //额外加的端口号,两个都能访问<VirtualHost *:8090>  //此处是Apache的端口号    ServerName 172.16.8.2  //此处是你的ip地址    ProxyRequests Off    ProxyVia Off    ProxyPreserveHost On    <Proxy *>        Order deny,allow        Allow from all    </Proxy>    <Location /login/>        AuthType Basic        AuthName "Gerrit Code Review"        Require valid-user        AuthUserFile /etc/httpd/passwords   //刚刚创建的密码文件    </Location>    AllowEncodedSlashes On    ProxyPass / http://172.16.8.2:8099/   //此处的8099是gerrit端口号</VirtualHost>

到此为止,Bingo!
打开流浪器,输入你的IP地址加上你的Apache端口号,需要你使用刚刚设置的gerrit用户进行登录就ok了,以下是我的登录界面:
登录界面

尾声:
匆匆忙忙写完,到时候再完善,其中遇到的问题有空再补上,然后有问题的欢迎留言,拜拜,我去打把野。

原创粉丝点击