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):
- The source code has been reorganized; modules are now located in subdirectories of a new
ServerRoot/src/modules/ directory.
- The Module directive has been changed to AddModule.
- The EXTRA_LFLAGS variable has been changed to EXTRA_LDFLAGS.
- The -DMAXIMUM_DNS definition is now obsolete.
- The -DSERVER_SUBVERSION=\"string\" compile-time option has been replaced with the run-time API call ap_add_version_component().
- The mod_dir module has been divided into mod_dir and mod_autoindex.
- The mod_auth_msql module is no longer included in the distribution.
Upgrading to SWS; 4.0 from Stronghold 2.3 or earlier involves:
- Copying all customized files from the old server directory tree to the new Stronghold 4.0 directory tree.
- Adding custom configurations from the old server configuration file to the new server configuration file.
- Modifying the added custom configurations in the new server configuration file to reflect new configuration schemes
introduced in Apache 1.3 and Stronghold 2.4.
- Configuring Stronghold 4.0 SSL directives to reflect the configuration of the SSL directives in the old server.
- Stopping the old server and starting the new one with your old site files and modified server configuration file in place.
To Upgrade from Stronghold 2.3 or Earlier
- Install Stronghold 4.0 into a new directory, using the instructions in Installing Stronghold Web Server.
- 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.
- 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.
- 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.
- Create a new subdirectory in the Stronghold 4.0 logs/ directory for storing your old log files:
# mkdir ServerRoot/var/log/old
- Copy the contents of the old ServerRoot/logs/ directory into the new Stronghold 4.0
ServerRoot/var/log/old/ directory.
- Open both the old server configuration file and new server configuration file using text editors in separate windows.
- 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.
- Locate any AuthName directives and place quotes around their values. For example:
AuthName Marx Bros
should be changed to
AuthName "Marx Bros"
- Edit the ServerRoot directive to reflect the path to the new Stronghold 4.0 directory.
- 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.
- 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
- 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>
- 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.
- Save the modified server configuration file.
- Stop the old server with the oldServerRoot/stop script.
- 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:
- The mod_php (2.0) module has been replaced by PHP 4.0.16, which is loaded as a Dynamic Shared Object (DSO).
- mod_perl is precompiled and has been included in the distribution.
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:
- Copying all customized files from the old server directory tree to the new
Stronghold 4.0 directory tree.
- Adding custom configurations from old server configuration file to new server configuration file.
- Configuring Stronghold 4.0 SSL directives to reflect the configuration of the
SSL directives in the old server.
- Stopping the old server and starting the new one with your old site files and
modified server configuration file in place.
To Upgrade from Stronghold 2.4
- Install Stronghold 4.0 into a new directory, using the instructions in
Installing Stronghold Web Server.
- 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.
- 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.
- 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.
- Create a new subdirectory in the Stronghold 4.0 logs/ directory for storing
your old log files:
# mkdir ServerRoot/var/log/old
- Copy the contents of the old ServerRoot/logs/ directory
into the new Stronghold 4.0 ServerRoot/var/log/old/ directory.
- Open both the old server configuration file and new server configuration file
using text editors in separate windows.
- Copy and paste any custom configurations from the old file into the new file.
- 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.
- Save the modified server configuration file.
- Stop the old server with the ServerRootVer_2_3/stop script.
- 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:
- Copying all customized files from the old server directory tree to the new
Stronghold 4.0 directory tree.
- Adding custom configurations from old server configuration file to new server
configuration file.
- Configuring Stronghold 4.0 SSL directives to reflect the configuration of the
SSL directives in the old server.
- Stopping the old server and starting the new one with your old site files
and modified server configuration file in place.
To Upgrade from Stronghold 3.0
- Install Stronghold 4.0 into a new directory, using the instructions in
Installing Stronghold Web Server.
- Copy the contents of the old ServerRoot/cgi-bin/ directory into the
Stronghold 4.0 www/cgi-bin/ directory.
- 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.
- 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.
- Create a new subdirectory in the Stronghold 4.0 logs/ directory for storing your
old log files:
# mkdir ServerRoot/var/log/old
- Copy the contents of the old ServerRoot/logs/ directory into the new
Stronghold 4.0 ServerRoot/var/log/old/ directory.
- Open both the old server configuration file and new server configuration file using
text editors in separate windows.
- Copy and paste any custom configurations from the old file into the new file.
- Save the modified server configuration file.
- Stop the old server with the ServerRoot/bin/stop-server script.
- Start the new server with the ServerRoot/bin/start-server script.