Manually Upgrading to Stronghold 4.0

Upgrades to this version from Stronghold 2.3 or earlier, Stronghold 2.4, Stronghold 3.0, or Apache must be performed manually. The manual upgrade procedure is slightly different depending on the version that is currently installed.


Caution

Many third-party modules have not been thoroughly tested for use with Stronghold 4.0 and Apache 1.3.22. If your server has third-party modules that you wish to compile into Stronghold 4.0, use caution.

In order to provide better security, there are several changes to the default configuration that affect the operation of your server:



Upgrading from Stronghold 2.3 or Earlier

When using an existing configuration file (httpd.conf) or modifying the new Configuration file to include new modules, note these changes as of Stronghold 2.4 (for those upgrading from Stronghold 2.3 or earlier):

Upgrading to SWS; 4.0 from Stronghold 2.3 or earlier involves:

To Upgrade from Stronghold 2.3 or Earlier

  1. Install Stronghold 4.0 into a new directory, using the instructions in Installing Stronghold Web Server.
  2. Copy the contents of the old ServerRoot/htdocs/ directory into the Stronghold 4.0 www/htdocs/ directory. Take care not to overwrite Stronghold 4.0 documentation files, and please note that PHP2 files are not supported by PHP3 or PHP4.
  3. Copy the contents of the old ServerRoot/conf/ directory into the Stronghold 4.0 conf/ directory. Take care not to overwrite Stronghold 4.0 files.
  4. Copy the contents of the old ServerRoot/ssl/certs, ServerRoot/conf/ssl/private, and ServerRoot/ssl/CA directories into the Stronghold 4.0 /conf/ssl/certs, ssl/private, and ssl/CA directories.
  5. Create a new subdirectory in the Stronghold 4.0 logs/ directory for storing your old log files:
       # mkdir ServerRoot/var/log/old
    
  6. Copy the contents of the old ServerRoot/logs/ directory into the new Stronghold 4.0 ServerRoot/var/log/old/ directory.
  7. Open both the old server configuration file and new server configuration file using text editors in separate windows.
  8. Copy and paste any custom configurations from the old file into the new file. Using the new configuration file as a base, you must modify your custom configurations to comply with new configuration conventions. You must also configure Stronghold 4.0 SSL directives to reflect setup of your SSL directives in your old server. Note that you may still use the old Stronghold 2.3 SSL directives if the option CompatEnvVars is set on for the new SSLOptions directive. Otherwise it is recommended that you use the new Stronghold 4.0 SSL directives instead. See the Apache Desktop Reference for the new SSL directives.
  9. Locate any AuthName directives and place quotes around their values. For example:
    AuthName Marx Bros
    

    should be changed to

    AuthName "Marx Bros"
    
  10. Edit the ServerRoot directive to reflect the path to the new Stronghold 4.0 directory.
  11. The StrongholdKey directive in the old server configuration file can be safely dropped. It does not need to be copied to the new server configuration file because Stronghold 4.0 does not require a server license key.
  12. For every name-based virtual host configuration, enter a NameVirtualHost directive in the global configuration:
    NameVirtualHost 209.60.53.41:80
    NameVirtualHost 207.57.43.92:80
    
  13. For every Files container, replace the full path to the file with the filename. In previous versions, Files containers could stand alone and specify full paths to files. Files containers must now specify filenames instead of paths, but can also take wildcards and regular expressions. For example:
       <Files /usr/local/www/htdocs/aquabats/batty.html>
       ...
       </Files>
    

    should be changed to:

        
       <Directory /usr/local/www/htdocs/aquabats>
       <Files batty.html>
       ...
       </Files>
       </Directory>
    
  14. For every container that uses wildcards, modify the wildcard statement so that all slashes are literal.
    Wildcards no longer match slash (/). 
    

    For example,

       <Directory /usr/local/www/htdocs/beavis*>
    

    no longer matches any subdirectories of the beavis directory. Instead, it should be changed to:

       <Directory /usr/local/www/htdocs/beavis/*>
    

    to match subdirectories one level below beavis, or

       <Directory /usr/local/www/htdocs/beavis/*/*>
    

    to match subdirectories two levels below.

  15. Save the modified server configuration file.
  16. Stop the old server with the oldServerRoot/stop script.
  17. Start the new server with the ServerRoot/bin/start-server script.

Upgrading From Stronghold 2.4

When using an existing configuration file (httpd.conf) or modifying the new Configuration file to include new modules, note these changes:

Red Hat’s modssl SSL/TLS module has been removed and replaced with Ralf S. Engleshall’s mod_ssl. Backward-compatibility directives have been added that allow Stronghold 2.4.x installations to continue to work as before with minimal or no changes.

Upgrading to Stronghold Web Server 4.0 from Stronghold 2.4 involves:

To Upgrade from Stronghold 2.4

  1. Install Stronghold 4.0 into a new directory, using the instructions in Installing Stronghold Web Server.
  2. Copy the contents of the old ServerRoot/htdocs/ directory into the Stronghold 4.0 www/htdocs/ directory. Take care not to overwrite Stronghold 4.0 documentation files, and please note that PHP2 files are not supported by PHP3 or PHP4.
  3. Copy the contents of the old ServerRoot/conf/ directory into the Stronghold 4.0 conf/ directory. Take care not to overwrite Stronghold 4.0 files.
  4. Copy the contents of the old ServerRoot/ssl/certs, ServerRoot/conf/ssl/private, and ServerRoot/ssl/CA directories into the Stronghold 4.0 /conf/ssl/certs, /conf/ssl/private, and /conf/ssl/CA directories.
  5. Create a new subdirectory in the Stronghold 4.0 logs/ directory for storing your old log files:
       # mkdir ServerRoot/var/log/old
    
  6. Copy the contents of the old ServerRoot/logs/ directory into the new Stronghold 4.0 ServerRoot/var/log/old/ directory.
  7. Open both the old server configuration file and new server configuration file using text editors in separate windows.
  8. Copy and paste any custom configurations from the old file into the new file.
  9. Compare the SSL directives in both old and new server configuration files. You must configure Stronghold 4.0 SSL directives to reflect setup of your SSL directives in your old server. Note that you may still use the old Stronghold 2.4 SSL directives if the option CompatEnvVars is set on for the new SSLOptions directive. Otherwise it is recommended that you use the new Stronghold 4.0 SSL directives instead. See the Apache Desktop Reference for the new SSL directives.
  10. Save the modified server configuration file.
  11. Stop the old server with the ServerRootVer_2_3/stop script.
  12. Start the new server with the version 4.0 ServerRoot/bin/start-server script.

Upgrading From Stronghold 3.0

Upgrading to Stronghold Web Server 4.0 from Stronghold 3.0 involves:

To Upgrade from Stronghold 3.0

  1. Install Stronghold 4.0 into a new directory, using the instructions in Installing Stronghold Web Server.
  2. Copy the contents of the old ServerRoot/cgi-bin/ directory into the Stronghold 4.0 www/cgi-bin/ directory.
  3. Copy the contents of the old ServerRoot/htdocs/ directory into the Stronghold 4.0 www/htdocs/ directory. Take care not to overwrite Stronghold 4.0 documentation files, and please note that PHP2 files are not supported by PHP3 or PHP4.
  4. Copy the contents of the old ServerRoot/ssl/certs, ServerRoot/ssl/private, and ServerRoot/ssl/CA directories into the Stronghold 4.0 /conf/ssl/certs, /conf/ssl/private, and /conf/ssl/CA directories.
  5. Create a new subdirectory in the Stronghold 4.0 logs/ directory for storing your old log files:
       # mkdir ServerRoot/var/log/old
    
  6. Copy the contents of the old ServerRoot/logs/ directory into the new Stronghold 4.0 ServerRoot/var/log/old/ directory.
  7. Open both the old server configuration file and new server configuration file using text editors in separate windows.
  8. Copy and paste any custom configurations from the old file into the new file.
  9. Save the modified server configuration file.
  10. Stop the old server with the ServerRoot/bin/stop-server script.
  11. Start the new server with the ServerRoot/bin/start-server script.