Web Server Setup tutorial
Examples of Mapping Setting up a Secure Directory

## Preliminaries

- Space on the Web server can be explicitly mapped for SSL (HTTPS) connections.
- To start HTTPS listener, the server needs a valid certificate and private key pair.

## Using the Virtual Directories UI

- Login to the Conductor UI using the dba account.
- Go to "Web Application Server" tab and then go to the "Virtual Domains & Directories" tab.
- In the empty fields below the list of HTTP Listeners enter:
- In the "HTTP Host" field the qualified name of the host.
- In the "Interface" field the qualified name of the interface to listen to.
- In the "Port" field the port number to listen on.
- Press the "Add" button.
- Define the HTTP root location of this host. The root location can be mapped in file system, DAV or proxy server. In this example we will define a map in filesystem.
- Click the icon in front of the Interface value.
- Click the "Add new directory" link.
- Create a "/ssl" directory under the HTTPServer ServerRoot directory. This directory will be used to create the new mapping.
- Choose the "File System" type and press the button 'Next>>'.
- Enter for "Path" "/ssl" and enter "/ssl/" (or select this directory with "Browse" button) in the "Physical path" location.
- If you wish to make entire site to be executable specify the VSP user. (See also: VS-B-1 example)
- Select the "SSL" as "Security method"

- Enter for authentication options the files for the certificate and the private key of the server

      https_cert=PATH_TO_THE_CERTIFICATE;
      https_key=PATH_TO_THE_PRIVATE_KEY;

- Press the "Save Changes" button.
- If needed, more path mapping can be added to that defined.
- To test the definition enter http://[yourhost:port]/ in location box of your browser.

## Equivalent SQL commands for above

- Connect to the Virtuoso server via ISQL utility as DBA user.

- Define a virtual directory mapping for the host alias:

      SQL> vhost_define (vhost=>'[yourhost]:4333',lhost=>'[yourhost]:4333',
                            lpath=>'/',ppath=>'/ssl/', def_page=>'index.html',
      		      is_brws=>1, sec=>'SSL',
      		      auth_opts=>vector ('https_cert','PATH_TO_THE_CERTIFICATE',
      			'https_key','PATH_TO_THE_PRIVATE_KEY'));

- Note that in the sample SQL script, 'localhost' is used instead of 'yourhost'. This MUST be replaced with the official host name. Also needs certificate an private keys to be in place, before trying this example; PATH_TO_THE_CERTIFICATE and PATH_TO_THE_PRIVATE_KEY MUST be replaced with actual path to these files.