Author: | Jeff McKenna, Gateway Geomatics |
---|---|
Last Updated: | 2012-05-26 |
Table of Contents
Welcome to MS4W, the quick and easy installer for setting up MapServer For Windows and its accompanying applications (e.g., Chameleon, MapLab,etc.). The purpose of this package is to allow novice to advanced MapServer users to quickly install a MapServer development environment on their Windows systems. The reasons for needing to do this are diverse but, in general, this package supports: developers who want to get to a stable state quickly, trainers who need an easily-installed configuration identical across multiple installs, and novices who need help just getting all the needed bits and pieces together.
The MS4W package is designed to perform a full installation of Apache, PHP, MapServer CGI, MapScript (CSharp, Java, PHP, Python), and to provide the capability to install additional applications easily and quickly. The simplest way to do this on Windows is to provide a predetermined directory structure and force everything into that mold.
The directory structure, while fixed within itself, is designed to be somewhat portable. While the ms4w_xxx.zip file needs to be installed at the root of a hard drive, it doesn't have to be the C:/ drive. Moving the package to the root of a different drive is simple - just copy it there. To move it to a subdirectory is more difficult - you'll need to search for /ms4w in all the files and replace it with your new path.
The design also accommodates simple upgrades to the core package and to applications, without affecting the local configuration or the configuration of other installed applications.
The following are included in the base package:
MapServer version 6.0.3 (MS4W 3.0.6) OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=KML SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=CAIRO SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS INPUT=JPEG INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
Compiled, packaged, documented, and tested by Gateway Geomatics. Please help support this great product that is downloaded over 5,000 times a month by organizations of all sizes - please contact us directly at info@gatewaygeomatics.com for custom builds or requests. Thank you in advance for your generous support!
Library versions used to build this version of MapServer:
agg-2.4 apache-ant-1.7.0 cairo-git-03102011 curl-7.25.0 expat-2.1.0 fcgi-2.4.0 filegdb-1.2 fits-3.14 freetype-2.4.9 fribidi-0.19.1 gd-2.0.35 gdal-1.9.1 geos-3.3.3 gettext-0.13 giflib-4.1.6 hdf5-1.8.5 jbigkit-1.6 jpeg-8d libgeotiff-1.4.0 libiconv-1.9.1 libintl-0.11.5 libKML-svn-05242012 libpng-1.5.10 libtiff-4.0.1 libxml2-2.7.8.win32 mapserver-6.0.3 ming-0.2a mrsid-8.5 mysql-5.1.34-win32 netcdf-3.6.1 openssl-1.0.1c oracle-11.2.0.3.0 pcre-svn-05252012 php-5.4.3 poppler-0.16.4 postgresql-9.1.3 proj-4.8.0 Python-2.6.2 sqlite-3.3.8 swig-1.3.39 szip-2.1 xerces-c-3.1.1 zlib-1.2.7
Perl, TCL, and Ruby MapScript are not in this MS4W release
See the OGR formats page for full driver descriptions.
"ESRI Shapefile" (read/write) "MapInfo File" (read/write) "UK .NTF" (readonly) "SDTS" (readonly) "TIGER" (read/write) "S57" (read/write) "DGN" (read/write) "VRT" (readonly) "REC" (readonly) "Memory" (read/write) "BNA" (read/write) "CSV" (read/write) "NAS" (readonly) "GML" (read/write) "GPX" (read/write) "LIBKML" (read/write) "KML" (read/write) "GeoJSON" (read/write) "GMT" (read/write) "SQLite" (read/write) "ODBC" (read/write) "PGeo" (readonly) "MSSQLSpatial" (read/write) "PostgreSQL" (read/write) "MySQL" (read/write) "PCIDSK" (read/write) "FileGDB" (read/write) "XPlane" (readonly) "AVCBin" (readonly) "AVCE00" (readonly) "DXF" (read/write) "Geoconcept" (read/write) "GeoRSS" (read/write) "GPSTrackMaker" (read/write) "VFK" (readonly) "PGDump" (read/write) "GPSBabel" (read/write) "SUA" (readonly) "OpenAir" (readonly) "PDS" (readonly) "WFS" (readonly) "HTF" (readonly) "AeronavFAA" (readonly) "Geomedia" (readonly) "EDIGEO" (readonly) "GFT" (read/write) "SVG" (readonly) "CouchDB" (read/write) "Idrisi" (readonly) "ARCGEN" (readonly) "SEGUKOOA" (readonly) "SEGY" (readonly) Oracle - see `GDAL/OGR Plugins` section of this document to enable SDE - see `GDAL/OGR Plugins` section of this document to enable
See the GDAL formats page for full driver descriptions.
VRT (rw+v): Virtual Raster GTiff (rw+v): GeoTIFF NITF (rw+v): National Imagery Transmission Format RPFTOC (rov): Raster Product Format TOC format ECRGTOC (rov): ECRG TOC format HFA (rw+v): Erdas Imagine Images (.img) SAR_CEOS (rov): CEOS SAR Image CEOS (rov): CEOS Image JAXAPALSAR (rov): JAXA PALSAR Product Reader (Level 1.1/1.5) GFF (rov): Ground-based SAR Applications Testbed File Format (.gff) ELAS (rw+v): ELAS AIG (rov): Arc/Info Binary Grid AAIGrid (rwv): Arc/Info ASCII Grid GRASSASCIIGrid (rov): GRASS ASCII Grid SDTS (rov): SDTS Raster DTED (rwv): DTED Elevation Raster PNG (rwv): Portable Network Graphics JPEG (rwv): JPEG JFIF MEM (rw+): In Memory Raster JDEM (rov): Japanese DEM (.mem) GIF (rwv): Graphics Interchange Format (.gif) BIGGIF (rov): Graphics Interchange Format (.gif) ESAT (ro): Envisat Image Format FITS (rw+): Flexible Image Transport System BSB (rov): Maptech BSB Nautical Charts XPM (rwv): X11 PixMap Format BMP (rw+v): MS Windows Device Independent Bitmap DIMAP (rov): SPOT DIMAP AirSAR (ro): AirSAR Polarimetric Image RS2 (ro): RadarSat 2 XML Product PCIDSK (rw+v): PCIDSK Database File PCRaster (rw): PCRaster Raster File ILWIS (rw+v): ILWIS Raster Map SGI (rw+): SGI Image File Format 1.0 SRTMHGT (rwv): SRTMHGT File Format Leveller (rw+): Leveller heightfield Terragen (rw+): Terragen heightfield GMT (rw): GMT NetCDF Grid Format netCDF (rw+): Network Common Data Format ISIS3 (rov): USGS Astrogeology ISIS cube (Version 3) ISIS2 (rw+v): USGS Astrogeology ISIS cube (Version 2) PDS (rov): NASA Planetary Data System TIL (rov): EarthWatch .TIL ERS (rw+v): ERMapper .ers Labelled L1B (rov): NOAA Polar Orbiter Level 1b Data Set FIT (rwv): FIT Image GRIB (rov): GRIdded Binary (.grb) MrSID (rov): Multi-resolution Seamless Image Database (MrSID) JP2MrSID (rov): MrSID JPEG2000 MG4Lidar (ro): MrSID Generation 4 / Lidar (.sid) RMF (rw+v): Raster Matrix Format WCS (rov): OGC Web Coverage Service WMS (rwv): OGC Web Map Service MSGN (ro): EUMETSAT Archive native (.nat) RST (rw+v): Idrisi Raster A.1 INGR (rw+v): Intergraph Raster GSAG (rwv): Golden Software ASCII Grid (.grd) GSBG (rw+v): Golden Software Binary Grid (.grd) GS7BG (rov): Golden Software 7 Binary Grid (.grd) COSAR (ro): COSAR Annotated Binary Matrix (TerraSAR-X) TSX (rov): TerraSAR-X Product COASP (ro): DRDC COASP SAR Processor Raster R (rwv): R Object Data Store PNM (rw+v): Portable Pixmap Format (netpbm) DOQ1 (rov): USGS DOQ (Old Style) DOQ2 (rov): USGS DOQ (New Style) ENVI (rw+v): ENVI .hdr Labelled EHdr (rw+v): ESRI .hdr Labelled GenBin (rov): Generic Binary (.hdr Labelled) PAux (rw+): PCI .aux Labelled MFF (rw+): Vexcel MFF Raster MFF2 (rw+): Vexcel MFF2 (HKV) Raster FujiBAS (ro): Fuji BAS Scanner Image GSC (rov): GSC Geogrid FAST (rov): EOSAT FAST Format BT (rw+v): VTP .bt (Binary Terrain) 1.3 Format LAN (rw+v): Erdas .LAN/.GIS CPG (ro): Convair PolGASP IDA (rw+): Image Data and Analysis NDF (rov): NLAPS Data Format EIR (rov): Erdas Imagine Raw DIPEx (rov): DIPEx LCP (rov): FARSITE v.4 Landscape File (.lcp) GTX (rw+v): NOAA Vertical Datum .GTX LOSLAS (rov): NADCON .los/.las Datum Grid Shift NTv2 (rw+v): NTv2 Datum Grid Shift ACE2 (rov): ACE2 SNODAS (rov): Snow Data Assimilation System RIK (ro): Swedish Grid RIK (.rik) USGSDEM (rwv): USGS Optional ASCII DEM (and CDED) GXF (ro): GeoSoft Grid Exchange Format HTTP (ro): HTTP Fetching Wrapper BAG (ro): Bathymetry Attributed Grid HDF5 (ro): Hierarchical Data Format Release 5 HDF5Image (ro): HDF5 Dataset NWT_GRD (rov): Northwood Numeric Grid Format .grd/.tab NWT_GRC (rov): Northwood Classified Grid Format .grc/.tab ADRG (rw+v): ARC Digitized Raster Graphics SRP (rov): Standard Raster Product (ASRP/USRP) BLX (rw): Magellan topo (.blx) Rasterlite (rw): Rasterlite PostGISRaster (ro): PostGIS Raster driver SAGA (rw+v): SAGA GIS Binary Grid (.sdat) KMLSUPEROVERLAY (rwv): Kml Super Overlay XYZ (rwv): ASCII Gridded XYZ HF2 (rwv): HF2/HFZ heightfield raster PDF (rov): Geospatial PDF OZI (rov): OziExplorer Image File CTG (rov): USGS LULC Composite Theme Grid E00GRID (rov): Arc/Info Export E00 GRID ZMap (rwv): ZMap Plus Grid NGSGEOID (rov): NOAA NGS Geoid Height Grids SDE raster - see `GDAL/OGR Plugins` section of this document to enable
If you already have MS4W installed please do the following:
The "Apache MS4W Web Server" service is stopping. The "Apache MS4W Web Server" service has stopped. Removing the "Apache MS4W Web Server" service The "Apache MS4W Web Server" service has been removed successfully.
Please read through the following instructions before starting your installation.
To install the MS4W .zip file, use a compression program (e.g. WinZip) to extract the package at the root of a drive, e.g., drive C:. If successful, you should have a new directory named 'ms4w' at the root of the drive you chose (e.g. C:/ms4w).
Start your MS4W Apache Web Server by running /ms4w/apache-install.bat (at the command line or by double-clicking it). This file installs Apache as a Windows service (called "Apache Web Server") so that it starts whenever your machine is restarted. When executed, a DOS window should pop up with the following message:
Installing the Apache MS4W Web Server service The Apache MS4W Web Server service is successfully installed. Testing httpd.conf.... Errors reported here must be corrected before the service can be started. The Apache MS4W Web Server service is starting. The Apache MS4W Web Server service was started successfully.
This means that Apache is running and installed as a service.
NOTE for Win95,98,ME users:
You will not be able to install Apache as a service, so instead you will have to manually start Apache each time, by clicking on /ms4w/Apache/bin/httpd.exe. An empty DOS window will open, which means Apache is running. To stop Apache you will have to close this empty DOS window.
To test that Apache is running properly, open your Web browser and find your local host Web service by entering one of the following URLs:
http://localhost/ or http://127.0.0.1/
You should now see the main MS4W page in your Web browser. This gives you general information about your install along with configuration information. If this is your first time using MS4W it is very important that you review the listed "Features" installed within MS4W, and test them by selecting each link found on this page.
Technically, at this point, MS4W is installed! However, as you may have noticed from the MS4W main index.html page, there are no applications running. What this means is that there are no Web applications like MapLab or Chameleon found within MS4W's Web-accessible directory, /ms4w/apps/. The MS4W-configured Web applications can be found on http://maptools.org/ms4w/index.phtml?page=downloads.html as separate zip files.
To install these Web application into /ms4w/apps/ all that is required is to unzip the Web application compressed file at the same root directory as MS4W (e.g., C:).
Two things should happen when uncompressing this file. First, the Web application directory should appear within /ms4w/apps/. Second, a new httpd_*.conf file should be added to /ms4w/httpd.d/httpd_*.conf. (The /httpd.d/ directory contains Apache configuration files that define which files on your computer/server are Web-accessible. For each Web application that you install, a new configuration file will be found.)
The definitions of these Web-accessible directories are called Web Aliases. In order to activate a Web Alias you must restart Apache. To test your latest installed application, go to the MS4W main index.html page (i.e., http://localhost/). In the applications section you should now find a link to the application you just installed. Select the link to the recently installed application to see if it is configured correctly. Another option is find the Web Alias for your application and call it from your Web browser directly. For example, if you have installed the latest MS4W version of MapLab, the chances are the Web Alias is "maplab". To go to the MapLab index page, simply enter http://localhost/maplab/.
Note: Applications with configuration files (e.g., MapLab and Chameleon) generally do not require any editing of their files in order to work. Just unzip to the appropriate driver root and restart Apache.
WARNING: It is very possible that you may wish (but not encouraged!) to run multiple versions of the same product. For example, Maplab 2.0 (mapserver_36) vs. MapLab 2.1 (mapserver_4.0). When installing these ms4w MapLab application packages, you will notice when unzipping MapLab that the httpd_maplab.conf file found under ./ms4w/httpd.d/ will be overwritten by the MapLab you are currently installing. The reason for this is that the MapLab Alias stays the same from version to new version of MapLab. So, if you overwrite the httpd_maplab.conf when unzipping and then restart Apache, you will get the latest version of Maplab that you just installed. To run both MapLab simply follow the instructions in Step 7.
You also can create new Web Alias(es). To configure your own personal Web Alias(es), follow the instructions in /ms4w/httpd.d/README_HTTPD.txt
In order to run the apache-install.bat file, you must do the following:
Oracle Spatial support in MapServer is handled by two methods: 1) natively in MapServer, or 2) through the GDAL library.
Make sure you have Oracle 10g or 11g client software installed on your machine (the same machine that you are running MS4W on).
For direct access to Oracle Spatial, replace the existing libmap.dll in /ms4w/Apache/cgi-bin/ with the one in the /ms4w/Apache/cgi-bin/ignored-libmap/oracle11g/ folder.
If this is successful, executing the following at the commandline (after setting /ms4w/setenv.bat) "mapserv -v" should return a string that contains "INPUT=ORACLESPATIAL".
For access to Oracle Spatial through the GDAL library, move the ogr_OCI.dll plugin file up from /ms4w/gdalplugins/ignored/oracle-11g/ into /ms4w/gdalplugins/
If this is successful, executing the following at the commandline (after setting /ms4w/setenv.bat) "ogrinfo --formats" should list the OCI driver.
Restart Apache to be safe.
For mapfile configuration see http://www.mapserver.org/input/vector/oracle.html (note that the LAYER syntax differs depending if you use native access or through GDAL)
Move the ogr_SDE.dll and gdal_SDE.dll plugin files up from /ms4w/gdalplugins/ignored/sde-x/ into /ms4w/gdalplugins/
Execute the following at the commandline (after setting /ms4w/setenv.bat):
"ogrinfo --formats"
(should list the SDE driver)
"gdalinfo --formats"
(should list the SDE driver)
Note that you might need to add the ArcGIS location (such as C:/Program Files/ArcGIS/Bin) to your system PATH environment variable. You might need to reboot for changes to take effect.
Create a MapServer LAYER for your SDE connection:
Raster Layers
LAYER TYPE RASTER DATA "SDE:hostname,port,database,username, password,fully.specified.tablename,RASTER" ... END
Vector Layers
Modify your SDE layer in your mapfile to use the CONNECTIONTYPE PLUGIN parameter and point to the appropriate plugin using the PLUGIN parameter:
Example#1: SDE 9.1 layer
LAYER ... CONNECTIONTYPE PLUGIN CONNECTION "hostname,port:xxx,database,username,password" PLUGIN "C:/ms4w/Apache/specialplugins/msplugin_sde_91.dll" DATA "layername,geometrycolumn,SDE.DEFAULT" ... END # layer
Example#2: SDE 9.2 layer
LAYER ... CONNECTIONTYPE PLUGIN CONNECTION "hostname,port:xxx,database,username,password" PLUGIN "C:/ms4w/Apache/specialplugins/msplugin_sde_92.dll" DATA "layername,geometrycolumn,SDE.DEFAULT" ... END # layer
See the ArcSDE section of MapServer's Vector Data Access doc for help with the CONNECTION and DATA parameters: http://www.mapserver.org/input/vector/arcsde.html
A read-only, native MapServer driver that connects to Microsoft SQL Server 2008's spatial capabilities is available in MS4W as of version 2.3.0.
The plugin exists in /ms4w/Apache/specialplugins/msplugin_mssql2008.dll
Modify your SQL Server 2008 layer in your mapfile to use the CONNECTIONTYPE PLUGIN parameter and point to the appropriate plugin using the PLUGIN parameter. Use the CONNECTION parameter to specify the required connection parameters to access SQL Server, and use the DATA parameter to specify the table that holds the spatial information:
LAYER ... CONNECTIONTYPE PLUGIN PLUGIN "C:/ms4w/Apache/specialplugins/msplugin_mssql2008.dll" CONNECTION "server=mysqlserver2008.com;uid=dbusername; pwd=dbpassword;database=Roads Database; Integrated Security=false" DATA "the_geom from roads" TYPE LINE STATUS ON CLASS ... END END
Test your layer, possibly by using the shp2img commandline utility with the '-all_debug 5' switch
The associated RFC document with the original notes on this support is RFC 38
MS4W >= 1.5.0 includes pre-built support files for csharp, java, and python mapscript. In order to make use of these, however, they must be installed and configured in the appropriate locations on your system.
Obviously, in order to run Python mapscript, you need to have a python installed. The Python mapscript support files included in this distribution are built for Python 2.6.x; they will not work with earlier or later Python versions. Windows Python binaries can be obtained free of charge from ActiveState or the Python site.
See the respective sites for Python installation information.
Unpack /ms4w/Apache/cgi-bin/mapscript/python/mapscript*win32.zip in a safe location
In the directory structure that results from the above step, navigate to \Python-2.6.2\Lib\site-packages
Copy the three files into the /ms4w/Apache/cgi-bin directory.
Place any python cgi scripts that you want to run under ms4w in the /ms4w/Apache/cgi-bin directory, and add a "shebang" line at the top of each script. See the section on Configuring Apache to run Python scripts below for shebang-line details.
Unpack /ms4w/Apache/cgi-bin/mapscript/python/mapscript*win32.zip in a safe location
In the directory structure that results from the above step, navigate to \Python-2.6.2\Lib\site-packages
Copy the three files into the site-packages directory of your Python 2.6.x installation (eg., C:\Python26\Lib\site-packages)
Add <drive_letter>:\ms4w\Apache\cgi-bin to your system's PYTHONPATH environment variable.
You have a couple of options here:
This may be the preferred approach if you have multiple Python installations on your machine.
Add a "shebang line" to the top of each python cgi script in /ms4w/apache/cgi-bin. This line must be the first line in the script, and it must begin with #! followed by the path to your systems python executable. For example:
#!c:/python26/python.exe -u
The -u option shown above causes the script to use unbuffered output, which is generally what you need in web-serving contexts.
This approach obviates the need to edit every python script in your cgi-bin directory; however, it may be problematic if you have multiple Python installations.
Add the following line to the end of ms4w/Apache/conf/httpd.conf:
ScriptInterpreterSource Registry
You may also want to add these:
SetEnv PYTHONUNBUFFERED 1 PassEnv PYTHONPATH
The first of the above lines causes your python scripts to use unbuffered output (which you probably want), while the second passes the value of your system's PYTHONPATH environment variable through to Apache's environment (if set).
Follow these steps to test your Python MapScript installation:
Move the file /ms4w/python/test-cgi-mapscript.py into the /ms4w/Apache/cgi-bin/ folder.
Open the file in a text editor.
Edit the first line of that script to point to your proper Python path.
In your web browser goto http://127.0.0.1/cgi-bin/test-cgi-mapscript.py
The script tests that the Python CGI is working, and that the mapscript module can be successfully imported.
If successful you will see an HTML page listing several environment settings on your machine, as well a list of the Python MapScript module attributes at the bottom of the page.
Python Troubleshooting:
In order to use FastCGI you must do the following:
Be sure you have installed the Visual C++ 2010 SP1 Redistributable Package from: http://www.microsoft.com/download/en/details.aspx?id=8328
Open /ms4w/Apache/conf/httpd.conf in a text editor
Uncomment line#129, such as:
LoadModule fcgid_module modules/mod_fcgid.so
At the bottom of the file you will see a commented "<IfModule fcgid_module>" section. If you want to use FastCGI directives (listed on the mod_fcgid page) you can uncomment the section and add your directives, such as:
<IfModule fcgid_module> FcgidMinProcessesPerClass 0 FcgidIdleScanInterval 1 FcgidProcessLifeTime 10 </IfModule>
If you are connecting to an Oracle database using FastCGI, you must also add your Oracle Bin directory (where the 'oci.dll' file exists) to the PATH variable above, such as:
<IfModule fcgid_module> ... FcgidInitialEnv PATH "c:/oracle/product/10.2.0/client/BIN" ... </IfModule>
Save the file and restart apache (execute /ms4w/apache-restart.bat)
Change your CGI application to point to "/fcgi-bin/mapserv.exe" instead of the usual "/cgi-bin/mapserv.exe"
Add the following parameter to your layer for which you want this FastCGI connection:
PROCESSING "CLOSE_CONNECTION=DEFER"
Try the application. If successful you should see the "mapserv.exe" process in the Windows Task Manager remain open while the user interacts with your application.
Notes:
As of MapServer 5.4.1, MapServer can connect through HTTPS connections to WMS/WFS servers. MS4W 3.0 includes the necessary configuration as follows:
Certificate authority bundle is included in /ms4w/Apache/conf/ca-bundle/cacert.pem
Apache's httpf.conf points to the ca-bundle:
SetEnv CURL_CA_BUNDLE "/ms4w/Apache/conf/ca-bundle/cacert.pem"
MS4W's setenv.bat points to the ca-bundle:
set CURL_CA_BUNDLE=\ms4w\Apache\conf\ca-bundle\cacert.pem
For more information on SSL certificates, see: http://curl.haxx.se/docs/sslcerts.html
To setup MapServer as a client to access a remote WMS/WFS server through HTTPS see: http://trac.osgeo.org/mapserver/ticket/3070
Note:
Python 2.6 is required for the Python GDAL module in MS4W, and you must have C:/python26 in your PATH to use the utilities.
The Python GDAL module and its utilities are installed in /ms4w/python/gdal/. To run the utilities:
gdal_merge.py
gdal_merge.py notes:
Warning: dl(): Unable to load dynamic library '/ms4w/Apache/php/extensions/php_mapscript.dll'
Verify that the dll in question exists in the specified location (/ms4w/Apache/php/extensions/). If this dll is not in that location, you might have to modify the application to point to a different version of the dll (e.g. you might have php_mapscript.dll in the extensions directory, and your application might be configured for php_mapscript_48.dll which is not in the extensions directory).
This php_mapscript dll requires several other dlls, and the problem may be that one is missing on your system. In order to hopefully get more information on what dll is missing, go to a command prompt, and do the following:
cd ms4w\Apache\cgi-bin php C:/ms4w/Apache/htdocs/phpinfo_mapscript.php
A windows error window should open with a message like:
The dynamic link library ***** could not be found in the specified path...
Locate this missing dll and copy it either to /ms4w/Apache/cgi-bin/ or your system32 folder.
If you are still unsure what dll is causing this unable to load dynamic library error, a useful utility to find what associated dlls are missing on your system is Dependency Walker. Download the utility, execute the exe, and open your php_mapscript dll.
The dynamic link library MSVCP71.dll could not be found in the specified path...
This is a microsoft runtime library that is apparently not on all Windows systems by default. Download the dll (possibly from here) and copy it to your System32 directory.
Clicking on apache-install.bat flashes a DOS window and does not install the service
To see the exact error message, open a Command window, and execute the 'apache-install.bat' file from a DOS prompt.
cd ms4w apache-install.bat
Only one usage of each socket address (protocol/network address/port) is normally permitted. : make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down
Apache with MS4W is configured to use port 80. Your system might be already using this port (IIS could cause this for example). If you want to change the port that Apache uses modify the following file:
/ms4w/Apache/conf/httpd.conf line 120: Listen 80
TCPView is an example of shareware that lets you see how the ports on your machine are being used.
The procedure entry point xxxx could not be located in the dynamic link library xxx.dll
Make sure that MapServer (or the utility that you are trying to use) is actually using the 'xxx.dll' file that is part of the MS4W package. You could be experiencing 'dll hell' (http://en.wikipedia.org/wiki/DLL_hell) where MS4W is actually finding an older dll on your system. Try renaming the other dll(s) of the same name, keeping the one in MS4W as is, and retrying your application/command.
Other Problems...
Do the following steps in a text editor:
Recommendation: avoid installing MS4W in a path that contains spaces
The following instructions will help non-MS4W users who want to only use the MapServer binaries included in MS4W:
Custom EPSG projections can be added to the bottom of your epsg file at /ms4w/proj/nad/epsg/.
As of MS4W 3.0-beta11, previously included custom projections for Canada have been removed. Here is some of the history:
For reference, here are the old custom Canadian EPSG codes:
## ## Custom projection codes for Canada ## ## WGS84 / LCC Canada <42101> +proj=lcc +ellps=WGS84 +lat_0=0 +lon_0=-95 +lat_1=49 +lat_2=77 +x_0=0 +y_0=-8000000.0 +datum=WGS84 +units=m no_defs <> ## NAD83 / BC Albers <42102> +proj=aea +ellps=GRS80 +lat_0=45 +lon_0=-126.0 +lat_1=50.0 +lat_2=58.5 +x_0=1000000.0 +y_0=0 +datum=NAD83 +units=m no_defs <> # ## NAD83 LCC for Canada <42304> +proj=lcc +ellps=GRS80 +lat_0=49 +lon_0=-95 +lat_1=49 +lat_2=77 +datum=NAD83 +units=m no_defs <> ##
The following section explains how to add password authentication to your MS4W application. However there are many other possible settings in Apache for this, so please consult the Apache HTTP Server documentation.
Here are the minimal steps for password protection:
Modify your application's httpd_xxx.conf file, so that "AllowOverride None" is replaced with "AllowOverride AuthConfig", such as:
Alias /gmap/ "/ms4w/apps/gmap/htdocs/" <Directory "/ms4w/apps/gmap/htdocs/"> AllowOverride AuthConfig Options Indexes FollowSymLinks Multiviews Order allow,deny Allow from all </Directory>
Create a password file.
open a DOS command window, and go to Apache's bin directory
enter the following (replace "jeff" with the username you want to create, press ENTER and you will be prompted for a password to create):
C:/ms4w/Apache/bin> htpasswd -c htpasswd.txt jeff
Create the htaccess file.
create a file in your application directory (/ms4w/apps/gmap/htdocs/ in this example) named '.htaccess'
the file should contain (you can modify it however you wish though):
AuthType Basic AuthUserFile C:/ms4w/Apache/bin/htpasswd.txt AuthName "Password Required" require valid-user
Restart Apache
Access your application in a web browser.
Troubleshooting:
some Windows versions may have difficulty with the '.htaccess' filename, so you might try naming it something else, but you would have to modify Apache's httpd.conf file (/ms4w/Apache/conf/httpd.conf) and add your filename, such as:
AccessFileName .htaccess yourfilename
'htaccess.acl' is recommended, such as:
AccessFileName .htaccess htaccess.acl
a good reference is http://sniptools.com/tutorials/windows-apache-and-htaccess-authentication
The following applications come with a pre-configured install package for MS4W. Go to http://www.maptools.org/ms4w/index.phtml?page=downloads.html to find the desired package, and extract the packages to the MS4W root (e.g. if you installed in C:then extract at C:, and if you installed the base in C:Program Files then extract the packages to C:Program Files).
- ArcIMS Emulator
- Chameleon
- dBox MapServer
- FIST - Flexible Internet Spatial Template
- GeoMOOSE
- ka-Map
- MapBender
- MapServer Itasca Demo Application
- OGC Workshop
- OpenLayers
- GMap Sample PHP/MapScript Application
- phpPgAdmin
- p.mapper
General questions and comments should be sent to the MS4W mailing list, which you can join at: http://lists.maptools.org/mailman/listinfo/ms4w-users
Requests for changes and enhancements to MS4W should be filed in the MS4W tracker.
Custom support is also available from Gateway Geomatics.
In general MS4W is licensed under an MIT/X style license with the following terms:
Copyright (c) 2003-2012 Gateway Geomatics
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
MS4W contains several component packages that are provided under their own licensing terms.
Copyright (c) 1996-2012 Regents of the University of Minnesota
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies of this Software or works derived from this Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Refer to the GDAL license found at /ms4w/gdaldata/LICENSE.TXT
Portions of this computer program are copyright (c) 1995-2012 LizardTech, Inc. All rights reserved. MrSID is protected by U.S. Patent No. 5,710,835. Foreign Patents Pending.
Portions of this software are copyright © 2012 The FreeType Project (www.freetype.org). All rights reserved.
Refer to the Apache license found at /ms4w/Apache/LICENSE-APACHE.txt
Refer to the PHP license found at /ms4w/Apache/php/license.txt