Install content acceleration software

On this page:

About this installation

New content servers

For districts and schools that need content acceleration, installing a new content server is the best way to support Fast ForWord product usage. It will support the HTML5-based components, and our legacy Flash-based components.

New content servers require Apache 2.4 and an SSL certificate for your domain. To learn more, see the rest of this topic.

For tips on how to organize the content servers at your location, see What are some deployment options?

Server system recommendations

Content server computer

OS (Memory)

Windows 10 (2GB)

Windows Server 2008 / 2012 / 2016 (4GB)

Processor

2GHz Dual Core Pentium or equivalent

Network

100Mb Ethernet

Hard disk

10GB free disk space

Other software

Apache HTTP Server (httpd) 2.4

SSL certificate

SSL certificate installation

Scientific Learning now provides SSL-protected content acceleration. To comply with this requirement, new content servers will need an SSL certificate and encryption key to identify your domain.

Step 1 – Obtain an SSL certificate

Check with your IT/internet provider to obtain an SSL certificate and key for your domain. Don’t share your SSL key file with anyone else.

If you don’t have these items, contact Carnegie Learning Customer Support for help in obtaining a certificate and key from a third party.

Step 2 – Install the SSL files

Once Apache 2.4 is installed, you’ll need to place the SSL certificate and key files in a directory on the content server; for example: c:\Apache24\conf\ssl\

Then you’ll need to edit the Apache httpd.conf file and add the paths to the file. For instructions see Step 2 – Download and configure Apache HTTP Server 2.4 binary.

Apache installation (Windows only)

The content acceleration server can only be installed on Windows—Mac OS is not supported. In this installation, you’ll be manually installing Apache HTTP Server 2.4 as a Windows service. The installation includes these steps, along with tips on how to manage the service using Apache Service Monitor:

  1. Install Microsoft Visual C++ 2015 Redistributable
  2. Download and configure the Apache HTTP Server 2.4 binary
  3. Install and start the Apache Windows service

To learn more about running Apache on Windows visit the Apache website.

Before you start

Make sure that your computer meets the minimum requirements for content acceleration. Then check the following on the content server computer:

  • No other processes are using ports 80 and 443, including web servers, administration consoles, or Instant Messaging (IM) clients. If so, you’ll need to designate new available HTTP and HTTPS ports. You’ll need to add these ports during the Apache software install and the mySciLEARN setup steps.
  • All existing firewalls allow access to ports 80 and 443 (or the new ports, if you’re not using the default ports for the content server).
  • No other software programs are running.

Step 1 – Install Microsoft Visual C++ 2015 Redistributable

  1. Download the latest Microsoft Visual C++ 2015 Redistributable installer for the content server OS:
    • Windows 64-bit: vc_redist.x64.exe
    • Windows 32-bit: vc_redist.x86.exe
  2. Follow the instructions on the website to install the software on the content server computer.

Step 2 – Download and configure Apache HTTP Server 2.4 binary

  1. Download the latest Apache HTTP 2.4 binary archive for the content server OS:
    • Windows 64-bit: Apache Win64
    • Windows 32-bit: Apache Win32
  2. On the content server computer, extract the contents of the Apache archive to the root of the hard drive, which will automatically create the directory C:\Apache24
  3. Use Notepad or other text editor to edit the httpd.conf file (C:\Apache24\conf\httpd.conf) and append this content server configuration code to the bottom of the file.
  4. ###

    # Proxy Settings (configures access to Scientific Learning servers)

    ###

    LoadModule proxy_module modules/mod_proxy.so

    LoadModule proxy_http_module modules/mod_proxy_http.so

    LoadModule proxy_http2_module modules/mod_proxy_http2.so

     

    <Proxy *>

    Order deny,allow

    Allow from all

    </Proxy>

     

    # Important Security Note: Do not turn ProxyRequests on.

    # Should only ProxyPass / ReverseProxyPass to explicitly

    # specified server(s).

    # Default is off, but specifying here for clarity.

    ProxyRequests Off

     

    # RA+

    <Location "/">

    ProxyPass "https://content02.scilearn.com/"

    </Location>

     

    # New FFW

    <Location "/ffwd-html5">

    ProxyPass "https://fastforword.scilearn.com"

    </Location>

     

    ###

    # CORS settings (allows access to this content server from Scientific Learning web pages)

    ###

    LoadModule headers_module modules/mod_headers.so

     

    Header set "Access-Control-Allow-Origin" "*"

    Header set "Access-Control-Allow-Methods" "GET, HEAD, OPTIONS"

    Header set "Access-Control-Allow-Headers" "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type"

     

    ###

    # SSL Settings (configures secure connections for this content server)

    ###

    LoadModule ssl_module modules/mod_ssl.so

     

    Listen 443

    SSLProxyEngine on

    <VirtualHost *:443>

    SSLEngine on

    ServerName "<add hostname for this content server>"

    SSLCertificateFile "<add path to certificate file>"

    SSLCertificateKeyFile "<add path to key file>"

    </VirtualHost>

     

    ###

    # Cache Settings (looks up content on this server's disk before requesting from Scientific Learning servers)

    ###

    LoadModule cache_module modules/mod_cache.so

    LoadModule cache_disk_module modules/mod_cache_disk.so

     

    # 86400 seconds = 1 day, 604800 seconds = 1 week

    CacheDefaultExpire 604800

    CacheMaxExpire 604800

     

    CacheEnable disk /

    CacheRoot c:/ecat_cacheroot

    CacheDirLevels 3

    CacheDirLength 2

    CacheMinFileSize 1

    CacheMaxFileSize 10000000

  5. Update the following lines at the end of the file with the requested information (in red):
  6. ServerName "hostname.example.com"

    SSLCertifcateFile "c:\Apache24\conf\ssl\example.crt"

    SSLCertifcateKeyFile "c:\Apache24\conf\ssl\example.key"

  7. If the content server will be using ports other than 80 and 443, edit the following lines in the httpd.conf file and change the ports. Note these ports down, as you’ll need to add them to mySciLEARN when you set up content acceleration:
  8. Listen 80

    Listen 443

    <VirtualHost *.443>

  9. After saving the httpd.conf file, create a new directory on the content server and place the SSL certificate and key files in it:
  10. c:\Apache24\conf\ssl

Step 3 – Install and start the Apache Windows service

  1. On the content server computer, start a command prompt as an administrator (varies based on OS):
    1. Click Start, All Programs, Accessories.
    2. Right-click Command Prompt and choose Run as administrator.
  2. Create the content server cache directory: md c:\ecat_cacheroot
  3. Navigate to the Apache bin folder: cd c:\Apache24\bin
  4. Run the install command to install the Apache service: httpd.exe -k install
  5. If prompted, allow the firewall exception.

  6. When the install completes, you can run this command to start the service:  httpd.exe -k start
  7. If prompted, allow the firewall exception.

    As a service, it will automatically start every time you restart the computer. If you’d like to verify that the content server is caching content, see Test content acceleration.

Use Apache Service Monitor to manage the service

The Apache Service Monitor lets you control the service from the desktop. You can also control it from the command line (see http://httpd.apache.org/docs).

  1. Open a command prompt and navigate to the Apache bin folder: cd c:\Apache24\bin
  2. Run this command to start the monitor: ApacheMonitor.exe
  3. The Apache Service Monitor icon will appear in the taskbar on the right.

  4. Open the Apache Service Monitor and click Start. If prompted, click Yes to allow Apache to run.