安装后配置

安装后的配置步骤是可选的,具体取决于您的需求和环境。如果您为评估目的而设置 Jira,则可能不需要执行以下任何步骤,但熟悉这些步骤作为参考始终是个好做法。

进行下一节将讨论的更改后,您需要重新启动 Jira。

增加 Jira 内存

Jira 的默认内存设置通常足以满足中小型部署的需要。随着 Jira 采用率的提高,您会发现默认分配的内存已经不够用了。如果 Jira 作为 Windows 服务运行(如本章所述),可以按以下方法增加内存:

  1. 查找 Jira 的服务名称。您可以进入 Windows 服务控制台,双击 Atlassian Jira 服务。服务名称将显示在 常规 选项卡中;例如,JIRA150215215627

  2. 打开一个新的命令提示符,将当前工作目录更改为 JIRA_INSTALL\bin 目录。

  3. 运行以下命令,替换 Jira 的实际服务名称:

    tomcat8w //ES//<JIRA Windows service name>
  4. 选择 Java 选项卡,更新 初始内存池最大内存池 大小,然后单击 确定

    image 2023 11 27 15 18 36 516
    Figure 1. Figure 1.20 – Jira memory settings
  5. 重启 Jira 以应用更改。

如果不是将 Jira 作为 Windows 服务运行,则需要打开 JIRA_INSTALL\bin 目录中的 setenv.bat 文件(Windows)或 setenv.sh 文件(Linux)。然后,找到以下行:

set JVM_MINIMUM_MEMORY="384m"
set JVM_MAXIMUM_MEMORY="768m"

更改这两个参数的值并重新启动 Jira。通常,4 GB(4,096 MB)的内存足以支持数百名用户使用的相当大的 Jira 实例。

初始内存池或 JVM_MINIMUM_MEMORY 参数决定了 Jira 启动时的内存量。通常,内存容量越小,Jira 启动速度越快。最大内存池或 JVM_MAXIMUM_MEMORY 参数决定 Jira 可以使用的最大内存量。如果这两个值不相同,Jira 将以最小内存量启动,并随着越来越多的用户开始使用 Jira 而增长到最大内存量。

在为 Jira 分配实例之前,请确保有足够的可用物理内存。

更改 Jira 的端口号和上下文路径

作为安装过程的一部分,安装向导会提示我们决定 Jira 应该监听哪个端口的传入连接。如果您接受默认值,则端口为 8080。如果稍后改变主意并想更改此设置,可以在 JIRA_INSTALL/conf 目录中找到并用文本编辑器打开 server.xml 文件。让我们检查一下该文件的相关内容:

<Server port="8005" shutdown="SHUTDOWN">

前一行指定关闭 Jira 命令的端口。默认端口为 8005。如果已经有应用程序在该端口上运行(例如,Jira 的另一个实例),则需要将其更改为其它端口。下面一行指定了 Jira 运行的端口:

<Connector port="8080" protocol="HTTP/1.1">

默认情况下,Jira 将在 8080 端口上运行。如果已经有应用程序在该端口上运行,或者该端口因某种原因不可用,则需要将其更改为其它可用端口。下面一行允许您指定 Jira 运行的上下文:

<Context path="/jira" docBase="${catalina.home}/atlassian-jira"  reloadable="false" useHttpOnly="true">

默认情况下,该值为空,这意味着可以从 http://hostname:portnumber 访问 Jira。如果您决定指定上下文,URL 将是 http://hostname:portnumber/context。在我们的示例中,将从 http://localhost:8080/jira 访问 Jira。

配置 HTTPS

默认情况下,Jira 使用标准的非加密 HTTP 协议运行。如果在内部网络等安全环境中运行 Jira,这种方式是可以接受的。但是,如果您计划通过互联网开放对 Jira 的访问,则需要启用 HTTPS(HTTP over SSL),对发送的用户名和密码等敏感数据进行加密,以加强安全性。

对于独立安装,您需要依次执行以下操作:

  1. 获取并安装证书

  2. 在应用程序服务器(Tomcat)上启用 HTTPS

  3. 将流量重定向到 HTTPS

首先,您需要获得数字证书。这可以从 VeriSign(CA 证书)等认证机构获得,也可以是您自己生成的自签名证书。CA 证书不仅能为您加密数据,还能向用户识别您的 Jira 副本。如果您没有有效的 CA 证书,并且只对设置 HTTPS 加密感兴趣,则自签证书非常有用。由于自签名证书未经认证机构签署,因此无法向公众识别您的网站,用户首次访问该网站时会收到警告,提示该网站不可信任。不过,出于评估目的,在获得适当的 CA 证书之前,自签证书就足够了。

在本练习中,我们将创建一个自签名证书来说明整个过程。如果您已有 CA 证书,则可以跳过以下步骤:

  1. Java 自带一个方便的证书管理工具,名为 keytool,如果使用安装包,可在 JIRA_INSTALL\jre\bin 目录中找到它。如果使用的是自己安装的 Java,则可以在 JAVA_INSTALL\bin 目录中找到它。

  2. 要生成自签名证书,请从命令提示符运行以下命令:

    keytool -genkey -alias tomcat -keyalg RSA
    keytool -export -alias tomcat -file file.cer
  3. 这将创建一个 KeyStore(如果还不存在),并导出自签名证书 (file.cer)。运行第一条命令时,系统会要求你为 KeyStore 和 Tomcat 设置密码。两者需要使用相同的密码。默认密码是 changeit。您可以指定一个不同的密码,但必须让 Jira/Tomcat 知道,稍后我们会看到。

现在您已经准备好了证书,需要将其导入信任存储区供 Tomcat 使用。您将再次使用 Java 中的 keytool 应用程序:

keytool -import -alias tomcat -file file.cer JIRA_INSTALL\jre\lib\security\cacerts

这将把证书导入信任存储,JIRA/Tomcat 可使用它来设置 HTTPS。

要在 Tomcat 上启用 HTTPS,请用文本编辑器打开 JIRA_INSTALL/ conf 目录中的 server.xml 文件。找到以下配置片段:

<Connector port="8443" maxHttpHeaderSize="8192"
SSLEnabled="true"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false"
sslProtocol="TLS" useBodyEncodingForURI="true"/>

这将启用 Jira 的 HTTPS,端口为 8443。如果您为 KeyStore 选择了不同的密码,则必须在上述代码段结尾处的结束标记前添加以下一行:

keystorePass="<password value>"

最后一步是设置 Jira,使其自动从非 HTTP 请求重定向到 HTTPS 请求。找到并打开 JIRA_INSTALL/atlassian-jira/WEB-INF 目录中的 web.xml 文件。然后,将以下代码段添加到文件结尾的 </web-app> 标签之前:

<security-constraint>
    <web-resource-collection>
        <web-resourcename>all-except-attachments</web-resource-name>
        <url-pattern>*.js</url-pattern>
        <url-pattern>*.jsp</url-pattern>
        <url-pattern>*.jspa</url-pattern>
        <url-pattern>*.css</url-pattern>
        <url-pattern>/browse/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

现在,当您使用普通 HTTP URL(如 http://localhost:8080/jira )访问 Jira 时,会自动重定向到 HTTPS 对应的 URL,即 https://localhost:8443/jira