MS4W    Home  |  Docs  |  Support  |  Bugs  |  Downloads

MS4W - Packaging an MS4W Application

MS4W - Packaging an MS4W Application

The rationale behind MS4W is that it provides a pre-configured environment for applications to be installed into, and that applications are, in turn,pre-configured for this environment. These instructions will assist in ensuring that your application is correctly configured and packaged for MS4W.

Configuring Your Application

You are responsible for pre-configuring any configuration files and settings that may be required by your application, including temporary file locations and URLs.

MS4W provides the following built-in temporary file locations:

/ms4w/tmp         - file system path to store temporary
                    files (non-web-accessible)
/ms4w/tmp/ms_tmp/ - file system path to store temporary
                    web-accessible files
/ms_tmp/          - URL to access temporary web-accessible

MS4W provides the /ms4w/apps/ directory to hold applications. Your application must be installed in a subdirectory of the /ms4w/apps/ directory, preferrably with a meaningful name.

MS4W provides the /ms4w/httpd.d/ directory to hold Apache Alias Files. In general, applications consist of some web-accessible pages and some other files that should not be web-accessible. MS4W applications typically include an 'htdocs' directory that would contain the web-accessible pages of the application. The Apache Alias File (see below) would then provide a URL directly to this directory.

It is not necessary to have only one web-accessible directory, but each one should be given an alias in the Apache Alias File (see below).

Index Package File

The Index Package File provides a small HTML snippet that is automatically included in the MS4W index page. This HTML snippet should provide a brief description of your application and provide links to access the aliases you have provided via the Apache Alias File. The Index Package File resides in /ms4w/Apache/htdocs and follows a strict naming convention:


Only files that end in .pkg.html will be included in the index page.

Apache Alias File

The Apache Alias File provides a convenient mechanism for your application to provide a URL Alias by which it can be accessed. The Apache Alias File may contain any valid Apache directives, but in general it will contain one or more Alias and Directory directives. An Alias directive tells Apache that a URL http://localhost/alias/ points at a specific directory, and a Directory directive tells Apache what privileges to allow in a specific directory.

In most cases, the following would be sufficient for an application named 'foobar':

Alias /foobar/ /ms4w/apps/foobar/htdocs/

<Directory "/ms4w/apps/foobar/htdocs/">
  AllowOverride None
  Options Indexes FollowSymLinks Multiviews
  Order allow,deny
  Allow from all

The Apache Alias File is stored in the /ms4w/httpd.d/ directory. This directory is automatically scanned by Apache when it starts. The name of the file is very important. Apache will only load files that match the following pattern:


Normally, you would replace * with your application name. In the above example, the application would use httpd_foobar.conf in the /ms4w/httpd.d/ directory. This would allow the user to connect to http://localhost/foobar/ to access the application.

Application Package (zip) File

Once the application is fully configured and working within the directory structure of MS4W, it can be packaged as a ZIP file for distribution.

The package file needs to be carefully set up to make sure that it does not affect other applications in the user's installation. In general, you need to include:

  • /ms4w/Apache/htdocs/foobar.pkg.html
  • /ms4w/httpd.d/httpd_foobar.conf
  • /ms4w/apps/foobar/.

It is very important to ensure that the zip file preserves full paths.

Archive Naming:

The name of the zip file should be:


Such as:

Testing Your Package

To test your newly created package, you should:

  1. stop Apache
  2. rename your existing MS4W folder to some other name
  3. extract a clean MS4W installation
  4. extract your application over the MS4W installation
  5. start Apache
  6. make sure that Apache doesn't report errors on start up
  7. open http://localhost/index.phtml and make sure that your pkg.html file was correctly processed
  8. test all the aliases from the httpd_foobar.conf file to make sure they work as expected.
  9. test your application to make sure that it still works.

Adding Additional Documentation

Sometimes install notes are needed outside of the application package (especially if external dependencies exist), and these can be linked on the MS4W Downloads page in your application section (for example see the Mapbender section and it's doc).

  • download sample documentation template

Distributing Your Package

Send a message to the mailing list so somone can contact you about posting your package, or contact Gateway Geomatics directly.

Printer Friendly



Installing MS4W


Professional Support

MS4W custom builds and MapServer support from Gateway Geomatics

Mailing list

MS4W Users List