以静默方式安装服务器

在静默方式下,您将在文本文件中指定安装属性,然后运行没有命令行提示的安装。

开始之前

关于此任务

请在 install.properties 文件中指定安装属性,该文件位于安装文件的根文件夹中。在安装流程期间,服务器将这些属性存储在 installed.properties 文件中,该文件位于服务器安装文件的 conf/server 文件夹中。如果具有已存在的安装,那么可以使用其 installed.properties 文件作为这些属性的示例。

过程

  1. 下载并解压 IBM UrbanCode Deploy 的安装文件。可以从 IBM Passport Advantage® Web 站点下载这些文件。请参阅 IBM UrbanCode Deploy 下载文档
  2. 如果要使用除 Apache Derby 以外的数据库,请将数据库的 JAR 文件放置在安装文件的 lib/ext 文件夹中。
  3. 在安装文件中,在文本编辑器中打开 install.properties 文件,然后将以下代码行添加到该文件的末尾:
    nonInteractive=true
    该文件类似于以下示例:
    component.name=IBM UrbanCode Deploy
    component.directory=ibm-ucd/server
    version=6.0.0.0.123456
    nonInteractive=true
  4. 通过指定下表中的属性来定制安装。 如果未指定属性,那么将使用缺省值。这些属性将复制到已完成安装的 installed.properties 文件中。
    表 1. 安装属性
    属性 缺省值 描述
    database.derby.port 11377 Derby 数据库的端口。此属性仅用于 Derby 数据库。
    database.type
    derby
    数据库的类型。有效值为 derbymysqloraclesqlserverpostgresdb2
    警告: Derby 仅用于评估目的;请不要在生产服务器上使用 Derby。
    encryption.keystore ../conf/encryption.keystore 加密密钥库的路径。
    encryption.keystore.alias desedekeyuniqueID 加密密钥库别名。
    hibernate.connection.driver_class 缺省值取决于数据库的类型。 数据库驱动程序的类名,例如,com.ibm.db2.jcc.DB2Driver(对于 DB2®)或 org.apache.derby.jdbc.ClientDriver(对于 Derby)。
    hibernate.connection.password password 数据库连接的密码。将在安装流程期间对此密码进行加密。
    hibernate.connection.url jdbc:derby://localhost:11377/data 数据库的连接 URL。有关构建数据库连接字符串的更多信息,请参阅来自数据库提供者的文档。
    hibernate.connection.username ibm_ucd 数据库连接的用户名。除非 skip.db.install 设置为 Y,否则此用户必须具有在数据库中创建表的许可权。
    hibernate.default_schema 无。 数据库模式的名称。仅 Windows 上的 Oracle 数据库才需要此属性。
    install.java.home JAVA_HOME 系统变量的值。 要使用的 Java 安装的位置。
    install.server.dir
    /opt/ibm-ucd-6.0/server
    (Linux) 或
    C:\Program Files\ibm-ucd\server
    (Windows)
    服务器的安装目录。
    install.server.web.always.secure Y 指定 Y 以始终使用与服务器的安全连接。指定 N 以允许使用非安全连接。
    install server.web.host 服务器的主机名。 如果要安装独立服务器,请指定托管服务器的计算机的主机名。如果要在生产环境中安装独立服务器,请考虑使用不依赖于物理计算机的主机名,以便以后可以将服务器扩充为高可用性系统。如果要在集群中安装服务器,请指定集群的负载均衡器的主机名。
    install.server.web.https.port 8443 指定服务器的 HTTPS 端口。缺省值为 8443如果要安装 IBM UrbanCode DeployIBM UrbanCode Release,请确保对每个产品使用不同的端口。
    install.server.web.ip 0.0.0.0 服务器侦听的 IP 地址。
    install.server.web.port 8080 指定服务器的 HTTP 端口。缺省值为 8080如果要安装 IBM UrbanCode DeployIBM UrbanCode Release,请确保对每个产品使用不同的端口。
    rcl.server.url 无。 指定许可证服务器的连接信息。可以指定许可证服务器的端口和主机名或 IP 地址,例如,27000@RCLServer.example.com。要在许可证服务器不可用时避免出现问题,可以指定多个许可证服务器。在这种情况下,请使用冒号(在 Linux 和 UNIX 上)或分号(在 Windows 上)分隔每个地址,如以下示例中所示:27000@RCLServer.example.com;27000@backupRCLServer.example.com。要了解更复杂的许可证服务器方案,请参阅以下文档:http://pic.dhe.ibm.com/infocenter/rational/v0r0m0/index.jsp?topic=/com.ibm.rational.license.doc/topics/r_specify_lic_servers.html

    有关许可证发放的更多信息,请参阅管理许可证

    server.jms.mutualAuth false 指定 true 以要求在服务器与代理程序之间进行相互认证。请参阅配置相互认证
    server.jms.port 7918 指定代理程序用来与服务器联系的端口。缺省值为 7918
    server.keystore 无。 密钥库的路径。
    server.keystore.password changeit 密钥库的密码。将在安装流程期间对此密码进行加密。
    skip.db.install N 如果值为 Yyes,那么安装流程不会创建数据库模式。例如,如果具有预先填充的数据库(例如,如果要将服务器添加到集群),请跳过创建该模式。在这种情况下,您仍必须在其他属性(例如,hibernate.connection.url)中提供数据库连接信息。
    该文件类似于以下示例:
    component.name=IBM UrbanCode Deploy
    component.directory=ibm-ucd/server
    version=6.0.0.0.123456
    nonInteractive=true
    
    install.server.dir=/opt/ibm-ucd/server
    install.java.home=/opt/IBM/ibm-java-i386-60
    install.server.web.always.secure=Y
    install.server.web.host=myserver.example.com
    install.server.web.https.port=8443
    install.server.web.ip=0.0.0.0
    install.server.web.port=8080
    database.type=derby
    hibernate.connection.username=ibm_ucd
    hibernate.connection.password=password
    hibernate.connection.url=jdbc:derby://localhost:11377/data
    database.derby.port=11377
    rcl.server.url=27000@RCLServer.example.com
  5. 保存文件。
  6. 使用命令 install-server.bat(在 Windows 上)或命令 ./install-server.sh(在 Linux 上)运行安装文件。

结果

安装程序将安装服务器。

下一步做什么

要启动服务器,请参阅启动服务器
如果正在使用 Derby,那么可能会在安装程序的结果中看到以下错误:
[echo]     waiting for db to start - 6 seconds remaining
[echo]     waiting for db to start - 3 seconds remaining
[echo] Could not start database
[echo] Stopping embedded database ...
[java] Tue Feb 04 09:11:25 EST 2014 : Could not connect 
  to Derby Network Server on host localhost, port 11377: 
  Connection refused
如果看到此错误,那么必须更改服务器上 Java 安装的缺省安全设置:
  1. 在文本编辑器中打开 Java 安全策略文件。如果正在使用 Java 运行时环境 (JRE),那么此文件的位置为 JAVA_HOME/lib/security/java.policy,其中 JAVA_HOME 是 Java 安装的基本文件夹。如果正在使用 Java Development Kit (JDK),那么此文件的位置为 JAVA_HOME/jre/lib/security/java.policy
  2. java.policy 文件中标注了 // default permissions granted to all domains 的部分的 grant{} 块中,添加以下代码:
    permission java.net.SocketPermission "localhost:11377", "listen";
  3. 再次运行安装程序。
首次运行服务器时,可能会看到错误消息,表示未配置任何代理程序或标记来导入新的组件版本。要避免发生此错误,必须指定在导入组件版本时要使用的缺省代理程序或代理程序标记。创建组件时,可以覆盖此缺省设置。执行以下步骤以指定缺省代理程序或代理程序标记:
  • 要指定缺省代理程序,请单击系统 > 系统设置,并在常规设置下取消选中使用代理程序标记进行集成复选框。然后在用于导入版本的代理程序列表中选择代理程序。接着在页面底部单击保存
  • 要指定缺省代理程序标记,请单击系统 > 系统设置,并在常规设置下取消选中使用代理程序标记进行集成复选框。然后在用于导入版本的代理程序标记列表中选择代理程序标记。接着在页面底部单击保存。如果未列示任何标记,请将标记添加到服务器上的一个或多个代理程序。

反馈