Using SSL to secure the connection between Enterprise Server and Drupal
Securing the connection between Enterprise Server and Drupal can be achieved by running Drupal on HTTPS.
Step 1. This step is optional, only perform it when the following is not true:
- Enterprise Server and Drupal run on the same machine and SSL is set up for Enterprise Server
- You are happy to reuse the same certificate for Drupal
Repeat the steps from Using SSL in Enterprise Server but now for the Drupal server.
Note: You can choose whether or not to generate the cacert.pem file but if you do, and there is already one installed or used on <web_root>/Enterprise/config/encryptkeys/cacert.pem, you should not overwrite this file. Instead, create another file (for instance cacert_drupal.pem).
Tip: You can configure Drupal on the same machine but on a different port (such as '1234'), thereby enabling you to specify a different certificate than used for Enterprise Server.
Step 2. (Applies to Drupal 8 only) Configure the Enterprise Server plug-in.
Step 2a. Open the following file:
- <your Enterprise Server installation>/config/plugins/Drupal8/config.php
Tip: Easily manage and configure settings of all configuration files by adding them to a single configuration file.
Step 2b. Locate the 'DRUPAL8_SITES' section:
define( 'DRUPAL8_SITES', serialize( array( 'label_of_the_first_instance' => array( // site label, as shown on the "Publication Channel Maintenance" page 'url' => '', // specify the full URL to your Drupal instance, including a trailing slash 'username' => '', // enter a valid Drupal user for the instance here 'password'=> '', // enter the password belonging to the specified username ) )));
Step 2c. Configure the Drupal site to publish to by entering the following details:
- Label. A representative name for the Drupal site.
Note: This name will appear on the Publication Channel Maintenance page as an option in the 'Web Site' list.
- url. The HTTPS location of the Drupal site.
Note: This needs to end with a forward slash '/'.
- username. The user name of the user who is assigned as the administrator
- password. The password for the user.
Example. In this example, 2 sites are configured:
Step 2d. Save and close the file.
Step 3. Set up a Publication Channel:
Step 4. Run the Publish to Drupal test on the Heath Check page. Fix any errors where necessary.
Troubleshooting: Publish error from Drupal
When the certificate does not match, the following type of error is shown:
Drupal - Publish error from Drupal: Error in cURL request: SSL certificate problem, verify that the CA cert is OK. Details: error:1407E086:SSL routines:SSL2_SET_CERTIFICATE:certificate verify failed.
Fix this by checking the path to the Drupal certificate file that is configured for the "Certificate" option on the Publication Channel Maintenance page.
- 21 November 2016: Updated information to apply to Drupal 7 and 8.