CleanSpeak Installation

1. Download the Packages

This guide will assist you with installing CleanSpeak on your server (Linux, macOS, or Windows) and works equally well for development environments.

Log into the CleanSpeak website at https://account.cleanspeak.com/account/, navigate to the Licenses section, and click on Download CleanSpeak. You will need to download the CleanSpeak package that matches the operating system you will be installing CleanSpeak on.

2. Red Hat

Use the RPM bundle to install on a Red Hat system (including Fedora and CentOS). Execute this command to install the CleanSpeak RPM (replace with the correct <version> number):

$ sudo rpm -i cleanspeak-app-<version>.rpm

3. Debian

Use the DEB bundle to install on a Debian system (including Ubuntu, Mint, and Debian base). Execute this command to install the CleanSpeak DEB (replace <version> with the correct version number):

$ sudo dpkg -i cleanspeak-app-<version>.deb

4. macOS

To install on macOS, use the ZIP bundle. Extract the CleanSpeak ZIP file anywhere on the file system. Remember where you extract the file. This location will be referred to as CLEANSPEAK_HOME. We suggest extracting this file to a directory like /usr/local/cleanspeak.

You can install CleanSpeak in any directory including your home directory. This is a good choice for development machines or when you don’t have or want to use sudo to install CleanSpeak.

Once the zip bundle has been extracted, the directory structure should look similar to this. If you installed somewhere other the default CLEANSPEAK_HOME, your directory structure will be different, this is only for shown as an example.

/usr/local/cleanspeak/config
/usr/local/cleanspeak/config/cleanspeak.properties
/usr/local/cleanspeak/cleanspeak-app

5. Windows

To install on Windows, use the ZIP bundle. Extract the CleanSpeak ZIP file anywhere on the file system. Remember where you extract the file. This location will be referred to as CLEANSPEAK_HOME. We suggest extracting this file to a directory such as C:\cleanspeak on Windows.

Once the zip bundle has been extracted, the directory structure should look similar. If you installed somewhere other than the default CLEANSPEAK_HOME, your directory structure would be different, this is only shown as an example.

C:\cleanspeak\config
C:\cleanspeak\config\cleanspeak.properties
C:\cleanspeak\cleanspeak-app\

Next, install the Windows service by changing to the directory you installed CleanSpeak (i.e. C:\cleanspeak\cleanspeak-app\bin) and then running the install command. Here are those two steps:

C:\>cd C:\cleanspeak\cleanspeak-app\bin
C:\cleanspeak\cleanspeak-app\bin>CleanSpeakApp.exe /install

6. Service Name

As long as your installation method installed CleanSpeak as a service, the service name will be as follows:

Service Name

cleanspeak-app

You can use the operating system commands to start, stop and check the status of CleanSpeak using this service name.

7. Start CleanSpeak

Next, you need to start CleanSpeak so that you can enter Maintenance Mode and allow CleanSpeak to create the database. Use the instructions below to start CleanSpeak based on the platform you installed it on. Also, note that the CLEANSPEAK_HOME directory is where you installed CleanSpeak.

Maintenance Mode makes installation simple. However, sometimes it is not possible to use Maintenance Mode. For example, if you are doing an unattended install to a server. You can edit the CleanSpeak configuration files and install the database schema via the command-line using the Advanced Installation instructions below.

If you do not use Maintenance Mode to configure CleanSpeak, do not start CleanSpeak at this point. Instead, skip the to Advanced Installation section and then return to this section after you have configured CleanSpeak and the database via the command-line.

Linux (RPM or DEB package)
$ sudo systemctl start cleanspeak-app
macOS (ZIP package)
$ <CLEANSPEAK_HOME>/cleanspeak-app/bin/start.sh
Windows (ZIP package)
C:\cleanspeak\cleanspeak-app\bin>start.ps1
Windows Service
C:\> net start CleanSpeakApp

8. Maintenance Mode

You will access the CleanSpeak Maintenance Mode setup via the browser. If you installed CleanSpeak on your local machine, you’d access this interface by opening http://localhost:8001 in your browser. If CleanSpeak is running on a remote server, change the server name in the URL to match your server’s name.

The first step of Maintenance Mode will prompt you to to enter your database details with a screen like this:

Maintenance Mode Database Page

You will need to confirm that the database server name, port, database type, and name are all correct. Below these fields are the superuser username and password credentials. You need to supply CleanSpeak with the username and password for a database user that has access to create new databases and schemas. Below this section are the username and password that CleanSpeak will use to connect to the database. You should ensure that all of these fields are correct and then hit the submit button.

After you hit submit, the next step of Maintenance Mode will prompt you to enter your license Id. You can retrieve your license Id from the CleanSpeak website by logging into your account here: https://account.cleanspeak.com/account/

You should see a screen that looks like this:

Maintenance Mode License Page

After you enter your license ID and your first user’s email address and password, CleanSpeak will be fully installed, configured, and running.

9. Advanced Installation

These instructions will assist you in editing the CleanSpeak configuration file and installing the database schema via the command-line. You can skip this section if you used Maintenance Mode to configure CleanSpeak.

9.1. Database Schema

Security

By default, the application is configured to connect to the database named cleanspeak on localhost with the user name cleanspeak and the password cleanspeak. For development and testing, you can use these defaults; however, we recommend a more secure password for production systems.

In the following examples, <root_user> is the name of the root user for your database. The <root_user> must be either the root user or a user that has privileges to create databases. For MySQL, this is generally a user named root; on PostgreSQL, this is generally a user named postgres. Run the following SQL commands to configure the database for use by CleanSpeak.

MySQL
# Create the cleanspeak database, replace <root_user> a valid superuser.
mysql --default-character-set=utf8 -u<root_user> -e "create database cleanspeak character set = 'utf8mb4' collate = 'utf8mb4_bin';"

# Grant cleanspeak all authority to cleanspeak database, replace <root_user> a valid superuser.
mysql --default-character-set=utf8mb4 -u<root_user> -e "grant all on cleanspeak.* to 'cleanspeak'@'localhost' identified by 'cleanspeak'" cleanspeak

# Create CleanSpeak schema, run this command from the directory where you have extracted the CleanSpeak Database Schema zip
mysql --default-character-set=utf8mb4 -ucleanspeak -pcleanspeak cleanspeak < mysql.sql
PostgreSQL
# Create the cleanspeak database, replace <root_user> a valid superuser.
psql -U<root_user> -c "CREATE DATABASE cleanspeak ENCODING 'UTF-8' LC_CTYPE 'en_US.UTF-8' LC_COLLATE 'en_US.UTF-8' TEMPLATE template0"

# Note, if installing on Windows, the Encoding values are different, replace the previous command with this version.
psql -U<root_user> -c "CREATE DATABASE cleanspeak ENCODING 'UTF-8' LC_CTYPE 'English_United States' LC_COLLATE 'English_United States' TEMPLATE template0;"

# Grant cleanspeak all authority to cleanspeak database, replace <root_user> and <password> with valid superuser credentials.
psql -U<root_user> -c "CREATE ROLE cleanspeak WITH LOGIN PASSWORD '<password>'; GRANT ALL PRIVILEGES ON DATABASE cleanspeak TO cleanspeak; ALTER DATABASE cleanspeak OWNER TO cleanspeak;"

# Create CleanSpeak schema, run this command from the directory where you have extracted the CleanSpeak Database Schema zip
psql -Ucleanspeak cleanspeak < postgresql.sql

9.2. Configuration

Before starting CleanSpeak for the first time, you’ll need to add your license Id and verify your database connection in the CleanSpeak configuration. The name of this file is cleanspeak.properties.

The configuration file may be found in the following directory, assuming you installed it in the default locations. If you have installed it in an alternate location, the path to this file will be different.

Windows

C:\cleanspeak\config

macOS or Linux

/usr/local/cleanspeak/config

For more information about the other configuration options found in this file, see the Configuration Reference section.

Find the license Id field at the top of this configuration file and enter your license Id. You can find your License Id by logging into your account at https://account.cleanspeak.com/account/.

License Id
license.id=

Find the default database JDBC URL, username, and password values, and verify this information is correct. The default JDBC URL is configured for MySQL. If you’re using PostgreSQL, you’ll need to update the URL. See the database URL property documentation in the Configuration Reference for more information.

Database Configuration
database.url=jdbc:mysql://localhost:3306/cleanspeak
database.username=cleanspeak
database.password=cleanspeak

CleanSpeak should now be configured, the database should be created, and everything should be ready to run. You can start CleanSpeak using the instructions in the Start CleanSpeak section above.