安装后配置
安装后的配置步骤是可选的,具体取决于您的需求和环境。如果您为评估目的而设置 Jira,则可能不需要执行以下任何步骤,但熟悉这些步骤作为参考始终是个好做法。
进行下一节将讨论的更改后,您需要重新启动 Jira。
增加 Jira 内存
Jira 的默认内存设置通常足以满足中小型部署的需要。随着 Jira 采用率的提高,您会发现默认分配的内存已经不够用了。如果 Jira 作为 Windows 服务运行(如本章所述),可以按以下方法增加内存:
-
查找 Jira 的服务名称。您可以进入 Windows 服务控制台,双击 Atlassian Jira 服务。服务名称将显示在 常规 选项卡中;例如,
JIRA150215215627
。 -
打开一个新的命令提示符,将当前工作目录更改为
JIRA_INSTALL\bin
目录。 -
运行以下命令,替换 Jira 的实际服务名称:
tomcat8w //ES//<JIRA Windows service name>
-
选择 Java 选项卡,更新 初始内存池 和 最大内存池 大小,然后单击 确定:
Figure 1. Figure 1.20 – Jira memory settings -
重启 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),对发送的用户名和密码等敏感数据进行加密,以加强安全性。
对于独立安装,您需要依次执行以下操作:
-
获取并安装证书
-
在应用程序服务器(Tomcat)上启用 HTTPS
-
将流量重定向到 HTTPS
首先,您需要获得数字证书。这可以从 VeriSign(CA 证书)等认证机构获得,也可以是您自己生成的自签名证书。CA 证书不仅能为您加密数据,还能向用户识别您的 Jira 副本。如果您没有有效的 CA 证书,并且只对设置 HTTPS 加密感兴趣,则自签证书非常有用。由于自签名证书未经认证机构签署,因此无法向公众识别您的网站,用户首次访问该网站时会收到警告,提示该网站不可信任。不过,出于评估目的,在获得适当的 CA 证书之前,自签证书就足够了。
在本练习中,我们将创建一个自签名证书来说明整个过程。如果您已有 CA 证书,则可以跳过以下步骤:
-
Java 自带一个方便的证书管理工具,名为
keytool
,如果使用安装包,可在JIRA_INSTALL\jre\bin
目录中找到它。如果使用的是自己安装的 Java,则可以在JAVA_INSTALL\bin
目录中找到它。 -
要生成自签名证书,请从命令提示符运行以下命令:
keytool -genkey -alias tomcat -keyalg RSA keytool -export -alias tomcat -file file.cer
-
这将创建一个 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
。