/** * Application: Chameleon * Revision: $Id: cham199install.txt,v 1.3 2004-12-22 15:37:51 jfournier Exp $ * Purpose: Chameleon 1.99 Installation Guide for Windows * Author: Jason Fournier (jfournier@dmsolutions.ca) * Copyright: */ Technologies Required: PHP 4.3.x (php and phtml script mappings) PHP MapScript PROJ.4 (must be in system PATH - eg, c:\ or c:\windows\system32; alternatively, you can configure through metadata [see MapServer documnetation]) From this point on this guide will assume that you have all supporting technologies installed and properly configured. Windows 1) Unzip Chameleon to directory of choice. This will create the following base directories: chameleon\config chameleon\cwc2 chameleon\data chameleon\etc chameleon\htdocs chameleon\htdocs_admin chameleon\html chameleon\samples 2) Create the following directories in a web-accessible AND webuser writable directory: ms_tmp ms_tmp/buttons EG: c:\tmp\ms_tmp\ c:\tmp\ms_tmp\buttons\ (In this instance c:\tmp would be web-accessible AND webuser writable). 3) Create the following Aliases (Apache) or Virtual Directories (IIS): /chameleon/ /ms_tmp/ /samples/ Apache EG: Alias /chameleon/ "/path/to/chameleon/htdocs/" /htdocs/"> AllowOverride None Options Indexes FollowSymLinks Multiviews Order allow,deny Allow from all Alias /ms_tmp/ "/path/to/tmp/ms_tmp/" AllowOverride None Options Indexes FollowSymLinks Multiviews Order allow,deny Allow from all Alias /samples/ "/path/to/chameleon/samples/htdocs/" /samples/htdocs/"> AllowOverride None Options Indexes FollowSymLinks Multiviews Order allow,deny Allow from all IIS EG (Assuming that you are using Default Web Site configuration with Home Directory specified to c:\inetpub\wwwroot): Website Location: webroot Name: chameleon Path: :\path\to\chameleon_\htdocs Permission: Default Permissions Website Location: webroot Name: ms_tmp Path: :\path\to\temp_writable_folder\ms_tmp Permission: Read/Write Website Location: webroot Name: samples Path: :\path\to\chameleon_\samples\htdocs Permission: Default Permissions 4) Copy \config\chameleon.xml-dist to \config\chameleon.xml. 5) Edit the following properties: web_server_path - This is the URL to chameleon.php. You can use an alias (i.e. /chameleon/) or an absolute URL (i.e. http://). Note that if you use a URL and set it to http://localhost/ then the app won't work from remote machines. As per step 3 this value would be the Chameleon Alias/Virtual Directory. mapscript_module - Mapscript module name (i.e. php_mapscript_.dll ). For the latest version visit http://www.maptools.org or http://mapserver.gis.umn.edu. button_cache_path - Directory in which to write image files generated for buttons. This directory must be writable by the web server user and web accessible. For performance reasons, this directory should not be cleaned out automatically. As per step 2 this would be c:\tmp\ms_tmp\buttons\. button_cache_web_path - The URL where a browser can find cached button images. As per step 3 this would be ms_tmp/buttons/. tmp_web_path - URL where browser can find temporary files (eg, images). As per step 3 this would be ms_tmp/. tmp_img_path - Directory where temporary image files are put. As per step 2 this would be c:\tmp\ms_tmp\. 6) Test your installation now. Point your browser to http://127.0.0.1// ... you should get an index page with links to several differernt Chameleon applications. Special Notes and WebServer-specific instructions: Apache *Note: ms4w available IIS o With respect to ms4w - It is quite difficult to configure IIS to recognize the default ms4w php installation. It's much quicker to grab the PHP installer from php.net (4.3.x), install it at the root of a drive (eg, D:\php), and allow the installer to perform configuration of IIS. For added security of multi-site IIS servers remove the script mapping to *.php from the root server and apply it only to those sites and/or virtual directories where you need it. o You will most likely have to generate your own mapping for *.phtml. To do this right click -> properties the site or virtual directory you wish to add the mapping to and find the Home tab. 3/4's down the dialog is a Configuration Button - click it. Go to the App Mappings tab and add *.phtml (you will be required to find php.exe on the system) and select All Verbs. Do not test to see if script exists (if it doesn't then you're in trouble anyways). o If your application uses PROJ.4 (probably does) you may run into issues with it. If the PROJ.4 directory cannot be found in your application you will have to place the proj dir in a PATH directory (there is an ENV VAR that you can place in your MapFile to point to a PROJ directory other than a PATH ... consult the MapServer Documentation). o Different situations may call for different IIS site configurations. Here are a couple you may encounter: - Default Website contains ALL sites (can get ugly). In this instance the sites are hosted off of one IP and all directories underneath appear in the URL. All of your configs will be virtual directories. - Multiple websites which have either discrete IP's or use the same IP with different ports (which get NAT'ed at the firewall or router). In this case you will probably be required to create a new site for your application and place all the virtual directories under that site. Notables o You can get IIS lockdown from microsoft.com and run the program using the dynamic site template. Only use this tool if the client allows you to (obviously). This tool essentially removes unwanted script mappings (eg, .printer) to reduce vulnerability. o Microsoft also has a product called MSBA (Microsoft Baseline Security Analyzer). This tool allows users to seek vulnerabilities in the configuration of different components of the OS including webservers. May seem odd to use an MS product to detect MS problems but it could help shed light on things (at the very least). Linux Apache