Gitblit GO安装和设置

本文介绍GitblitGO 1.8.0版本的下载、安装及配置流程,涵盖服务启动、SSL证书生成、客户端证书管理等方面的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 下载并解压缩Gitblit GO 1.8.0(Windows)1.8.0(Linux / OSX)
    最好消除路径名中的空格。
  2. 服务器本身是通过简单的文本文件配置的。在您喜欢的文本编辑器中
    打开data/gitblit.properties,并确保查看和设置:
    • server.httpPortserver.httpsPort
    • server.storePassword(不要输入字符)强烈建议使用
      https,因为密码是使用基本身份验证从浏览器/ git客户端不安全地传输的!
    • git.packedGitLimit(设置大于最大存储库的大小)
  3. 执行命令行authority.cmdjava -cp gitblit.jar com.gitblit.authority.Launcher --baseFolder data从命令行执行
    注意:权限是Swing GUI应用程序。不需要使用此工具,因为Gitblit GO将自动启动并创建SSL证书,但使用此工具可以控制生成的自签名证书中使用的标识元数据。跳过此步骤将导致具有默认元数据的证书。
    1. 填写新证书默认值对话框中的字段
    2. 输入提示时输入server.storePassword中使用的商店密码。这将为localhost生成SSL证书。
    3. 您可能希望为要提供的主机名或IP地址主机名生成SSL证书
      注意:您只能为端口指定一个 SSL证书。
    4. 退出权限应用程序
  4. 执行gitblit.cmdjava -jar gitblit.jar --baseFolder data从命令行执行
  5. 根据您选择的配置,将浏览器打开到http:// localhost:8080https:// localhost:8443
  6. 输入默认管理员凭据:admin / admin并单击“ 登录”按钮
    注意:确保更改管理员用户名和/或密码!

GO数据位置

默认情况下,Gitblit GO会将所有数据(用户,设置,存储库等)存储在dataGO安装的子文件夹中。您可以通过设置--baseFolder参数在命令行上为数据指定外部位置。如果重新定位数据文件夹,则必须向GO和证书颁发机构提供--baseFolder参数。

如果要将Gitblit部署到* nix平台,可以考虑将数据文件夹移出GO安装文件夹,然后创建一个名为“data”的符号链接,指向移动的文件夹。

通过GITBLIT_HOME指定baseFolder

您可以指定GITBLIT_HOME为环境变量或-DGITBLIT_HOMEJVM系统属性。

包括其他属性

从1.7.0开始

Gitblit支持从多个属性文件加载它的设置。您可以使用include=filename密钥来实现此目的。此设置支持使用逗号作为分隔符加载多个文件。它们按定义的顺序处理,它们可以嵌套(即包含的属性可能包括属性等)。

创建自己的自签名SSL证书

Gitblit GO(和Gitblit证书颁发机构)自动生成证书颁发机构(CA)证书和由此CA证书签署的ssl证书,该证书绑定到localhost

远程Eclipse / EGit / JGit客户端(<3.0)将无法使用此证书进行通信,因为无论http.sslVerify = false客户端设置如何,JGit始终都会验证证书的主机名。

EGit失败消息类似于:

Cannot get remote repository refs.
Reason: https:/myserver.com/git/myrepo.git: cannot open git-upload-pack

如果要通过https将存储库提供给另一台计算机,则需要为要提供的主机名或IP地址生成新证书。

注意: Gitblit Authority是一个GUI工具,需要在无头UNIX机器上进行X11转发。

  1. authority.cmd 要么 java -jar authority.jar --baseFolder data
  2. 单击新的ssl证书按钮(窗口左上角工具栏中的红色花环)
  3. 输入主机名或IP地址
  4. 确保选中此证书的https复选框
  5. 在密钥库密码提示中,输入server.storePassword密码

如果您决定在启动Gitblit或Gitblit证书颁发机构更改server.storePassword(推荐)的值,则必须删除以下文件,然后重新启动Gitblit证书颁发机构应用程序:

  1. 数据/ serverKeyStore.jks
  2. 数据/ serverTrustStore.jks
  3. 数据/证书/ caKeyStore.jks
  4. 数据/证书/ ca.crt
  5. data / certs / caRevocationList.crl(可选)

客户端SSL证书

从1.2.0开始

Gitblit支持X509证书身份验证。此身份验证方法依赖于您的servlet容器来验证/验证/信任您的客户端证书,并且可以由您的浏览器和您的git客户端使用。

所有X509证书都有一个专有名称(DN),它是几个字段的签名,如:

C=US,O=Gitblit,OU=Gitblit,CN=james

Gitblit必须能够将证书的DN映射到现有帐户用户名。默认映射是从DN中提取公用名(CN)值,并将其用作帐户名。如果CN是有效帐户,则对用户进行身份验证。运行Gitblit的servlet容器验证,验证和信任传递给Gitblit的证书。如果需要指定备用DN映射,可以使用git.certificateUsernameOIDs设置,但必须将此映射与用户帐户名匹配。

如何让servlet容器信任客户端证书?

在WAR变体中,您必须手动将servlet容器设置为:

  1. 想要/需要客户证书
  2. 信任用于签署客户端证书的CA证书
  3. 生成由CA证书签名的客户端证书

或者,Gitblit GO旨在促进客户端证书身份验证的使用。Gitblit GO附带了一个工具,可以简化客户证书的创建和管理,Gitblit证书颁发机构。

使用Gitblit证书颁发机构创建SSL证书

生成新的客户端证书时,会创建一个zip文件包,其中包含用于浏览器的P12密钥库和用于Git的PEM密钥库。这两个都受密码保护。此外,还生成了一个个性化的README文件,其中包含流行浏览器和Git的设置说明。README是data\certs\instructions.tmpl根据您的需求生成的,可以进行修改。

  1. authority.cmd 要么 java -jar authority.jar --baseFolder data
  2. 选择要为其生成证书的用户
  3. 单击新证书按钮,然后输入证书的到期日期。您还必须输入生成的密钥库的密码。这个密码是一样的用户的登录密码。此密码用于保护您将为所选用户生成的私钥和公共证书。您还必须为用户输入密码提示。
  4. 如果您的邮件服务器设置已正确配置,您将有一个发送电子邮件复选框,您可以使用该复选框立即将生成的证书包发送给用户。

证书检查和高级故障排除

即使使用简化的Gitblit证书颁发机构工具,X509证书也会令人困惑和棘手。如果您发现需要更多工具来了解密钥库,证书和证书吊销列表(CRL),我强烈推荐可以作为Java Web Start应用程序方便地启动的Portecle

作为Windows服务运行

Gitblit使用Apache Commons Daemon来安装和配置其Windows服务。

  1. 查看内容installService.cmd,你可能需要更改默认密钥库的密码
  2. 根据安装的Java虚拟机设置ARCH值。
  3. 命令行参数中添加下面列举的任何必要的--StartParams
  4. 执行脚本。

服务安装后,您可以使用该gitblitw.exe实用程序来控制和修改服务的运行时设置。此处记录
gitblitw.exe(prunmgr.exe)的其他服务定义选项和运行时功能。

注意:
如果从gitblit更改服务名称,则还必须更改名称gitblitw.exe以匹配新服务名称,否则服务和实用程序之间的连接将丢失,至少双击执行。

VM注意事项

默认情况下,服务安装脚本将Windows服务配置为使用默认JVM。此设置通常默认为客户端VM。
如果已安装JDK,则可以考虑使用该gitblitw.exe实用程序手动指定服务器 VM。

  1. 执行 gitblitw.exe
  2. Java选项卡上,取消选中Use default
  3. 手动导航文件系统并使用...按钮指定服务器VM
    Java虚拟机:
    C:\ Program Files \ Java \ jre6 \ bin \ server \ jvm.dll

命令行参数

命令行参数会覆盖gitblit.properties运行时的值。

--baseFolder           The default base folder for all relative file reference settings
--repositoriesFolder   Git Repositories Folder
--userService          Authentication and Authorization Service (filename or fully qualified classname)
--httpPort             HTTP port for to serve. (port <= 0 will disable this connector)
--httpsPort            HTTPS port to serve.  (port <= 0 will disable this connector)
--sshPort              SSH Daemon port to serve.  (port <= 0 will disable this daemon)
--gitPort              Git Daemon port to serve.  (port <= 0 will disable this daemon)
--alias                Alias in keystore of SSL cert to use for https serving
--storePassword        Password for SSL (https) keystore.
--shutdownPort         Port for Shutdown Monitor to listen on. (port <= 0 will disable this monitor)
--dailyLogFile         Redirect logging to a rolling, daily log file instead of stdout
--tempFolder           Folder for server to extract built-in webapp

java -jar gitblit.jar --userService c:/myrealm.config --storePassword something --baseFolder c:/data

覆盖Gitblit GO的Log4j配置

您可以使用命令行参数将Gitblit GO的默认Log4j配置覆盖到JVM。

java -Dlog4j.configuration=file:///home/james/log4j.properties -jar gitblit.jar <optional_gitblit_args>

您不能使用覆盖默认的log4j配置指定--dailyLogFile参数。作为参考,这里是Gitblit的默认Log4j配置。它包括一些默认禁用的文件追加器。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值