C3Fire

Installation Troubleshooting Windows

From C3LearningLabs



Troubleshooting

Troubleshooting C3Fire Server

First, the system need to be installed on C:\ root, C:\C3LearningLabs\.

If you have problem starting the server you should use the C3FireServer.bat command to try starting the server, it generates some start information.

C:\C3LearningLabs\C3Fire\Server\C3FireServer.bat

When you have started the Server, and every thing works well two black command windows should have been started, one is the C3Fire Server and one is the Apache web server.

Server Start
C3Fire start up command window.

The C3Fire start up command window should end with C3Fire Server Running, The varning message text Unable to write uiDefaults and Exception in thread "AWT-EventQueue-0" is normal and not a problem. It appears when the windows system try to do a window update while the C3Fire window have not been totally constructed.

The C3Fire Server should also open the C3Fire Server user interface window. It should look like this.

C3Fire Server
C3Fire Server user interface window.

Send information to support
If some of the windows does not look like the three images above, then take a screen capture on the black command windows, and copy the process text in the C3Fire Server user interface window, and send it to support.



Troubleshooting Jetty Server

The C3fire environment uses an Jetty http server to distribute basic startup information. The Jetty server uses port 8380. A possible problem occur when the computers security system restrict the communication or does not allow the Jetty server use the port 8380.

Port 8380 is not a common used port, so it use to be free.
If not you can configure the server to use an other port.
First, try to surf with a web browser to the server using the port number 8380.
Example
local host http://127.0.0.1:8380/
or with the server's ip number xxx.xxx.xxx.xxx:8380
If you are lucky you will see the C3Fire web page.
If you are not able to surf to the web page then it can be a fire wall stopping the connection or the Jetty are not started.
To solve this problem you need to make sure to remove security restrictions and/or close the program that uses the port 8380.



Start Web Server Manually
The Jetty web server can be started with using the predefined batfile.
Go to folder <C3LEARNINGLABS-ROOT>\ApplicationServer\Jetty\C3Fire

Example: C:\C3LearningLabs\ApplicationServer\Jetty\C3Fire

Run:JettyStart-C3Fire-System-Windows.bat



Surf to : local host http://127.0.0.1:8380/


Recommended test
http://127.0.0.1:8380/


The browser should show the following page.

Web page



Detect what program that are using port 8380

A good way to detect what program that are using port 8380 is to use the program PowerShell if it exsit in you system or use the program CurrPort that is included in the C3Fire installation.

PowerShell
Start PowerShell by writing PowerShell in the windows search tool, Start PowerShell by pressing right mouse button, and select Run as Administrator.

C3fire-config-install-windows-search.png PowerShell

In the PowerShell detect what process that have bind the port 80. The process ID number can be found with the command:
netstat -ano | Select-String ":8380"

Then take this process ID number and get the process name with the following command:
Get-Process -Id process_ID

Example to get process name for process with ID number 9348 write. Get-Process -Id 9348

PowerShell


CurrPort
CurrPort is locate in the folder C:\C3LearningLabs\Tools\CurrPorts\cports.exe
When you start the program it will show you a window like this.

Skype

In this example you can see that the process on row 1 is using port 80.
Process Name = Skype, Process ID = 9348, Local Port = 80.
Skype using port 80, see below how to reconfigure Skype.

System

In this example you can see that the process on row 1 is using port 80.
Process Name = System, Process ID = 4, Local Port = 80.
This is a little bit tricky, because we do only now that the process is a System process, and you should not stop system processes. See below on examples of system processes using port 80, and how to solve it.


Stop process using port 80

If you can not turn off a program or reconfigure it you can try to stop the program or service.
Start PowerShell by writing PowerShell in the windows search tool,
then start PowerShell by pressing right mouse button, and select Run as Administrator, see above.

To open Service management in power shell run services.msc
services.msc

To stop a process, in power shell run the Stop-Process command:
Example stop Skype: Stop-Process -name skype
Example stop process with number 780: Stop-Process 780




Skype bind port 80

Skype are some times configured to bind port 80. Skype works fine without using port 80.

Windows 7 and Windows 10
To release port 80 in window 7 version, in Skype open menu Tools -> Options -> Advansed -> Connection,
and uncheck selection box Use port 80 and 443. See image below.

Skype using port 80




New Installed windows 10

In some Windows 10 installations, Skype Businesses is automatically installed for trial purpose. Even if you install a new free Skype, this trial installation can be running, and can in some situations bind port 80. Here is an example picture of when two Skype are installed at the same time.
2 Skype




Windows Remote Management

Deep Water
If the computer are managed by a technical department they probably want to remote manage the computers. In some situations they can configure the system to bind port 80. For system administration people, the default port are 5985 but can be changed to 80. See 'EnableCompatibilityHttpListener' at:





System Process using port 80 - http.sys

Deep Water
On Windows 7 there is a system service called http.sys that can be activated so that it bind port 80. That makes it impossible to run applications and services that haven't been integrated with this feature to also listen on port 80, like Apache HTTP Server.
If you have this problem you can get the following information when testing what program that are using port 80.

PowerShell
Process number 4 is the basic system process.

One solution is to let http.sys use to the ipv6 general address (named “::”) and thereby free up the local general ipv4 address. This is done with this command in Power shell.

Open Power shell as administrator, see above, and run command:
netsh http add iplisten ipaddress=::

If you want to undo the command run:
netsh http delete iplisten ipaddress=::

For more information see:





Example on programs that bind port 80

Example on programs that can bind port 80:

  • Skype
  • World Wide Web Publishing Service (W3SVC)
  • "SQL Server Reporting Service(MSSQLSERVER)"
  • IIS


Troubleshooting C3Fire Client

Old Versions

Run the configuration program

OLD DO NOT DO

The IP numbers can be set by running a program that updates the IP number in all C3Fire configuration files.
The configuration program is located in folder ...\C3LearningLabs\Tools\Config\.

Example: C:\C3LearningLabs\Tools\Config\


You should edit the configuration file for the configuration program. The configuration file is located at ...\C3LearningLabs\Tools\Config\config.xml.

Example : C:\C3LearningLabs\Tools\Config\config.xml.

Change the IP number in the argument that is labelled New and save the file.

Example, If your server computer have the ip number 192.168.1.2 :

<Search>
Replace Find="127.0.0.1" New="192.168.1.2"
</Search>
Run the configuration program config-win.bat
...\C3LearningLabs\Tools\Config\config-win.bat

The configuration program changes the IP number in all configuration files from the value in argument Find to the value defined in the argument New.

The config-win.bat file will generate a trace script as below.
Config Tools
Now, configuration is done. It is now time to try if the system is working on the server computer.

Configure C3Fire Client

OLD DO NOT DO

When the C3Fire server was configured it created the configuration files that the C3Fire clients need.

Copy the following files from the server to all clients:

From:  Server  <C3LEARNINGLABS-ROOT>\C3Fire\Client\Files\ROOT\C3FireClientConfig.xml
To:  Client  <C3LEARNINGLABS-ROOT>\C3Fire\Client\Files\ROOT\C3FireClientConfig.xml



Examlpe

From:  Server  C:\C3LearningLabs\C3Fire\Client\Files\ROOT\C3FireClientConfig.xml
To:  Client  C:\C3LearningLabs\C3Fire\Client\Files\ROOT\C3FireClientConfig.xml



Template:C3fire/Config/Install/Windows/Install Menu