# Advanced Configuration

{% hint style="info" %}
This is the legacy v1.x documentation. For the latest Glyptodon documentation please visit: <https://docs.keeper.io/glyptodon>
{% endhint %}

Apache Guacamole is configured using files within the `/etc/guacamole` directory, commonly referred to as `GUACAMOLE_HOME`. The two primary components of the Apache Guacamole stack, guacd and the Guacamole web application, both have their own dedicated configuration files within `/etc/guacamole`. Glyptodon Enterprise includes default, skeleton versions of these files.

| Filename                                                                                                                  | Description                                                                                                                                                                                                                                                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`/etc/guacamole/guacd.conf`](https://docs.keeper.io/glyptodon-1.x/advanced-configuration/guacd.conf)                     | The configuration file for the Apache Guacamole proxy daemon, "guacd". This file and the guacd service are provided by the `glyptodon-guacd` package.                                                                                                                                                                                  |
| [`/etc/guacamole/guacamole.properties`](https://docs.keeper.io/glyptodon-1.x/advanced-configuration/guacamole.properties) | The configuration file for the Apache Guacamole web application. This file and the Guacamole web application are provided by the `glyptodon-guacamole` package.                                                                                                                                                                        |
| `/etc/guacamole/user-mapping.xml`                                                                                         | <p>An XML mapping of users to connections which Apache Guacamole can use by default without any additional extensions, primarily intended for initial testing. A skeleton version of this file is provided by the <code>glyptodon-guacamole</code> package.</p><p><strong>Production use of this file is not recommended.</strong></p> |

### Installing and configuring included extensions <a href="#id-.advancedconfigurationv1.x-installingandconfiguringincludedextensions" id="id-.advancedconfigurationv1.x-installingandconfiguringincludedextensions"></a>

Supported extensions, such as those provided by the Glyptodon Enterprise packages, are installed through installing their corresponding packages. If using [the glyptodon/guacamole Docker image](https://docs.keeper.io/glyptodon-1.x/deploying-using-docker/glyptodon-guacamole), extensions are automatically installed using the above packages depending on the environment variables provided when the container is first started.

| Extension                                                                                                                                                   | Package name                               | Docker image environment variables                                                                                                            |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| [Active Directory / LDAP support](https://docs.keeper.io/glyptodon-1.x/authentication/authenticating-users-with-ldap)                                       | `glyptodon-guacamole-auth-ldap`            | [`LDAP_*`](https://docs.keeper.io/glyptodon-1.x/deploying-using-docker/glyptodon-guacamole#id-.glyptodon-guacamolev1.x-ldapldap_)             |
| [MySQL / MariaDB database support](https://docs.keeper.io/glyptodon-1.x/authentication/using-guacamole-with-a-mysql-database)                               | `glyptodon-guacamole-auth-jdbc-mysql`      | [`MYSQL_*`](https://docs.keeper.io/glyptodon-1.x/deploying-using-docker/glyptodon-guacamole#id-.glyptodon-guacamolev1.x-mysqlmysql_)          |
| [PostgreSQL database support](https://docs.keeper.io/glyptodon-1.x/authentication/using-guacamole-with-a-postgresql-database)                               | `glyptodon-guacamole-auth-jdbc-postgresql` | [`POSTGRES_*`](https://docs.keeper.io/glyptodon-1.x/deploying-using-docker/glyptodon-guacamole#id-.glyptodon-guacamolev1.x-postgrespostgres_) |
| [Duo two-factor authentication](https://docs.keeper.io/glyptodon-1.x/security/using-duo-for-multi-factor-authentication)                                    | `glyptodon-guacamole-auth-duo`             | [`DUO_*`](https://docs.keeper.io/glyptodon-1.x/deploying-using-docker/glyptodon-guacamole#id-.glyptodon-guacamolev1.x-duoduo_)                |
| [Encrypted JSON authentication](https://docs.keeper.io/glyptodon-1.x/integrating-glyptodon-enterprise/providing-connection-data-from-external-applications) | `glyptodon-guacamole-auth-json`            | [`JSON_*`](https://docs.keeper.io/glyptodon-1.x/deploying-using-docker/glyptodon-guacamole#id-.glyptodon-guacamolev1.x-jsonjson_)             |

The Glyptodon Enterprise packages for supported extensions will automatically create symbolic links to install themselves and any needed libraries/drivers. **You do not need to manually create links, copy files, etc. for the extensions which are provided within the Glyptodon Enterprise repository.**

### Installing custom / third-party extensions <a href="#id-.advancedconfigurationv1.x-installingcustom-third-partyextensions" id="id-.advancedconfigurationv1.x-installingcustom-third-partyextensions"></a>

Custom extensions, such as[ custom branding provided as part of a Glyptodon Enterprise subscription](https://docs.keeper.io/glyptodon-1.x/scope-of-support#id-.scopeofsupportv1.x-custom-brandingcustom-brandingcustombranding), are installed by placing their corresponding .jar files within `/etc/guacamole/extensions`. If those extensions require additional libraries, such as JDBC drivers, the .jar files for those libraries are placed within `/etc/guacamole/lib`.

| Filename                     | Description                                                                                                                                                                             |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `/etc/guacamole/extensions/` | The directory in which extension .jar files should be placed. Tomcat must be restarted after extension .jar files are added or removed.                                                 |
| `/etc/guacamole/lib/`        | The directory in which library .jar files required by installed extensions should be placed. Libraries within this directory will be available within the classpath for all extensions. |

Note that support is not provided for custom extensions with the following exceptions:

* [Branding extensions which we have provided as part of a subscription](https://docs.keeper.io/glyptodon-1.x/scope-of-support#id-.scopeofsupportv1.x-custom-brandingcustom-brandingcustombranding)
* [Subscriptions which explicitly extend support to include custom / third-party extensions](https://docs.keeper.io/glyptodon-1.x/scope-of-support#id-.scopeofsupportv1.x-integration-consultingintegration-consultingintegration-deploymentconsulting)

### Applying custom branding <a href="#id-.advancedconfigurationv1.x-applyingcustombranding" id="id-.advancedconfigurationv1.x-applyingcustombranding"></a>

Custom branding is applied through branding extensions, such as [the branding extensions we provide on request as part of a Glyptodon Enterprise subscription.](https://docs.keeper.io/glyptodon-1.x/scope-of-support#id-.scopeofsupportv1.x-custom-brandingcustom-brandingcustombranding) If you have a custom branding extension and wish to apply that branding to your deployment of Glyptodon Enterprise, you must:

1. Remove the symbolic link to the default Glyptodon Enterprise branding, located at `/etc/guacamole/extensions/_glyptodon-enterprise-branding.jar`. The `glyptodon-guacamole` package considers the existence/absence of this link to be an aspect of configuration and is designed to allow this symbolic link to be removed. If using[ the glyptodon/guacamole Docker image](https://docs.keeper.io/glyptodon-1.x/deploying-using-docker/glyptodon-guacamole), this can also be accomplished by setting the `USE_DEFAULT_BRANDING` environment variable to "N".
2. Copy the extension's .jar file to `/etc/guacamole/extensions/`.
3. Restart Tomcat

You may need to clear cache within browsers that have already visited your deployment.

<br>
