[Chameleon] Startup configuration woes

Paul Spencer pagameba at magma.ca
Wed Apr 14 08:58:34 EDT 2004


Jamie, response in line ...

Jamie van Dyke wrote:

> Hi there again everybody, I listened to the advice previously given, adn
> have now got chameleon 1.1, and the sample application.  However,
> getting them to work in the context I am after is proving beyond me.
> 
> My sample app is in:
> 
> /var/www/html/test/
> 
> That would be everything, and I have my apache server setup to use this
> as the document root:
> 
> http://test.mydomain.com -> /var/www/html/test/htdocs/
> 
> OK, now the chameleon files have been arrange like this:
> 
> /var/www/html/chameleon/htdocs/
> /var/www/html/chameleon/config/
> /var/www/html/chameleon/htdocs_admin/
> /var/www/html/chameleon/html/
> 
> /opt/data/
> /opt/etc/
> 
> The apache web server has been setup to use this as the document root:
> 
> http://chameleon.mydomain.com -> /var/www/html/chameleon/htdocs/
> 
> I have the following as a tmp directory:
> 
> /var/tmp/
> 
> OK, and in the sample app I changed line 9 to be:
> 
> include( "/var/www/html/chameleon/htdocs/chameleon.php" );
> 
> and the map file to be:
> 
> $szMapFile = "/var/www/html/test/map/chameleon.map";
> 
> --------
> 
> Right, so now that leaves me with one problem...how do I configure the
> xml file to portray this.  Here's what I've got, and I get errors saying
> it couldn't find my mapscript php extension (Which I definately have the
> right name for).
> 
> 
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <app-context>
>   <context-param>
>     <param-name>cwc2_url</param-name>
>     <param-value>http://chameleon.mydomain.com/</param-value>
>     <description>This is the URL that points to the HTDOCS directory of
> the local cwc2 installation.</description>
>   </context-param>
>   <context-param>
>     <param-name>server_data_path</param-name>
>     <param-value>/opt/data/</param-value>
>     <description>This is where cached capabilities and other
> information, common to each session, should be. When a user start a new
> session, all files from that directory are copied to
> user_session_tmp_path</description>
>   </context-param>
>   <context-param>
>     <param-name>web_server_path</param-name>
>     <param-value>/var/www/html/chameleon/htdocs</param-value>

this should be http://chameleon.mydomain.com/ ... very poorly described, 
will be fixed for release.

>     <description>This is where chameleon.php script is
> located.</description>
>   </context-param>
>   <context-param>
>     <param-name>ows_schemas_location</param-name>
>     <param-value>http://ogc.dmsolutions.ca</param-value>
>     <description>URL pointing to the root of a repository of OGC
> schemas.  See http://ogc.dmsolutions.ca for an example.</description>
>   </context-param>
>   <context-param>
>     <param-name>wms_parse_file</param-name>
>     <param-value></param-value>
>     <description>Full file path to the binary wms parser executable
> ('/path/to/wmsparse' on Unix, '/path/to/wmsparse.exe' on Windows). 
> Leave empty to use the built in PHP parser (slower).</description>
>   </context-param>
>   <context-param>
>     <param-name>wms_connectiontimeout</param-name>
>     <param-value>30</param-value>
>     <description>Maximum time in seconds that MapServer will wait for an
> answer from a WMS server.</description>
>   </context-param>
>   <context-param>
>     <param-name>allow_upload_context</param-name>
>     <param-value>true</param-value>
>     <description>Enable the "Upload map context" feature? (true or
> false).</description>
>   </context-param>
>   <context-param>
>     <param-name>allow_upload_template</param-name>
>     <param-value>true</param-value>
>     <description>Allow use of the 'TEMPLATE=' parameter when calling the
> CWC2 instance to specify any CWC2 HTML template url? (true or false)  If
> set to false then the value of 'default_template' config parameter is
> always used.</description>
>   </context-param>
>   <context-param>
>     <param-name>cache_template</param-name>
>     <param-value>true</param-value>
>     <description>If template come from a remote server (http://....),
> the template is download from that remote server and saved on local
> server for further loading. For performace, it is prefered to set this
> value to "true". If the remote server template is dynamic, this value
> should be set to "false" so the template will be loaded remotely every
> page load.</description>
>   </context-param>
>   <context-param>
>     <param-name>validate_template</param-name>
>     <param-value>true</param-value>
>     <description>Validate the attributes of each tag in the input
> template.  This should be set to true for debugging but may be set to
> false in a production environment to enhance performance.</description>
>   </context-param>
>   <context-param>
>     <param-name>default_language</param-name>
>     <param-value>en-CA</param-value>
>     <description>Default language specifier. (en-CA or
> fr-CA)</description>
>   </context-param>
>   <context-param>
>     <param-name>default_template</param-name>
>    
> <param-value>/var/www/html/chameleon/htdocs/geobase_en.html</param-value>
>     <description>Default HTML template to use with this CWC2 instance. 
> Used when TEMPLATE= parameter not set, or when allow_upload_template
> config parameter is set to false.</description>
>   </context-param>
>   <context-param>
>     <param-name>invalid_session_template</param-name>
>     <param-value/>
>     <description>Template to display if session is
> invalid.</description>
>   </context-param>
>   <context-param>
>     <param-name>default_context</param-name>
>    
> <param-value>/var/www/html/chameleon/htdocs/gmap_context.xml</param-value>
>     <description>Default map context to load when starting this
> application</description>
>   </context-param>
>   <context-param>
>     <param-name>map_template</param-name>
>    
> <param-value>/var/www/html/chameleon/htdocs/template.map</param-value>
>     <description>Default MapServer mapfile template to use when
> uploading a context file.</description>
>   </context-param>
>   <context-param>
>     <param-name>mapscript_module</param-name>
>     <param-value>php_mapscript.so</param-value>

if it is not finding this then there is a problem with your php 
configuration.  To resolve this, first create a script called 
phpinfo.php somewhere web accessible ...

<?php

phpinfo();

?>

and then access it by web browser, you should get the php info output, 
if you don't then there is a problem you will have to fix ...

If it does work then in the top block it will tell you which php.ini 
file it is using (perhaps, depending on how you configured php when you 
built it).  You need to look in this file to see where your 
extension_dir is pointing to and make sure that php_mapscript.so is in 
there.  You will also need to make sure that the run time linker can 
find dependencies (run ldd php_mapscript.so)

If that appears correct, then change the script to:

<?php

dl( 'php_mapscript.so' );

phpinfo();

?>

and open it again, this time you should get a MapScript block somewhere 
in the output.  Once that is working, try chameleon again.

If chameleon is still not working, check the location of 
session.save_path in php.ini and make sure that it is writable by the 
web server's user.

If all of that is okay without changes, get back to me again :)


>     <description>Mapscript module name (i.e. php_mapscript_40.dll for
> Windows installations or php_mapscript_40.so for Unix
> installations).</description>
>   </context-param>
>   <context-param>
>     <param-name>log_path</param-name>
>     <param-value>/var/tmp/</param-value>
>     <description>Directory in which to write log files.</description>
>   </context-param>
>   <context-param>
>     <param-name>log_error</param-name>
>     <param-value>true</param-value>
>     <description>This define if chameleon should log errors in session.
> If set to false, no errors will be logged at all.</description>
>   </context-param>
>   <context-param>
>     <param-name>log_level</param-name>
>     <param-value>LOG_VERBOSE</param-value>
>     <description>Control the application runtime logging level.  Must be
> one of LOG_OFF, LOG_QUIET, LOG_VERBOSE or LOG_ALL.</description>
>   </context-param>
>   <context-param>
>     <param-name>image_type</param-name>
>     <param-value>PNG</param-value>
>     <description>Output image type (eg: PNG, GIF). Must be uppercase.
> This image format MUST be supported by your browser and GD (on the
> server). Please don't change that value unless you know what you'r
> doing.</description>
>   </context-param>
>   <context-param>
>     <param-name>button_cache_path</param-name>
>     <param-value>/var/tmp/buttons/</param-value>
>     <description>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.</description>
>   </context-param>
>   <context-param>
>     <param-name>button_cache_web_path</param-name>
>     <param-value>/tmp/buttons/</param-value>
>     <description>The URL where a browser can find cached button
> images.</description>
>   </context-param>
>   <context-param>
>     <param-name>tmp_web_path</param-name>
>     <param-value>/tmp/</param-value>
>     <description>URL where browser can find temporary files as context
> or images</description>
>   </context-param>
>   <context-param>
>     <param-name>tmp_img_path</param-name>
>     <param-value>/tmp/</param-value>
>     <description>Directory where temporary image files are
> put.</description>
>   </context-param>
>   <context-param>
>     <param-name>context_root</param-name>
>     <param-value>/tmp/</param-value>
>     <description>Absolute root path to context files. All context should
> be in that folder (or sub folder).</description>
>   </context-param>
>   <context-param>
>     <param-name>context_maxsize</param-name>
>     <param-value>1000000</param-value>
>     <description>This is the context file max size that a CWC2 user can
> upload on the server</description>
>   </context-param>
>   <context-param>
>     <param-name>template_root</param-name>
>     <param-value>/var/www/html/chameleon/</param-value>
>     <description>Absolute root path to template files. All template
> should be in that folder (or sub folder).</description>
>   </context-param>
>   <context-param>
>     <param-name>fontlist_file</param-name>
>     <param-value>/opt/etc/fonts.txt</param-value>
>     <description>Path and filename of the font list file used by
> MapServer (i.e. /path/to/file/fonts.txt ).</description>
>   </context-param>
>   <context-param>
>     <param-name>symbol_file</param-name>
>     <param-value>/opt/etc/symbols.sym</param-value>
>     <description>Path and filename of the symbol file used by MapServer
> (i.e. /path/to/file/symbols.sym ).</description>
>   </context-param>
>   <context-param>
>     <param-name>textbutton_default_font_size</param-name>
>     <param-value>11</param-value>
>     <description>Buttons font size in points</description>
>   </context-param>
>   <context-param>
>     <param-name>textbutton_default_font_antialiasing</param-name>
>     <param-value>true</param-value>
>     <description>Text Button font antialiasing (true or
> false)</description>
>   </context-param>
>   <context-param>
>     <param-name>gd_version</param-name>
>     <param-value>gd2</param-value>
>     <description>Version of GD graphic library (gd, gd2)</description>
>   </context-param>
>   <context-param>
>     <param-name>freetype_version</param-name>
>     <param-value>ttf</param-value>
>     <description>Version of Freetype library used (use "ttf" for
> Freetype 1.3 or "freetype" for Freetype 2.x)</description>
>   </context-param>
>   <context-param>
>     <param-name>execution_timeout</param-name>
>     <param-value>120</param-value>
>     <description>The amount of time in seconds to allow PHP to process a
> PHP page.  This includes (for now) the time required to draw remote WMS
> layers which can be lengthy.</description>
>   </context-param>
> </app-context>
> 
> 
> Thanks for the help, it's much appreciated.
> Jamie van Dyke
> 
> _______________________________________________
> Chameleon mailing list
> Chameleon at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/chameleon
> 

-- 
  -----------------------------------------------------------------
|Paul Spencer                           pspencer at dmsolutions.ca   |
|-----------------------------------------------------------------|
|Applications & Software Development                              |
|DM Solutions Group Inc                 http://www.dmsolutions.ca/|
  -----------------------------------------------------------------



More information about the Chameleon mailing list