Install without mutual TLS (HTTP with secret word in request header) - Alfresco Search Services - 2.0 - 2.0 - Ready - Alfresco - external - Alfresco/Alfresco-Search-Services/2.0/Alfresco-Search-Services/Install/Installation-options/Install-without-mutual-TLS-HTTP-with-secret-word-in-request-header - 2025-04-04

Alfresco Search Services

Platform
Alfresco
Product
Alfresco Search Services
Release
2.0
License

Use this information to install Search Services on the same machine as Alfresco Content Services without mutual TLS, using HTTP with a secret word in the request header. This means communication between the Repository and Search Services is protected by a shared secret that is passed in a configurable Request HTTP Header.

Important: This installation method is only supported when using Content Services 7.2 and above.

This task assumes you have:

  • Installed Alfresco Content Services 7.2 or above.
  • Set the following properties in the <TOMCAT_HOME>/shared/classes/alfresco-global.properties file:

      index.subsystem.name=solr6
      solr.secureComms=secret
      solr.port=8983
      solr.sharedSecret=password
    
Note: To ensure the security of your system specify your own custom secret word for the solr.sharedSecret property, than the one provided in the example.
  1. Download alfresco-search-services-x.x.x.zip, where the x.x.x is the version number, from the Hyland Community if you are an Alfresco Content Services Enterprise user, or from Alfresco Community Edition if you are an Alfresco Content Services Community user.
  2. Extract the Search Services distribution.

    By default, the contents of alfresco-search-services-x.x.x.zip are decompressed in a root folder as /alfresco-search-services. See Search Services directory structure for more details.

  3. Configure HTTP.

    Pass alfresco.secureComms.secret as a system property (using -D when starting Solr) by adding the startup parameters in step 7:

    -Dalfresco.secureComms=secret
    -Dalfresco.secureComms.secret=password
    

    This ensures that the Solr cores are created in plain HTTP mode with the shared secret communication method. The property alfresco.secureComms.secret includes the same word used in the solr.sharedSecret property in the Repository configuration.

  4. If you use several languages across your organization, you must enable cross-language search support in all fields. To do this add the following to the alfresco-search-services/solrhome/conf/shared.properties file:
     alfresco.cross.locale.datatype.0={http://www.alfresco.org/model/dictionary/1.0}text
     alfresco.cross.locale.datatype.1={http://www.alfresco.org/model/dictionary/1.0}content
     alfresco.cross.locale.datatype.2={http://www.alfresco.org/model/dictionary/1.0}mltext
    					
  5. (Optional) Suggestion is disabled by default. To enable suggestion update the alfresco-search-services/solrhome/conf/shared.properties file.
     alfresco.suggestable.property.0={http://www.alfresco.org/model/content/1.0}name
     alfresco.suggestable.property.1={http://www.alfresco.org/model/content/1.0}title
     alfresco.suggestable.property.2={http://www.alfresco.org/model/content/1.0}description
     alfresco.suggestable.property.3={http://www.alfresco.org/model/content/1.0}content
    
    Note: The spell check functionality works with Search Services when suggestion is enabled.
  6. (Optional) If you want to install Search Services on a separate machine, set the SOLR_SOLR_HOST and SOLR_ALFRESCO_HOST environment variables before starting Search Services, for more see Search Services externalized configuration.

    (Windows) update the alfresco-search-services/solr.in.cmd file:

     set SOLR_SOLR_HOST=localhost
    
     set SOLR_ALFRESCO_HOST=localhost
    

    (Linux) update the alfresco-search-services/solr.in.sh file:

     SOLR_SOLR_HOST=localhost
    
     SOLR_ALFRESCO_HOST=localhost
    
  7. To start Search Services with all the default settings, use the following command:
     ./solr/bin/solr start -a "-Dcreate.alfresco.defaults=alfresco,archive"
    

    The command line parameter, -a passes additional JVM parameters, for example, system properties using -D.

    Note: The -Dcreate.alfresco.defaults=alfresco,archive command automatically creates the alfresco and archive cores. Therefore, you should only start Search Services with -Dcreate.alfresco.defaults=alfresco,archive the first time you run Search Services. In addition, you should run this application as a dedicated user. For example, you can create a Solr user. Finally, to ensure that Search Services connects using the IPv6 protocol instead of IPv4, add -Djava.net.preferIPv6Addresses=true to the startup parameters.

    Once Search Services is up and running, you should see a message similar to the following:

     Waiting up to 180 seconds to see Solr running on port 8983 []
     Started Solr server on port 8983 (pid=24289). Happy searching!
    

    To stop the currently running Search Services instance, use:

     ./solr/bin/solr stop
    

    The logs are stored in the alfresco-search-services/logs/solr.log file, by default. This can be configured in solr.in.sh (for Linux) or solr.in.cmd (for Windows) using SOLR_LOGS_DIR.

    You have successfully created an alfresco core and an archive core. To verify, in a browser, navigate to the Solr URL, http://localhost:8983/solr. In the Solr Admin UI, select the core selector drop-down list and verify that both the alfresco and archive cores are present.

    Allow a few minutes for Search Services to start indexing.

  8. Go to Admin Console > Repository Services > Search Service and verify that:
    1. You see the Solr 6 option in the Search Service In Use list.
    2. Under Main (Workspace) Store Tracking Status, the Approx Transactions to Index is 0.