This step-by-step guide is intended to outline the main steps for the automated WebSpellChecker application installation on Linux utilizing Apache HTTP Server. In this guide we will run you through the whole installation process from creating configuration file to embedding spell/grammar checking functionality to your web-based system.

Before you begin:

  1. Check if your environment configuration meets Installation requirements.
  2. Acknowledge with Architecture diagram.
  3. Make sure that you have a valid license:

    First of all you need to get a valid License Ticket ID to proceed with the license activation. Depending on the server license type, it may be a commercial (e.g. 1 year) or a 30-day trial license. Except the validity period, there is no difference between ticket types from the technical perspective.

    Good to know:

    • If you do not have a license yet, you can obtain it using one of the following ways:
    • Starting from v5.8.1 released on December 30, 2020, the license is no longer validated by or tied to the hardware characteristics of a machine or server. License for older versions of the packages is hardware-dependent. 
    • If you are migrating WebSpellChecker from one server to another, you will need to deactivate (detach) a license on the current server and then reactivate it on a new one. Check carefully the Migrating License to New Server guide under the Licensing section.
    • If you have problems with your license, contact us.

1. Create configuration file

Before you run the script, you need to prepare a special configuration file and specify proper values for all the required installation parameters. This information will be used by the script for the automated installation of the WebSpellChecker application on your server.

1.1. Configuration file syntax

  • Configuration file has a simple structure resembling *.ini files. 
  • Each row of the file should contain one parameter with an assigned corresponding value.
  • You are allowed to use indentation, spaces, and tabs and add blank lines.
  • You can comment some of the parameters using a hash sign “#” at the very beginning of the row with a parameter name (e.g. #activate_license = 1).

Below is an example of a simple configuration file that can be used for the automated installation of the application on a Linux-based server using Apache HTTP Server assuming that you will be using the WProofreader product or Web API over HTTPS.

install_path = /opt/WSC/ 
products = 1
file_owner = 33:33
protocol = 1
certificate_file = /opt/WSC/cert/cert.pem
certificate_key_file = /opt/WSC/cert/key.pem
certificate_password = ***************
service_port = 2880
domain_name = localhost
web_port = 443
virtual_dir = wscservice
web_server_type  = 1
apache_auto_enable_modules = 1
activate_license = 1
license_ticket_id = ***************

1.2. Configuration file parameters

Table below lists all available parameters and their possible values that you can use in the configuration file. Some of the parameters are mandatory and must be defined. The rest of the parameters are optional. If you do not define values for the optional parameters, they will be either auto-defined by the script, or the default values will be used accordingly. 


Parameter Type

Default ValuePossible ValuesDescription
  • /opt/WSC/
  • Any other appropriate location on the server
The parameter defines the installation path for the application.
  • 0 – Do not create a backup file
  • 1 – Create a backup file (WSC.bak)
The parameter is responsible for a backup file creation. If you have an existing copy of the application in the specified install_path, the script will reserve the whole folder in a WSC.bak file.


  • user:group (e.g. 33:33)

The parameter sets permissions for the application. It should define the files ownership, a user and group in the user:group format.

  • 1 – WProofreader(HTML Editable Controls, CKEditor 4/5, Froala Editor, TinyMCE, Quill, etc.)
  • 2 – Web API
  • 3 – SCAYT Plugin for CKEditor 4
  • 4 – WSC Dialog Plugin for CKEditor 4
  • 5 – Select all products

The parameter defines which product and components to install. It is not recommended to install all products but make your choice carefully. WSC Dialog Plugin for CKEditor 4 requires setup of the additional FastCGI modules.

Use coma as a separator for multiple options. 

  • 0 – None
  • 1 - AI-based English (en_AI)
  • 2 - AI-based German (de_AI)
  • 3 - All

Specifies what languages to install. Use coma as a separator for multiple options. 

NEW | 5.8.1

  • 0 – Do not install Demo Samples and Documentation.
  • 1 – Install Demo Samples and Documentation.
The parameter defines whether the demo samples and documentation should be installed.
  • 1 – HTTPS
  • 2 – HTTP

  • /cert.pem
The parameter defines the path to the SSL certificate file (*.pem). Required for SSL connection setup.
  • /key.pem
The parameter defines the path to the private key file (*.pem). Required for SSL connection setup.
  • password if any
Some SSL certificates are password-protected. 
  • Any available port number in a range [1-65535]
The parameter defines the WebSpellChecker service port number. This is the port of AppServer.
  • Your domain name (e.g.

13web_portMandatory443 or 8443
  • Any available port number in a range [1-65535] of your web server or Java application server. Here are some common ports:
    • 443
    • 80
    • 8443
    • 8080

The parameter specifies the port number of web server or Java application server.

  • Any string 

  • 1 – Apache HTTP Server
  • 2 – Java Application Server (Apache Tomcat, Oracle WebLogic Server, Oracle GlassFish Server, etc.)
  • 3 – Other
The parameter specifies a type of web or application server which will be used for the application server running.
  • Path to Java Virtual Machine (JVM)
The parameter defines the pass to Java Virtual Machine (JVM) that is mandatory for the grammar engine. During the final steps of setup, the AppServer will try to autodetect the path to JVM and add it to the settings. However, using the parameter you can predefine which version of JVM should be used.
  • 0 – Skip the license activation step.
  • 1 – Run the license activation step.
The parameter defines whether to run the license activation process. You can skip the license activation step if you have already activated a license or you prefer to proceed with the license activation step later.
  • Your valid license ticket ID. It can be a trial (30 day) or a commercial license (1 year).
The parameter specified a License Ticket ID that will be used during the license activation procedure.
19apache_versionOptionalCurrent Apache HTTP Server version installed
  • 2.2.x
  • 2.4.x
The parameter defines the current version of Apache HTTP Server.
20apache_config_dirOptionalCurrent Apache HTTP Server configuration directory
  • /etc/apache2
  • /etc/apache2/conf.d
The parameter defines location of the Apache HTTP Server configuration file (httpd.conf). It can be auto-defined by the installation script.
  • 0 – Do not install a generic mod_fastcgi module shipped with the installation package.
  • 1 – Install a generic mod_fastcgi from the package.

The parameter installs a generic mod_fastcgi module which is shipped with the installation package. 

The mod_fastcgi module is required for the proper work of the application. 

It is recommended to use a certain external mod_fastcgi module which is specifically tailored for your system. However, you may decide to stick with a generic one shipped with the package.

This parameter is needed when installing the WSC Dialog plugin for CKEditor 4.





  • 0 – Do not enable extra modules.

  • 1 – Enable all required extra modules.

The parameter enables additional Apache HTTP Server mod_mime and mod_headers modules. They are required for a proper work of the application.





  • 0 – Do not restart Apache HTTP Server.

  • 1 – Restart Apache HTTP Server.

The parameter is responsible for restart of Apache HTTP Server. It is required for changes to take effect.

  • 0 - Do not enable the floating licensing
  • 1 - Enable the floating licensing

NEW | 5.5.9


Enable the floating licensing mechanism.

Host name/IP address of a license server and its port, e.g.

NEW | 5.5.9


A host name/IP address and port number of a license server.

  • 0 - Do not enable SSL connection between a license server and a client node of WebSpellChecker.
  • 1 - Enable SSL connection

NEW | 5.5.9


Enable SSL connection between a license server and a client node of WebSpellChecker.

  • 0 - Do not enable proxy server.
  • 1 - Enable proxy server.


Enable proxy server connection.



Proxy server host name or IP address.



TCP port number for proxy server.



User name to access proxy server.

  • password if any


User password to establish connection with proxy server.

2. Run automated install script

As soon as a configuration file with all the required parameters is defined, you need to run the script with the install_config.ini configuration file as a first parameter as follows:

$ sudo ./ install_config.ini


$ sudo perl install_config.ini


If you specified a non-existing parameter in the configuration file, the automated installation will instantly fail, and throw an error message indicating an incorrect parameter. Moreover, with an incorrect  parameter, the script may suggest possible valid parameters and their default values. However, if there is an error in a specified value, the installation will fail only on the specific step and might not give you a clear message for error handling.

3. Activate license

If you assigned “1” as a value for the activate_license parameter, the installer will attempt to activate a license automatically using a license ticket ID.

The automatic license activation mode requires the Internet connection available on the machine where you are trying to install WebSpellChecker.

Otherwise, you need to proceed with the license activation procedure according to the License activation on Linux manually.

4. Verify operability

Now you are ready to check if the installation process of the application went well, and all the components are functioning properly. Check the application version, status, and access to the demo samples to verify if the application works properly after the installation.

  1. Verify Version: http(s)://localhost:2880/?cmd=ver 
  2. Verify Status: http(s)://localhost:2880/?cmd=status
  3. Access default demo samples: http(s)://localhost/wscservice/samples/

Do not use 2880 port when accessing samples or other statics files like wscbundle.js file as such files will be processed by a selected web server or Java application server. 2880 is a port that WSC AppServer listens to and which is designed to process service requests (check spelling, grammar and others).

Find the correct responses for the application version and status below.

WebSpellChecker Server Status

Here is a correct status response of WebSpellChecker Server:

    "SpellCheckEngine": {
        "active": true
    "GrammarCheckEngine": {
        "active": true,
    "EnglishAIModel": {
        "active": true
    "GermanAIModel": {
        "active": true
    "SpanishAIModel": {
        "active": true,
    "EnglishAutocomplete": {
        "active": true,

WebSpellChecker Server Version

Here is a correct version response for WebSpellChecker Server 5.x.x.x on a Linux server:

    "Copyright": "(c) 2000-2023 WebSpellChecker LLC",
    "ProductWebsite": "",
    "ProgramVersion": "5.x.x.x x64 master:xxxxxxxx (xxxx) #xx",
    "PackageVersion": "5.x.x.x master:xxxxxxx (xxx) #xx"

WebSpellChecker Demo Samples

Here is the correct view of the WebSpellChecker demo samples:

5. Integrate WebSpellChecker

Integrate WebSpellChecker products into your web application.

Do not use 2880 port when accessing samples or other statics files like wscbundle.js file as such files will be processed by a selected web server or Java application server. 2880 is an internal port that WSC AppServer listens to and which is designed to process service requests (check spelling, grammar and others).

Option A. Integration Guides

Visit Products and integrations guides to learn more how to get started with WebSpellChecker products, one of them being WProofreader.


WProofreader is multilingual proofreading tool for web applications. It enables grammar and spell check while you type or work with your text in a dedicated dialog. It detects editable fields in focus, be it HTML editable controls or WYSIWYG editors, and enables spelling and grammar checking there. View the full list of supported integrations.

WProofreader benefits: 

With the Cloud-based version of WProofreader you can access and use its features without server-side installation. In the Server-based version, all the application data is securely processed on your own server. Refer to the Get started with WProofreader Server (autoSearch) guide for more details.

WProofreader allows users to see and correct spelling and grammar problems on the fly while they are typing directly in the text input field. Every misspelled word found will be underlined with a red wavy line and every grammar problem detected will be marked with a green one respectively. The user just needs to hover a marked word or phrase and replace it with a proper one from the list of given corrections.

Option B. Demo Samples

Depending on the type of elements, namely HTML native elements or rich text editors where the spelling and grammar check is needed, you may choose and use the demo samples that are shipped with the package. 

To access the default samples, go to http(s)://your_host_name:port/wscservice/samples/ where port is the port of your web server or Java application server. The default samples contains all the necessary samples and instructions that will help with the integration of the WebSpellChecker products. Moreover, each sample contains detailed development documentation with a list of methods and parameters available.