This step-by-step guide is intended to outline the main steps for the WebSpellChecker application installation on a Security-Enhanced Linux with Apache HTTP Server. In this guide we will run you through the whole installation process from downloading installation packages to embedding spell/grammar checking functionality to your web-based system.

Before you begin:

  • Check if your environment configuration meets the WebSpellChecker System Requirements.
  • Make sure you have a valid WebSpellChecker license.

     Click here to expand...

    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 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:
    • WebSpellChecker license is hardware-based. Once the license is activated, it can't be reused again.
    • If you are migrating WebSpellChecker from one server to another, you need to migrate the license as well. Check carefully the WebSpellChecker application migration procedure.
    • If you have problems with your license, contact us.

1. Download Installation Package

Download WebSpellChecker application package for a corresponding version of your operating system (OS). By default, it is provided on a license purchase or maintenance renewal. You can also request it contacting us at

2. Install WebSpellChecker

2.1. Unpack the WebSpellChecker installation package (e.g. wsc_app_lix_x64_release_5.2.X.X_XX.tar.gz). Switch to the directory with the unpacked WebSpellChecker and execute the next command:

sudo perl

2.2. Select installation path. The default installation path is /opt/WSC. However, you may decide to change it and set a desired one. As soon as you defined the installation path, press Enter to proceed further.

Welcome to the WebSpellChecker (WSC) application installation wizard!

Before you go ahead with the installation, make sure that your environment configuration meets the WSC application system requirements.
If you are all set, please follow carefully the wizard instructions.


*Step 1: Change configuration settings.
Install path [/opt/WSC]:

2.3. Define permissions. Set appropriate permissions for the application. You should define the files ownership, a user and group in the user:group format (e.g. 33:33)

*Step 2: Copy the WSC files to the installation directory.
Step 3: Define the WSC application permissions.

Specify the files ownership, a user and group in the 'user:group' format. 
It can be the same user and group which are used for the Apache HTTP Server, i.e. 'www-data:www-data' or '33:33'.

Specify the files owner as user:group [nobody:nobody]: 33:33

2.4. Determine network settings. Specify a service protocol, hostname, port and virtual directory which will be used to access the application.

The default ports for Web Servers are 80 and 443 for HTTP and HTTPS protocols respectively.

*Step 4: Specify network settings.

Specify a service protocol, hostname, port and the virtual directory to access the WSC application.
i.e. 'http(s)://your_host_name:80(443)/spellcheck'

SERVICE_HOST: https://your_host_name:443/spellcheck

The following output confirms that all the network settings have been successfully applied:

* SERVICE_HOST 	= https://your_host_name:443/spellcheck
* PROTOCOL = https
* HOST = your_host_name
* PORT = 443
* VIRTUAL DIRECTORY = spellcheck

*Preparing the ssrv.ini configuration file.
*Installing the WSC application demo samples.
*Setting a specified service_host value in wsc_fck2plugin.js and wsc_ck2plugin.js files.

2.5. Choose Web or Application Server. The properly configured Web or Application Server is required for correct work of the application. 

  • Choose Apache HTTP Server to run WebSpellChecker on Apache HTTP Server (Option 1).
Step 8: Choose Web or Application Server type.

Select a particular Web or Application Server which will be used for the WSC application server running.

	1. Apache HTTP Server
	2. Java Application Server (Apache Tomcat, Oracle WebLogic Server, Oracle GlassFish Server, etc.)
	3. Other

Input the number from 1 to 3: 1
  •  Auto-detecting Apache HTTP Server parameters. The installation script will try to auto-detect the current version of Apache HTTP Server and path to its configuration file (httpd.conf).
    • Press Enter if the auto-determined version of Apache HTTP Server is correct, otherwise specify it manually.
    • Press Enter if the path to the Apache HTTP Server configuration directory is correct, otherwise specify it manually.
Auto-detecting the Apache HTTP Server parameters...
Press Enter to accept the auto-detected (if any) or enter your custom values.
Apache HTTP Server version is [2.2.22]:

Apache root dir is /etc/apache2
Apache HTTP Server configuration directory is [/etc/apache2/conf-available]:
  • Install the FastCGI module for Apache HTTP Server. Type Yes to install 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.

The WSC application requires the mod_fastcgi module for the Apache HTTP Server. This module can be obtained from the external resources or automatically installed from the WSC package.

Please note that 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.

Do you want to proceed with the mod_fastcgi installation from the WSC package? Enter yes or no: yes
  • Install additional modules for Apache HTTP Server. There are several additional Apache HTTP Server mod_mime and mod_headers modules which are also required for a proper work of the application. They might be already enabled for your Web Server. In this case you do not need to install these modules and just type No. Otherwise, type Yes to enable the required modules automatically.
The additional Apache HTTP Server modules are required and should be enabled for the proper work of the WebSpellChecker application.


Do you want to enable the required modules automatically? Enter yes or no [yes]: yes
  • Restart Apache HTTP Server.
Do you want to restart Apache HTTP Server? Enter yes or no [yes]: yes

3. Activate License

On this step you need to choose whether to run or not to run the license activation process. You can skip the license activation step if you already have a license activated or you prefer to proceed with the license activation step later. If you want to go ahead with the license activation, enter Yes and then proceed with the steps described in the license activation manual below.

Step 6: Activate license.

Do you want to proceed with the license activation process and run a request license? Enter yes or no [yes]: yes

 Click here to learn how to activate a license on a Linux server...

Visit the Licensing WebSpellChecker on Linux guide to find out how to activate a license on a Linux server.

4. Finalize Installation

Congratulations! The WSC application has been successfully installed to /opt/WSC directory.

Step 8: Finalize the WSC application configuration under a chosen Web or Application Server:

If it is required, enable the rewriting options in the Apache HTTP Server configuration file.

a. Open /etc/httpd/conf/httpd.conf file.
b. Find “/var/www/html” directory substring.
c. Change ”AllowOverride None” to “AllowOverride All”.

5. Configure Grammar

The new versions of WebSpellChecker Server provides multi-language grammar support.

The grammar engine requires the additional configuration steps. Please visit Enabling Grammar Engine with AppServer 5.0 to find out more how to enable grammar checking feature.

6. Verify Operability

Now you are ready to check if the installation process of the application went well, and all the components are functioning properly.

Step 8: Verify the WSC application operability.

Check the application version, status and access the demo samples, to verify if the application works properly after the installation.

a. Version: https://your_host_name:443/spellcheck/script/ssrv.cgi?cmd=ver

b. Status: https://your_host_name:443/spellcheck/script/ssrv.cgi?cmd=status

c. Default demo samples: https://your_host_name:443/spellcheck/samples

 Click here to expand the correct responses for the application version and status...

WebSpellChecker Server Status

Here is a correct status response for Spell Check, Grammar and Thesaurus engines of WebSpellChecker Server:

Spell Check Engine is ACTIVE
Grammar Engine is ACTIVE
Thesaurus Engine is ACTIVE

Please find below the description of the statuses that are received from SSRV component:

'ACTIVE' status means that an Engine works properly.
'NOT ACTIVE' status means that an Engine is not enabled or does not work properly.

For more details and assistance, please contact the technical support team at

WebSpellChecker Server Version

Here is a correct version response for WebSpellChecker Server 5.2.0 on a Linux server:

(c) 2000-2018 WebSpellChecker LLC

All rights reserved.

Program name:ssrv
Program version:5.2.x.x x64 master:xxxxxxx (xxx) #xx for Linux

WebSpellChecker Demo Samples

Here is correct view of the WebSpellChecker Demo Samples:


7. Configure WebSpellChecker on SELinux 

Security-Enhanced Linux (SELinux) defines the access and transition rights of every user, application, process, and file on the system. SELinux governs the interactions of these entities using a security policy that specifies how strict or lenient a given Red Hat Enterprise/CentOS Linux installation should be.

The default installation of WebSpellChecker is not intended for such a secured environment. It requires the additional configuration steps from your side. Once the default installation has been performed, you can proceed with the SELinux configuration as follows.

7.1. Define Security Context for WebSpellChecker. To do so, specify appropriate security context for all the files inside the WebSpellChecker installation directory using the following command:

sudo /sbin/restorecon -R -v /<WebSpellChecker_Installation_Dir>/WSC

restorecon command sets files security context. Read more about SELinux/restorecon.

-R option changes files and directories files labels recursively.

-v option defines where the changes will take place, e.g. all the files under /<WebSpellChecker_Installation_Dir>/WSC will be changed.

7.2. Allow Network Connection. To do so, allow Apache HTTP Server scripts and modules to connect to the network by setting a SELinux boolean to a given value.

sudo /usr/sbin/setsebool -P httpd_can_network_connect=1

setsebool command allows setting a SELinux boolean value. Read more about SELinux/setsebool.

httpd_can_network_connect allows HTTPD scripts and modules to connect to the network.

-P option saves all pending values on the disk. Without -P option, only the current boolean value will be affected, after reboot it will be reverted back.

7.3. Define Security Context for SSRV Script. Separately you need to set the appropriate security context for the SSRV.FGCI script. By default, SSRV.FGCI script has the default_t context type. This is incorrect security context for SELinux. If you try to view page, SELinux will deny access and log the error.

Run the following command to set a proper security context type of httpd_sys_content_t for SSRV.FGCI.

sudo chcon -t httpd_sys_content_t  /opt/WSC/WebComponents/WebInterface/script/ssrv.fcgi

8. Integrate WebSpellChecker

Integrate WebSpellChecker products into your web application.

Option A. Integration Guides

Visit Integrating WebSpellChecker Server guides to lean more how to get started with WebSpellChecker products.

New WebSpellChecker Proofreader

Try our new product WebSpellChecker Proofreader. It is based on SpellCheckAsYouType (SCAYT) core and is designed to simplify the integration and combine functionality of proofread as you type functionality and proofread in a dialog.

Get the next benefits when using WebSpellChecker Proofreader:

  • Easy to get started. A single script for all editable fields in a web app;
  • Auto-search functionality which detects editable fields on a web page and enables proofreading functionality;
  • Proofread as you type functionality on multiply languages. Spell checking functionality is supported for 16 default languages and 152 additional languages, grammar checking functionality is available for 14 out of 16 default languages.
  • Simplified box with corrections for spelling and grammar problems. 
  • A new badge button with the WebSpellChecker Proofreader settings.
  • Supported in all modern browsers such as Chrome, Firefox, Internet Explorer 11+, MS Edge, and Safari;

Please visit Get Started with Server WSC Proofreader (autoSearch) for guidance.

Option B. Demo Samples

Depending on the type of elements (HTML native elements, rich text editors) where the spelling/grammar check functionality is needed, you may choose and use the demo samples that are shipped with the WebSpellChecker Server package accordingly. 

To access the default samples, go to the following page:  https://your_host_name:port/spellcheck/samples/. 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.