mapscript installation on debian
James Cradock
jcradock at ME3.COM
Thu Mar 24 05:43:32 PST 2005
This all assumes that Apache2 and PostgreSQL with PostgreSQL's
libraries are installed. Also assumed: That you're running Debian Sarge
("testing"). (Watch the line breaks!)
Change to user root and bring APT up-to-date:
apt-get update
1. Supporting libraries:
Install libraries to make MapServer useful -- many of these are
documented on the UNIX installation page on MapServer's online
documentation:
apt-get install libgd2 libgd2-dev proj libcurl3 libcurl3-dev libtiff4
libtiff4-dev libjpeg62 libjpeg62-dev freetype2 libgdal1 libgdal1-dev
2. PHP:
PHP must be run as a CGI and it must be configured and built with
system regular expressions. This install of PHP will give you PHP as a
CGI with system regex wihout clobbering mod_php (if it's installed)
with its built-in regex -- note that I'm installing the PHP I want to
use with MapServer in /usr/local/php_for_mapserver-4.3.10 and that I'm
symlinking it to make upgrading PHP easier:
cd /usr/local/src
apt-get source php4-cgi
cd php4-4.3.10
./configure --prefix=/usr/local/php_for_mapserver-4.3.10 --enable-dbase
--with-jpeg=/usr --with-tiff=/usr --with-gd=/usr --with-png=/usr
--with-freetype --with-zlib --with-regex=system
make
make install
cp php.ini-dist /usr/local/php_for_mapserver-4.3.10/lib/php.ini
cd /usr/local
ln -s php_for_mapserver-4.3.10 php_for_mapserver
Setup Apache to execute all *.phtml as PHP CGI. First edit
/etc/apache2/sites-enabled/default (or whatever your default
configuration is):
<Directory "/var/www/mapserver">
AddType application/x-httpd-php-cgi .phtml
Action application/x-httpd-php-cgi /cgi-bin/php
</Directory>
Then add this shell script, called "php", to the /usr/lib/cgi-bin
directory:
#!/bin/sh
export SCRIPT_FILENAME=$PATH_TRANSLATED
/usr/local/php_for_mapserver/bin/php -c
/usr/local/php_for_mapserver/etc/php.ini
Make it executable:
chmod 755 /usr/lib/cgi-bin/php
Make the "mapserver" directory:
mkdir /var/www/mapserver
And make a phpinfo.phtml file:
echo "<?= phpinfo() ?>" > /var/www/mapserver/phpinfo.phtml
If you restart Apache ("apache2ctl restart") and navigate to
"http://127.0.0.1/mapserver/phpinfo.phtml" you'll see the output you'd
otherwise see loading a page with phpinfo() with the *.php extension.
3. MapServer:
cd /usr/local/src
wget http://cvs.gis.umn.edu/dist/mapserver-4.4.1.tar.gz
tar -zxvf mapserver-4.4.1.tar.gz
cd mapserver-4.4.1
./configure --prefix=/usr/local/mapserver-4.4.1 --with-jpeg
--with-freetype=/usr/local --with-zlib --with-png --with-tiff
--with-gd=/usr --with-proj=/usr --with-gdal=/usr/bin/gdal-config
--with-wmsclient --with-php=/usr/local/php_for_mapserver
--with-postgis=/usr/bin/pg_config --with-mygis=/usr/bin/mysql_config
make
make install
"make install" will print this message to your terminal window:
***** MapServer Installation *****
To install MapServer, copy the 'mapserv' file to your web server's
cgi-bin
directory.
If you use MapScript then see the documentation for your specific
MapScript
version for installation instructions.
Copy "mapserv" to the CGI-BIB directory:
cp mapserv /usr/lib/cgi-bin/mapserv
Enable PHP/MapScript:
cd mapscript/php3
mkdir /usr/local/php_for_mapserver/lib/php/20020429
cp php_mapscript.so /usr/local/php_for_mapserver/lib/php/20020429/
In /usr/local/php_for_mapserver/lib/php.ini set the extension_dir to
/usr/local/php_for_mapserver/lib/php/20020429/, enable the
PHP/MapScript module:
extension=php_mapscript.so
And copy php_mapscript.so to the extensions directory:
cp php_mapscript.so /usr/local/php_for_mapserver/lib/php/20020429/
Now you don't need to load the module in your PHP script.
Restart Apache and go again to
"http://127.0.0.1/mapserver/phpinfo.phtml". You'll see a block for
MapScript.
4. Gotchas:
* I've enabled MapServer and PHP/MapScript with support for MyGIS. You
may need to install MySQL 4.1's client libraries:
apt-get install libmysqlclient14 libmysqlclient14-dev
* mod_action may need to be enabled in Apache. It's disabled in Debian
by default:
cd /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/actions.load .
* Again, this all assumes that Apache2 and PostgreSQL with PostgreSQL's
libraries are installed.
I hope this helps. Let me know if I should make changes to these
instructions.
Thanks.
Jim
On Mar 23, 2005, at 10:23 AM, Lehuta Juraj - OZ wrote:
> Yes, it will be fayn,
> thank you very much
>
> WochteR
>
>
> -----Original Message-----
> From: James Cradock [mailto:jcradock at me3.com]
> Sent: Wednesday, March 23, 2005 4:15 PM
> To: Lehuta Juraj - OZ
> Subject: Re: [UMN_MAPSERVER-USERS] mapscript installation on debian
>
> I would install all the supporting software (apache2, proj, gdal, gd,
> etc --
> look at the MapServer UNIX installation docs) from APT and build PHP
> (to run
> as a CGI alongside mod_php) and MapServer from source. I've got an
> utterly
> straightforward installation recipe, including input for a gotcha or
> two
> I've gotten help with from this list, for Sarge, and I can send it to
> you
> later today and amend it to the Debian topic on the MapServer Wiki.
>
> Jim
>
> On Mar 23, 2005, at 10:04 AM, Lehuta Juraj - OZ wrote:
>
>> yes,
>> extension_dir /usr/lib/php4/20020429-zts /usr/lib/php4/20020429-zts
>>
>> and mapscript.so is realy in this directory
>>
>> my Debian is:
>> sarge
>> Linux mapserver 2.6.8-1-686 #1 Thu Nov 25 04:34:30 UTC 2004 i686
>> GNU/Linux
>>
>> I installed mapserver and mapscript packages from deb
>> http://agrogeomatic.educagri.fr/debian woody main
>>
>> by:
>> apt-get install php-mapscript cgi-mapserver php4
>>
>> When I remove the mapscript.so from /usr/lib/php4/20020429-zts I
>> obtain this:
>> Warning: dl(): Unable to load dynamic library
>> '/usr/lib/php4/20020429-zts/php_mapscript.so' -
>> /usr/lib/php4/20020429-zts/php_mapscript.so: cannot open shared object
>> file:
>> No such file or directory in /var/www/test.php on line 2
>>
>> ** cannot open shared object file***
>>
> -----
> James Cradock, jcradock at me3.com
>
> me3 Technology Consultants, LLC
> 24 Preble Street, 2nd Floor
> Portland, ME 04101
>
> 207-772-3217 (office)
> 207-838-8678 (mobile)
>
> www.me3.com
>
>
-----
James Cradock, jcradock at me3.com
me3 Technology Consultants, LLC
24 Preble Street, 2nd Floor
Portland, ME 04101
207-772-3217 (office)
207-838-8678 (mobile)
www.me3.com
More information about the MapServer-users
mailing list