gerrit+nginx+centos安装配置
2017-09-15 19:49
387 查看
安装环境
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
2.新建gerrit用户方便管理
3.安装gerrit
请在gerrite用户下执行该命令
这个命令的意思是执行安装gerrit,会在当前目录下新建一个文件夹
安装过程中
建议设置
4.修改gerrite.sh文件
当你进入到/home/gerrit/gerrit_site/bin/gerrit.sh执行stop命令是会报错
** ERROR: GERRIT_SITE not set
解决方案:
在gerrit.sh中加入如下
关闭gerrite
5.配置gerrite
配置nginx
看这篇文章:配置nginx服务器 —— Nginx添加多个二级子域名
后加入一个文件gerrit.xxx.cn
注意使用root用户
加入如下代码
重启nginx
那登录认证有了,我们怎么登录呢??就需要前面的
这里我们需要用apach的
我们通过下面的命令来在
这个命令的详细解释:
-c表示create,也就是新建的意思
接下来跟上文件要创建的目录以及文件名,我们直接用绝对路径,表示将在
最后的admin表示要写入的用户名
接下来你需要在命令行中连续输入两次密码,我们就为admin用户设置好了密码,可以通过vim来查看下这个密码文件,会发现里面是经过加密的。
如果我们想新建别的用户,或者修改某个用户的密码,只需要把
例如:我们想要新增一个用户,master,允许其通过页面登录,只需要执行下面的命令就好了
同样的输入两遍密码,就设置好了master用户的登录密码了。
注意 :
如果你是在root用户下输入上面的命令 创建了
我们知道,
这个问题之前纠缠了我好久,通过nginx的日志可以清楚的看到访问拒绝的错误。
所以,我们需要通过下面的命令,来改变gerrit目录的权限
这样,当前目录权限就变成了
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,也就是其他组的用户也拥有了读取和执行的权利。
相关文章推荐
- Centos下Nginx+PHP+MySql的安装和配置(综合整理)
- CentOS 6.7 配置 yum 安装 Nginx
- CentOS安装和配置Nginx
- CentOS下Nginx的配置安装
- CentOS-6.3安装配置Nginx
- centos中安装并配置nginx+MySQL+Php
- centos6.9源码安装nginx1.12.2并配置php7
- Centos Nginx + Svbversion配置安装方法分享
- centos下Nginx+tomcat整合安装配置
- CentOS6.5安装配置Nginx1.11.5
- Linux(CentOS)下,下载安装Nginx并配置
- CentOS下安装、配置Nginx,配合IIS做负载均衡
- nginx在CentOS虚机环境下的安装配置,实现3台虚机负载均衡
- CentOS6.5安装nginx及负载均衡配置
- Centos7下编译安装配置Nginx+PHP+MySql环境
- CentOS 7 下安装 Nginx 并配置nginx代理apache+php和tomcat,实现共用80端口
- CentOS 6.5 FastDFS+nginx安装配置
- centos6.5下安装配置ELK及收集nginx日志
- Linux(CentOS)下,下载安装Nginx并配置
- CentOS6.3上安装与配置nginx+php+mysql环境