# Change CLI configuration

The CLI configuration contains the information required to communicate with the akamas server. It can be easily created and updated with a configuration wizard. This page describes the main options of the Akamas CLI and how to modify them.

## API Address

The CLI, as well as the UI, interacts with the akamas server via APIs. The `apiAddress` configuration contains the information required in order to communicate with the server.

The Akamas Server provides two different listeners to interact with APIs:

* a **HTTP** listener on port **8000**
* a **HTTPS** listener on port **8443**

For improved security, it is recommended to configure CLI communications with the Akamas Server over HTTPS. Notice that you need to have a valid certificate installed on your Akamas server (at least a self-signed one) in order to enable HTTPS communication between CLI and the Akamas Server.

## Changing CLI protocol <a href="#installingakamascommand-lineinterface-cli-configurationusingthecli" id="installingakamascommand-lineinterface-cli-configurationusingthecli"></a>

The CLI can be configured either directly via the CLI itself or via the YAML configuration file `akamasconf`.

### Using the CLI <a href="#installingakamascommand-lineinterface-cli-configurationusingthecli" id="installingakamascommand-lineinterface-cli-configurationusingthecli"></a>

Issue the following command to change the configuration of the Akamas CLI:

```bash
akamas init config
```

and then follow the wizard to provide the required CLI configuration:

* enable HTTPS communications:

```
Api address [http://localhost:8000]: https://<akamas server dns name>:8443
Workpace [default]: Workspace1
Verify SSL: [True]: True
Is external certificate CA required? [y/N]: N
```

* enable HTTP communications:

```
Api address [http://localhost:8000]: http://<akamas server dns name>:8000
Workspace [default]: Workspace1
```

Please notice that `Verify SSL` must be set to True only if you are using a valid certificate. If you are using a self-signed one, please set it to `False`. This will mimic the behavior of accepting a not valid HTTPS certificate on your favorite browser.

### Using the `akamasconf` file <a href="#installingakamascommand-lineinterface-cli-configurationusingtheakamasconffile" id="installingakamascommand-lineinterface-cli-configurationusingtheakamasconffile"></a>

Create a file and name it `akamasconf` to be located in the following location:

* Linux: `~/.akamas/akamasconf`
* Windows: `C:\Users\<username>\.akamas` (where C: is the drive where the OS is installed)

The file location can be customized by setting an `$AKAMASCONF` environment variable.

Here is an example `akamasconf` file provided as a sample:

{% code lineNumbers="true" %}

```
apiAddress: http[s]://<akamas server dns name>:8000[8443]
verifySsl: [true|false]
organization: akamas
workspace: default
```

{% endcode %}

The SSL certificate is only required if verifySsl is set to true. In this case the SSL certificate requires an external CA to be validated.
