Options in Details

Server

Tweaking CrossBox Server to fit your needs is as easy as enabling and disabling features with a simple checkbox click. CrossBox will auto-detect if some kind of a control panel is already installed on the server and will auto-adjust itself. Here we have listed all the options and associated help descriptions.   

Hostname

CrossBox will try to automatically resolve a hostname of the server it's being installed onto.

However, make sure that before installing CrossBox you have a valid PTR (Reverse DNS) record that matches your hostname and that your hostname can be successfully resolved.

You will not be in able to change the hostname after installation.

Public IP Address

CrossBox will try to automatically resolve an IP address of the server it's being installed onto.

Reverse Proxy URL

You can skip this option if you're installing CrossBox on port 80 (HTTP) and port 443 (HTTPS), or you don't mind accessing CrossBox via a port in the URL.

If you are installing CrossBox on a port different from 80 or 443, you can reverse proxy via a domain that you enter here. This is useful if you have something like a website already running on ports 80 and 443, but you still want to access CrossBox without entering a port in the URL.

For example, you can have a server with a hostname (server1.my-domain.com) running multiple websites (example.com, something.com) on port 80 and 443. Usually, when you install CrossBox on a server like this one, you must choose a port that differs from those two, because they are already in use. When this is the case, you must use HTTP(S):// Hostname: Port to access CrossBox.

However, if you don't like having a port in your CrossBox URL, you may enter a domain (or a subdomain) from which you can reverse proxy to CrossBox. In the above example, you would install CrossBox on server.my-domain.com:1703 and then you would reverse proxy from some-domain.com to server.my-domain.com:1703. By entering some-domain.com as a Reverse Proxy URL, you are telling CrossBox to allow connections coming in from some-domain.com. This will give you the ability to access CrossBox without entering a port and just by visiting HTTP(S)://some-domain.com.

Reverse proxy from Apache to CrossBox

CrossBox by default runs only an SSL version. The following configuration will:

  • Redirect from HTTP to HTTPS
  • Make a proxy pass from some-domain.com to CrossBox installed and running on port 1703
# HTTP
<VirtualHost *:80>
	ServerName some-domain.com
	# Redirect any HTTP request to HTTPS
	RewriteEngine On
	RewriteCond %{HTTPS} off
	RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

# HTTPS
<VirtualHost *:443>
	ServerName some-domain.com
	SSLEngine on
	SSLCertificateFile /path/to/your/certificate.crt
	SSLCertificateKeyFile /path/to/your/certificate.private_key
	SSLCertificateChainFile /path/to/your/certificate/chainfile.crt
	# Reverse proxy configuration
	<Location />
		ProxyPass http://127.0.0.1:1703/
		ProxyPassReverse http://127.0.0.1:1703/
	</Location>
</VirtualHost>

Make sure you modify ServerName, certificate parts, and CrossBox port to match your own installation. Note that some-domain.com is the domain you are reverse proxying from.

Reverse proxy from .htaccess to CrossBox

It is also possible but not advisable to do a reverse proxy from a .htaccess file by using mod_rewrite:

RewriteEngine on
RewriteRule  (.*)  https://127.0.0.1:1703/$1  [P,L]

Reverse proxy from Nginx to CrossBox

server {
	listen 80;
	server_name some-domain.com;
	charset utf-8;
    # Redirect any HTTP request to HTTPS
	return 301 https://some-domain.com$request_uri;
}
server {
	listen 443;
	server_name some-domain.com;
	charset utf-8;
	ssl on;
	ssl_certificate /path/to/your/certificate.pem;
	ssl_certificate_key /path/to/your/privkey.pem;
    # Reverse proxy configuration
	location / {
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-Proto https;
		proxy_set_header X-Forwarded-For $remote_addr;
		proxy_set_header X-Forwarded-Host $remote_addr;
		proxy_pass https://127.0.0.1:1703;
	}
}
App Port

Enter a Port number that CrossBox will bind to and listen on. If you are using the server only for CrossBox, and you don't have anything else running on ports 80 and 443, you can safely use those. If, however, these ports are already taken, you can enter a custom Port number. In the case when you have to use ports different from 80 and 443, but you still want to access CrossBox without entering a port in the URL, you can do so by making a Reverse Proxy URL.

You will not be in able to change the App Port after the installation.

WebSocket Port

WebSocket service serves as message passing between the server and various connected clients. The default WebSocket Port is 8349.

You will not be in able to change the WebSocket port after the installation.

SSL

We strongly recommend that you enable the SSL feature. Not only it will help protect data being sent over the network from prying eyes, it is also needed for audio and video calls to work. It is very easy to set up and you have four options to choose from:

  • Generate SSL certificates automatically (by using Let's Encrypt Certbot)
  • Select from auto-detected list (will scan the system for existing certificates) - this is visible if the installer detects SSL certificates
  • Enter .crt/pem .key paths (lets you enter paths to certificate files)
  • Upload .crt/pem and .key files (lets you upload certificate files)
TURN/STUN Server

CrossBox uses Coturn as a fast and reliable TURN/STUN server. It is responsible for streaming audio and video data during the CrossBox audio/video conference and for relaying media traffic when persons attending the call can't reach each other directly via a peer-to-peer protocol. This is most often the case when the person is behind a corporate firewall.

Overall, enabling a TURN/STUN server will greatly improve the quality of audio and video calls. The CrossBox Installer will give you the ability to choose if you wish to enable TURN/STUN integration and will also allow you to decide where it should be hosted. You can choose to install it on the same server as CrossBox or you can enter an external server to offload audio and video streaming to a separate machine in the case you have thousands of concurrent calls being made.

If you plan on having more than 50 people streaming audio and video at the same time, please make sure that you allocate enough CPU/Network resources for your TURN/STUN server. The other approach would be to offload media streaming to a Coturn server hosted on another machine, by choosing "Use external coturn server" and filling in Host and SSL Host fields.

Coturn Non-SSL Port

Enter a non-SSL port that Coturn will use. The default Coturn non-SSL port is 3478.

Coturn Port

Enter an SSL port that Coturn will use. The default Coturn SSL port is 5349.

Coturn UDP Port Range

You may leave the default value. If not, please enter a port range in format 12345:13456. The default value is 49152:65535.

Updates

CrossBox has a built-in update system that keeps your installation up to date and automatically updates CrossBox when new updates are available.

At what hour to perform an update

Enter an hour when you wish to check for updates. Uses a 24h format and accepts a number between 0 and 23. 0 means 00:00.

Application Limits
Max Number of Workers

Max number of CPU cores that the application will utilize. Depending on the application traffic/usage you can specify a maximum number of workers based on the number of cores your server has.

Each worker takes about 70-100 MB of RAM.

Max Request Size

In megabytes, enter maximum request body size that the end user can send. For example, users won't be able to upload a file larger than what's defined here. The default value is 1024MB.

CrossBox Administration
Admin Username

The default is "admin".

Admin Username cannot be changed after the installation.

Admin E-mail Address

Admin e-mail address. You may use any email address you want.

Admin Password

This password should be very complex.

Admin Area URL

Used for hiding your admin area from prying eyes. Make it difficult to guess.

Admin Area URL cannot be changed after the installation.

MySQL

Use CrossBox MySQL database

Enable if you don't have a MySQL server already running on the server. If you enable this feature, CrossBox will use its own MariaDB server for storing users' data. Otherwise, it will try to connect to a MySQL server already running on the system and use that server for storing data.

Mail

Enable mail server integration
CrossBox has two ways of integrating with a mail server:
  1. Use the mail server already running on the machine (when installing on a cPanel/Plesk server)
  2. Automatically install and set up a CrossBox mail server (when installing a bare metal/standalone version)

In the first case, the installer will try to find locally available IMAP/SMTP servers and use those for everything related to email.

In the second case, you'll be able to enable or disable following mail server features:

Enable Anti-Virus Service

Enable this if you want an anti-virus to scan emails for malicious content. Currently, only ClamAV is supported. If you have ClamAV already running on the server, CrossBox will use that one automatically.

ClamAV requires 600 MB of RAM.

Enable Anti-Spam Service

Enable this if you want an anti-spam service to check whether the e-mail being sent/received is spam or not. Automatic spam/ham learning is also enabled with this service.

Enabling this service requires an additional 250 MB of RAM.

E-mail Message Max Size

Enter the maximum allowed email message size in megabytes. Generally, it should not exceed 50MB.

Automatically create postmaster@ and admin@

This can save you some time by creating often needed email addresses automatically for you.

Features

Google Analytics

To track App usage in real time you need to enter a valid Google Analytics Tracking ID in UA-XXXXX-Y format.

Chat Channel Max Participant Count

The maximum number of participants allowed in a chat channel. Increase this if you plan on having more than 50 persons attending. This is a per one channel (room) limitation.

Audio/Video Chat Channel Max Participant Count

The maximum number of participants allowed in an Audio/Video call. Increase this if you plan on having more than 50 persons joining in with their cameras and microphones active. This is a per one channel (room) limitation.

Branding

Branding is a great way to white label CrossBox as your own product or service. You can give it a custom name, upload your own logo and change the color scheme to best match your brand. Also, branding addon allows you to have a fully branded CrossBox Client Apps (Web, Desktop, Android & iOS).

Branding feature is most useful for service and hosting providers.

App Name

Enter a custom name for the application.

App Name cannot be changed after the installation.

App Description

Enter a custom Application slogan or a motto. This is usually shown beneath the App Name.

App Description cannot be changed after the installation.

App Product URL

URL of the web page advertising the application. Users are taken to this URL when they want to find out more about the App.

App Product URL cannot be changed after the installation.

Default Language

Choose a default language for the App. If you want to add your own language, you can do so by translating a language file and sending it back to us. We will then ship it with the next App update.

Theme

Lets you brand the App with your own color scheme. Apart from that, you can also upload your own App logo. Image for the logo should be in a PNG format with 1024x1024 px dimensions. CrossBox will then use that image to create logo versions of different dimensions used throughout the application.

iOS and Android App Settings

iOS and Android sections let you define App manifests that Apple and Google stores require when publishing the Apps. You will need to fill in a couple of details:

  • App Identifier (This is the Application ID. For example, com.example.appname)
  • App Author (The name of the Author)
  • App Author E-mail (E-mail address of the author)
  • App Support URL (URL where you provide customer support)
Push Notifications

This enables push notifications for your branded CrossBox Android and iOS Apps. They keep your end users up to date with new emails, chats, calls, files, and reminders. 

GCM is not recommended anymore. Please use FCM - Firebase Cloud Messaging. We strongly recommend that you use FCM for both Android and iOS versions.

When using FCM, you need to obtain FCM Sender ID and FCM Key. Please follow this blog post to find out how to obtain these.

If, however, you must use GCM, then you'll need to fill in GCM Sender ID and GCM Key. To obtain these, please start here.

We do not recommend using APNs, use FCM instead. If you insist on using APNs, then you'll need to obtain APNs certificate as explained in "Generate an APNs client TLS certificate" and then upload it by using "Upload APNs Certificate" upload box during the installation.