h1. Web console

The Karaf web console provides a graphical overview of the runtime.
You can use it to:
* install and uninstall features
* start, stop, install bundles
* create child instances
* configure Karaf
* view logging informations

h2. Installing the web console

The web console is not installed by default.  To install it, run the following command from the Karaf prompt:

{code}
root@karaf> features:install webconsole
{code}

h2. Accessing the web console

To access the console for an instance of Karaf running locally, enter the following address in your web browser:

{code}
http://localhost:8181/system/console
{code}

Log in with the username {{karaf}} and the password {{karaf}}.  If you have changed the default user or password, use the one you have configured.

h2. Changing the web console port number

By default, the console runs on port 8181. You can change the port number by creating the properties file, {{etc/org.ops4j.pax.web.cfg}}, and adding the following property setting (changing the port number to whatever value desired):

{code}
org.osgi.service.http.port=8181
{code}
