WebUI Service Installation 9.5.12.68 Failed

Anybody had issues installing the webUI servivce 9.5.12.68 failed in the last step of the action?
Target Server is the RootServer (Windows 2016) SQL 2014.

Failed continue if {exists file (parameter “webUIServiceExe”)}
else
parameter “sitesDir” = “/var/opt/BESWebUI/WebUI/sites”
//Client settings that the Linux installer does not set by itself
setting “_WebUI_Redirect_Enable”=“1” on “{parameter “action issue date” of action}” for client
setting “_WebUIAppEnv_PLATFORM_HOST” = “{parameter “rootServerHost”}” on “{parameter “action issue date” of action}” for client
setting “_WebUIAppEnv_WORK_DIR”="{parameter “sitesDir”}" on “{parameter “action issue date” of action}” for client
setting “_WebUI_Redirect_Port”="{parameter “webuiHttpPort”}" on “{parameter “action issue date” of action}” for client
setting “_WebUI_HTTPS_Port”="{parameter “webuiHttpsPort”}" on “{parameter “action issue date” of action}” for client
setting “_WebUIAppEnv_WebUI_DIR”="/var/opt/BESWebUI" on “{parameter “action issue date” of action}” for client
//Download and run the installer
prefetch BESWebUI.rpm sha1:6fe9827ee92f728bcbbc990f9725d28d3d912038 size:5295128 http://software.bigfix.com/download/bes/95/BESWebUI-9.5.12.68-rhe6.x86_64.rpm sha256:a6b9e04c30d83037586fce5370f04723855912dbc593132a8dc9337ef9472bb9
folder delete “{(client folder of current site as string) & “/__Local/Upgrade”}“
folder create “{(client folder of current site as string) & “/__Local/Upgrade”}“
move __Download/BESWebUI.rpm __Local/Upgrade/BESWebUI.rpm
wait rpm -i __Local/Upgrade/BESWebUI.rpm
//Stop if the installer did not copy the binary file
continue if {exists file “/opt/BESWebUI/bin/BESWebUI”}
folder create /var/opt/BESWebUI/Mirror
folder delete /var/opt/BESWebUI/cert
folder create /var/opt/BESWebUI/cert
//Create WebUI certificate files
appendfile {parameter “certAuth”}
move __appendfile /var/opt/BESWebUI/cert/ca.crt
appendfile {parameter “authCert”}
move __appendfile /var/opt/BESWebUI/cert/auth_cert.crt
appendfile {parameter “authKey”}
//Move the private key file and restrict access on it
createfile until __EOF
#!/bin/bash
mv __appendfile /var/opt/BESWebUI/cert/auth_key.key
/bin/chmod 600 /var/opt/BESWebUI/cert/auth_key.key
__EOF
wait /bin/sh __createfile
delete __createfile
//Set firewall rules for firewalld on RHEL 7 and on iptables
appendfile #!/bin/bash
if {version of operating system >= “7”}
appendfile /bin/firewall-cmd --permanent --zone=public --add-port={value of setting “_WebUI_Redirect_Port” of client}/tcp
appendfile /bin/firewall-cmd --permanent --zone=public --add-port={value of setting “_WebUI_HTTPS_Port” of client}/tcp
wait /bin/firewall-cmd --state
if {exists true whose (if true then (exit code of action = 0) else false)}
appendfile /bin/systemctl restart firewalld
endif
endif
if {exists rpm “iptables”}
appendfile sed -i -n ‘1h;1!H;${{;g;s/filter\n(:[^\n]\n)/&-A INPUT -m state --state NEW -m tcp -p tcp --dport {value of setting “_WebUI_Redirect_Port” of client} -j ACCEPT\n/g;p;}’ /etc/sysconfig/iptables
appendfile sed -i -n '1h;1!H;${{;g;s/filter\n(:[^\n]\n)
/&-A INPUT -m state --state NEW -m tcp -p tcp --dport {value of setting “_WebUI_HTTPS_Port” of client} -j ACCEPT\n/g;p;}’ /etc/sysconfig/iptables
wait /sbin/service iptables status
if {exists true whose (if true then (exit code of action = 0) else false)}
appendfile /sbin/service iptables restart
endif
endif
wait /bin/sh __appendfile
delete __appendfile
parameter “webuiDataDir” = “/var/opt/BESWebUI/WebUI"
if { not exists folder ( parameter “webuiDataDir” ) }
folder create { parameter “webuiDataDir” }
endif
//Run WebUI configuration step
createfile until EOF
#!/bin/bash
LD_LIBRARY_PATH=/opt/BESWebUI/bin /opt/BESWebUI/bin/BESWebUI “$@“
EOF
wait /bin/sh __createfile --configure --hostname=”{parameter “dbHostname”}” --domain=”{parameter “dbUserDomain”}” --user=”{parameter “dbUserName”}” --password=”{parameter “dbPassword”}" --instance="{parameter “dbInstance”}" --port={parameter “dbPort”} --directory="{parameter “webuiDataDir”}"
delete __createfile
//Enable usage of Enterprise database
setting “_WebUIAppEnv_USE_BFENT”=“1” on “{parameter “action issue date” of action}” for client
//Restart WebUI service
wait service beswebui restart
endif

I noticed that the script that you posted is for Linux while you are mentioning that the install is on the root server is a Windows box with MS SQL. That does not seem to be right.

When installing the WebUI Service, the targeted endpoint needs to be of the same Operating System. It looks like you may have targeted a Linux endpoint. In this case, because your BigFix server is running Windows, you need to target an endpoint running the same.

-Matt

You are totally right. I’m maybe running the wrong fixlet. I’ll check on that. thanks.

thanks Matt. I’ll check on the fixlet I’m using… to make sure is the right one for the OS target.

It appears the fixlet is used for both OS (Win / Linux). The fixlet name is"Install IBM BigFix WebUI Service (Version 9.5.12)". Fixlet ID 3778. So Still, the Linux part I understand it doesn’t run. But all the Win part it does. Still I’m not sure what to do next.

Completed parameter “webuiHttpPortNotAvailable” = "{exists sockets whose(local port of it is (parameter “webuiHttpPort” as integer)) of network}“
Completed parameter “webuiHttpsPortNotAvailable” = “{exists sockets whose(local port of it is (parameter “webuiHttpsPort” as integer)) of network}“
Completed //Failure next means ports are in use on the endpoint
Completed continue if{(parameter “webuiHttpsPortNotAvailable” = “False”) and (parameter “webuiHttpPortNotAvailable” = “False”)}
Completed //Failure next means OS of endpoint does not match the Server’s. If failure occurs, revoke WebUI Certificates for this endpoint.
Completed continue if{windows of operating system as string = parameter “isRootWindows”}
Completed //Failure next means authority for WebUI is missing from action
Completed continue if{(exists parameter “certAuth”) and (exists parameter “authCert”) and (exists parameter “authKey”)}
Completed if {windows of operating system}
Completed if {exists parameter “webUIDirEntered”}
Completed parameter “webUIDir” = “{(if(last 1 of it is “”) then (preceding text of last “” of it) else (it)) of ((parameter “webUIDirEntered” of action) as string)}\BES WebUI"
Completed //Failure next if not fully qualified path
Completed continue if {character 1 of parameter “webUIDir” = “:”}
Completed else
Completed // Choose a default WebUI installation path
Completed if {exists key “HKLM\Software\BigFix\Enterprise Server” whose (value “EnterpriseServerFolder” of it != “”) of registry}
Completed parameter “webUIDir” = “{pathname of parent folder of folder(value “EnterpriseServerFolder” of key “HKLM\Software\BigFix\Enterprise Server” of registry as string)}\BES WebUI"
Completed else
Completed parameter “webUIDir” = “{pathname of program files x32 folder}\BigFix Enterprise\BES WebUI"
Completed endif
Completed endif
Completed else
Completed folder create “/var/opt/BESWebUI"
Completed endif
Completed delete __appendfile
Completed delete __createfile
Completed if {windows of operating system}
Completed parameter “sitesDir” = “{parameter “webUIDir”}\WebUI\sites"
Completed if { parameter “dbAuthType” = “Windows” }
Completed parameter “dbUseSqlAuth” = “0"
Completed else
Completed parameter “dbUseSqlAuth” = “1"
Completed endif
Completed if { (parameter “dbAuthType” = “Windows”) and (parameter “dbUserDomain” != “”) }
Completed parameter “dbAuthUser” = “{parameter “dbUserDomain”}{parameter “dbUserName”}“
Completed else
Completed parameter “dbAuthUser” = “{parameter “dbUserName”}“
Completed endif
Completed //Create WebUI certificate folder and files
Completed parameter “certFolder” = “{(client folder of current site as string) & “__Local\Certs”}“
Completed folder delete “{parameter “certFolder”}“
Completed folder create “{parameter “certFolder”}“
Completed appendfile {parameter “certAuth”}
Completed move __appendfile “{parameter “certFolder”}\ca.crt"
Completed appendfile {parameter “authCert”}
Completed move __appendfile “{parameter “certFolder”}\auth_cert.crt"
Completed appendfile {parameter “authKey”}
Completed move __appendfile “{parameter “certFolder”}\auth_key.key"
Completed //Download and run the installer
Completed prefetch WebUIService.exe sha1:d3707873b2915dddd4b0dd0bbdaf617a0b65212a size:26443032 http://software.bigfix.com/download/bes/95/BigFix-BES-WebUI-9.5.12.68.exe sha256:809f16554621abe2536414e81fa70956cedba21e362d4ea84177dbaa03dae6e4
Completed wait __Download\WebUIService.exe /s /v”/l*! “{location of client}\beswebuiinstall.log” REBOOT=ReallySuppress MSIRESTARTMANAGERCONTROL=Disable /qn INSTALLDIR=”{parameter “webUIDir”}” DB_HOSTNAME=”{parameter “dbHostname”}” DB_USER=”{parameter “dbAuthUser”}” DB_PASSWORD=”{parameter “dbPassword”}” DB_INSTANCE=”{parameter “dbInstance”}” DB_PORT=”{parameter “dbPort”}” DB_USE_SQL_AUTH=”{parameter “dbUseSqlAuth”}” WEBUI_SITES_DIR=”{parameter “sitesDir”}” WEBUI_SRC_CERT_DIR=”{parameter “certFolder”}” WEBUI_HTTP_PORT=”{parameter “webuiHttpPort”}” WEBUI_HTTPS_PORT=”{parameter “webuiHttpsPort”}”"
Completed folder delete "{parameter “certFolder”}"
Completed //Stop if the installer did not copy the exe file
Completed parameter “webUIServiceExe” = “{parameter “webUIDir”}\WebUIService.exe”

THEN THIS LAST STEP FAIL:
Failed continue if {exists file (parameter “webUIServiceExe”)}
else
parameter “sitesDir” = “/var/opt/BESWebUI/WebUI/sites”
//Client settings that the Linux installer does not set by itself
setting “_WebUI_Redirect_Enable”=“1” on “{parameter “action issue date” of action}” for client
setting “_WebUIAppEnv_PLATFORM_HOST” = “{parameter “rootServerHost”}” on “{parameter “action issue date” of action}” for client
setting “_WebUIAppEnv_WORK_DIR”="{parameter “sitesDir”}" on “{parameter “action issue date” of action}” for client
setting “_WebUI_Redirect_Port”="{parameter “webuiHttpPort”}" on “{parameter “action issue date” of action}” for client
setting “_WebUI_HTTPS_Port”="{parameter “webuiHttpsPort”}" on “{parameter “action issue date” of action}” for client
setting “_WebUIAppEnv_WebUI_DIR”="/var/opt/BESWebUI" on “{parameter “action issue date” of action}” for client
//Download and run the installer
prefetch BESWebUI.rpm sha1:6fe9827ee92f728bcbbc990f9725d28d3d912038 size:5295128 http://software.bigfix.com/download/bes/95/BESWebUI-9.5.12.68-rhe6.x86_64.rpm sha256:a6b9e04c30d83037586fce5370f04723855912dbc593132a8dc9337ef9472bb9
folder delete “{(client folder of current site as string) & “/__Local/Upgrade”}“
folder create “{(client folder of current site as string) & “/__Local/Upgrade”}“
move __Download/BESWebUI.rpm __Local/Upgrade/BESWebUI.rpm
wait rpm -i __Local/Upgrade/BESWebUI.rpm
//Stop if the installer did not copy the binary file
continue if {exists file “/opt/BESWebUI/bin/BESWebUI”}
folder create /var/opt/BESWebUI/Mirror
folder delete /var/opt/BESWebUI/cert
folder create /var/opt/BESWebUI/cert
//Create WebUI certificate files
appendfile {parameter “certAuth”}
move __appendfile /var/opt/BESWebUI/cert/ca.crt
appendfile {parameter “authCert”}
move __appendfile /var/opt/BESWebUI/cert/auth_cert.crt
appendfile {parameter “authKey”}
//Move the private key file and restrict access on it
createfile until __EOF
#!/bin/bash
mv __appendfile /var/opt/BESWebUI/cert/auth_key.key
/bin/chmod 600 /var/opt/BESWebUI/cert/auth_key.key
__EOF
wait /bin/sh __createfile
delete __createfile
//Set firewall rules for firewalld on RHEL 7 and on iptables
appendfile #!/bin/bash
if {version of operating system >= “7”}
appendfile /bin/firewall-cmd --permanent --zone=public --add-port={value of setting “_WebUI_Redirect_Port” of client}/tcp
appendfile /bin/firewall-cmd --permanent --zone=public --add-port={value of setting “_WebUI_HTTPS_Port” of client}/tcp
wait /bin/firewall-cmd --state
if {exists true whose (if true then (exit code of action = 0) else false)}
appendfile /bin/systemctl restart firewalld
endif
endif
if {exists rpm “iptables”}
appendfile sed -i -n ‘1h;1!H;${{;g;s/filter\n(:[^\n]\n)/&-A INPUT -m state --state NEW -m tcp -p tcp --dport {value of setting “_WebUI_Redirect_Port” of client} -j ACCEPT\n/g;p;}’ /etc/sysconfig/iptables
appendfile sed -i -n '1h;1!H;${{;g;s/filter\n(:[^\n]\n)
/&-A INPUT -m state --state NEW -m tcp -p tcp --dport {value of setting “_WebUI_HTTPS_Port” of client} -j ACCEPT\n/g;p;}’ /etc/sysconfig/iptables
wait /sbin/service iptables status
if {exists true whose (if true then (exit code of action = 0) else false)}
appendfile /sbin/service iptables restart
endif
endif
wait /bin/sh __appendfile
delete __appendfile
parameter “webuiDataDir” = “/var/opt/BESWebUI/WebUI"
if { not exists folder ( parameter “webuiDataDir” ) }
folder create { parameter “webuiDataDir” }
endif
//Run WebUI configuration step
createfile until EOF
#!/bin/bash
LD_LIBRARY_PATH=/opt/BESWebUI/bin /opt/BESWebUI/bin/BESWebUI “$@“
EOF
wait /bin/sh __createfile --configure --hostname=”{parameter “dbHostname”}” --domain=”{parameter “dbUserDomain”}” --user=”{parameter “dbUserName”}” --password=”{parameter “dbPassword”}" --instance="{parameter “dbInstance”}" --port={parameter “dbPort”} --directory="{parameter “webuiDataDir”}"
delete __createfile
//Enable usage of Enterprise database
setting “_WebUIAppEnv_USE_BFENT”=“1” on “{parameter “action issue date” of action}” for client
//Restart WebUI service
wait service beswebui restart
endif

Looks like you are hitting a problem with this:
//Stop if the installer did not copy the exe file
parameter “webUIServiceExe” = "{parameter “webUIDir”}\WebUIService.exe"
continue if {exists file (parameter “webUIServiceExe”)}

Which hints at suggesting that the executable for the WebUI service was not installed. Therefore I would check for earlier errors (e.g. was the download of the installer successful) or issues with your environment, e.g. you tried the installation and set an install path with is not valid anymore, {parameter “webUIDir”}.

If you can’t find the culprit I’d suggest to open a case for support.

Hi rgangemi… Thank you so much for your reply. I’ll check these things and I’ll let you know about the findings/resolution …

Hi rgangemi… Thank you so much for your reply. I’ll check these things and I’ll let you know about the findings/resolution …

I’ve honestly never had much luck installing the WebUI through the Task, and have always had to resort to installing it manually. You can work with Support to try to get it resolved, but if you need it soon or are up for experimenting you can try this.

On the BES Root Server, manually create the credential certificates for WebUI:

besadmin /createwebuicredentials /webuihostname=BFI-Win /webuicertdir=e:\BES-Keys\webui

Copy the new keys to the new WebUI server.
Get the WebUI installer file from the same URL from which the task is downloading it, and run it manually on the new WebUI server. When it asks for the credentials/keys, give it the path to which you’ve copied them.

I find that even when supplying the path, it doesn’t always create the target directory where they should go. So you may need to manually create the ‘cert’ folder beneath the WebUI directory and copy the keys there after installing, then restart the WebUI service.
The first service startup is going to take a long time as the root server has to gather new sites, and the WebUI server has to get them from your root server.

In the WebUI directory, check ‘service-wrapper.log’ for status info during early initialization. Note any messages there, especially if there’s anything about bad credentials or missing database connections.

One more reason to open a case to have this fixed by development :slight_smile:

The WebUI install fixlet is broken or at least it was when I last used it (March 2019). It’s to do with the certificate generation or something like that (it’s getting a bit fuzzy) and it started from one of the more recent versions of the WebUI - with the help of AVP/Support I was able to install it by using the .exe within the BESInstallers folder. Give it a try from there if you can’t make it work open a support case as suggested above.

Along with the recent 9.5.13 refresh, there are some changes to the WebUI installation fixlet to make it more robust. So I would give it a try.
However, please open a support case for tracking this issue otherwise we’ll never be able to nail down the root cause of this specific problem.

Did anyone try the WebUI 9.5.13 installation Fixlet ? We believe this it fixed the issue.

No yet, but I’ll update when I try it…

WebUI Service Insallation 9.5.12.68 Failed

Well i did tried the installation by downloading the package and do it manually. The installation process ask for all necessary parameters and finished flawless. Now I got WebUI… thank you all for the continuous support and patience.

Glad to see that and thanks for sharing. What you experienced seems to be something fixed in 9.5.13.