搭建gitblit服务器(一)

背景:这段时间在准备比赛,无论是几个人一起还是个人开发项目有git还是相当不错的,但是协同开发又苦于github繁琐的合作模式,而且还会有暴露自己代码的风险,所以想搭一个自己的git服务器。直接的git服务器虽然步骤简单,但是没有一个直观的界面来查看和管理,略有不便,想到前一个项目中用到了一个名叫gitblit的网站作为git服务器,应该是一个开源的git管理框架,查了一下果然是,开始动手搭建。


gitblit简介:

    Gitblit是一个开源的软件,它基于纯Java堆栈,用于管理、查看和提供Git存储库。

    他被设计用于想要托管集中式仓库的小型工作组。(翻译自Gitblit官网,英文水平实在有限,不过看介绍十分适合我们)


准备:

一台主机(我的是 Ubuntu 16.04系统的阿里云服务器)

系统中必须装有JDK7或JRE7及以上版本(官网最后一栏明确指出需要的Java运行环境,我的是JDK8)

SecureCRT(用于连接服务器执行指令,putty等其他可以同功能的软件也是可以的,当然如果是在本地的话就不需要了)

WinSCP(用于查看修改服务器中的文件,使用命令行中的vim也是可以的,不过个人感觉查看起来还是比较方便的,如果在本地的话也不需要了)


开始安装

1.创建目录并下载

mkdir /opt/gitblit
cd /opt/gitblit

这时候下载gitblit:

wget http://dl.bintray.com/gitblit/releases/gitblit-1.8.0.tar.gz


这样就下载成功啦

如果有最新版强迫症的同学们(比如我)可以在截取网址中的 http://dl.bintray.com/gitblit/releases/ 这一部分使用网页打开查看一下最新版,然后更改后缀的 gitblit-x.y.z.tar.gz 中的对应xyz就好啦


可以看到最新版是1.8.0所以在这里就使用了gitblit-1.8.0.tar.gz

2.解压安装

ls
tar -zxvf gitblit-1.8.0.tar.gz

结果如图所示(ls 可以看到我们刚才下载的文件)

3.修改默认设置

在解压之后,不同版本会有不一样的行为,我在使用1.6.2版本解压之后,解压后的文件是存放在当前的目录中的,但是在1.8.0版本中解压后会放在名为gitblit-1.8.0的文件夹中,在这里我们按照1.8.0版本的步骤操作,下载老版本的注意一下区别就好了。

进入gitblit-1.8.0中的data文件夹


在这里新旧版本也是有区别的,老版本只有一个gitblit.properties文件,修改配置的话要进去一个一个的查找很不方便,新版本在这里有了改进,把原来的gitblit.properties中的内容放到了default.properties中,自定义配置的话可以在gitblit.properties中直接添加。

然后我们来说一下比较重要的几个配置项。${baseFolder}代表gitblit所在的根目录。

git.repositoriesFolder = ${baseFolder}/git		配置仓库目录,用于放置创建的仓库,默认路径为${baseFolder}/git
git.acceptedPushTransports = HTTP HTTPS SSH		可使用的传输协议,默认支持HTTP,HTTPS,SSH,还有另外一种为GIT
web.siteName = gitblit							指定站点名称,此名称会作为网站页面标题显示
server.httpPort = 80							HTTP协议端口,默认为0,表示禁用此协议,为了安全性起见可禁用此协议
server.httpsPort = 8443							HTTPS协议端口,默认为8443,如果0,表示禁用此协议
server.certificateAlias = localhost				证书别名,该别名是一主机名,使用该别名后只能通过该主机名进行访问Web页面
server.storePassword = gitblit					服务端KeyStore密码,该密码在生成服务器证书时需要使用

大家可以在默认配置中查找一下这几项,看看当前版本的默认值是什么,不过懒一点的话可以直接在gitblit.properties中将上述的配置添加到最后一行


我只添加了三个自定配置,好像只有前两个与默认的不同。

4.启动服务

注意别忘了进入gitblit根目录

cd gitblit-1.8.0/

启动服务有两种方法:

第一种:

./install-service-ubuntu.sh
service gitblit start

在这种方法中因为我使用的是ubuntu系统,所以./install-service-ubuntu.sh,如果你使用的是centos系统则应该使用./install-service-centos.sh

如果执行第一行指令时出现 sudo: unable to resolve host xxxx ,可以看这篇博文解决一下,不过只是警告并不影响执行

但是这种方法我并没有启动成功。如果看到这篇博文中所示的结果应该就比较稳了。

第二种:

我在尝试第一种方法不成功之后选择了第二种方法,手动启动:

java -jar gitblit.jar --baseFolder data

当你看到:


这时,基本上是启动成功了。

但是在这里我们需要注意一个问题,当我们关闭命令行窗口的时候,服务也会自动关闭,此时我们使用

nohup java -jar gitblit.jar --baseFolder data &


指令忽略所有挂断信号,并且将输出重定向到nohup.out文件中,最后的&可有可无,当你需要继续执行指令时就加上,如果不需要不管加不加直接关闭指令窗口就好了。

使用vim查看文件:


如果需要关闭进程则使用

ps -ef | grep gitblit

查看到如图结果后使用

kill -9 22617

指令结束进程。

5.查看结果

注意在外部访问时,要打开对应的端口:


我在设置时,使用了80和8443端口,需要把对应的两个端口打开。

直接输入服务器网址访问:


这样就成功了。

我们再尝试一下使用8443端口访问:


如果出现这样的结果,可能是由于浏览器的默认使用http协议进行访问,但是8443端口只允许https协议进行访问,所以我们在访问时手动在前边输入https://,这时可能会提示:


直接点击高级继续访问即可,毕竟是自己的网站,没有安全威胁。

进入后同样会看到相同的页面。

6.修改密码

成功后记得首先更改admin用户的密码

初识使用时 用户名为admin 密码也为admin:


修改密码:



至此我们的gitblit就部署完成了。

如有错误希望不吝指摘


参考资料: https://www.tuicool.com/articles/bQfyIj

                  http://blog.csdn.net/xtayfjpk/article/details/45669335

                  https://linux.cn/article-5559-1.html

                  http://www.cnblogs.com/shifu204/p/7441125.html

猜你喜欢

转载自blog.csdn.net/CrazyOnes/article/details/79319021