Instalační soubor lze stáhnout z adresy:http://www.apache.org. Je vhodné se řídit instalačními pokyny. Pro nás se jedná o instalační soubor apache_1.3.20-win32-no_src-r2.msi.K dispozici jsou rovněž zdrojové kódy, které je možné kompilovat. Vlastní kompilování je vhodné zejména pro platformu Linux, kde je obvykle bezproblémové a umožňuje do jádra WWW serveru kompilovat specifické nastavení pro danou konfiguraci počítače. Kompilování však vyžaduje určité minimální znalosti kompilování C++ kódů.
Windows
V případě platformy Windows je vhodné využít instalační program, který zajistí instalaci a konfiguraci WWW serveru v rámci operačního systému. Instalace probíhá formou průvodce ve kterém se specifikují základní konfigurační informace pro WWW server.
Spuštění WWW serveru
Podmínky: Nainstalovaný TCP/IP protokol. WNT, 2000 - možné zvolit jak se bude WWW server spouštět. Jako služba OS (pro jednoho uživatele nebo pro všechny)
Ručně
Zda server běží se ověří následovně: http://127.0.0.1/ nebo http://pcj424x.vsb.cz/. Pokud se objeví úvodní stránka nebo seznam stránek index.html.
Konfigurace Apache Web Server
Struktura adresářů: (Implicitní umístění je C:\Program Files\Apache Group\Apache\)
root: - apache.exe a podpůrné dll knihovny
bin: podpůrné programy pro správu WWW serveru
cgi-bin: implicitní adresář pro umisťování cgi aplikací
conf: obsahuje konfigurační soubory
htdocs: implicitní adresář pro kořen WWW stránek
include: obsahuje C a C++ knihovny
lib a libexec: knihovny
logs: logy - error.log, access.log
modules: knihovny modulů
Konfigurační soubory
Acces.conf, srm.conf se dnes nepoužívají a vše se konfiguruje v rámci httpd.conf
Httpd.conf - hlavní konfigurační soubor Apache
magic - configurace detekování typů souborů na základě prvních bytů v souboru
mime.types - definování MIME typů
#
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
Options Indexes FollowSymLinks MultiViews
#
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
ErrorLog logs/error.log – podívat se do adresáře logs
CGI aplikace lze stáhnout z: http://mapserver.gis.umn.edu. Pro nás se jedná o zip soubor ms34png.zip.Instalace se provede pouhým rozbalením zip souboru a zkopírováním příslušných souborů do adresáře cgi-bin WWW serveru. Dvě základní verze: PNG (copy zlib.dll do system32), GIF
Ověření instalace
http://127.0.0.1/cgi-bin/mapserv.exe Oznámí:
No query information to decode. QUERY_STRING is set, but empty.
Chybné oznámení:
Not Found
The requested URL /cgi-bin/mapserv.exe was not found on this server.
Soubor není v adresáři přítomen nebo je poškozen
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, jan.ruzicka@vsb.cz and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Soubor není korektní CGI aplikací - obvykle to znamená, že je poškozen
Příprava jednoduché mapové kompozice pro MapServer
Pracovat budeme v adresáři: C:\Program Files\Apache Group\Apache\htdocs\Php. Do tohoto adresáře zkopírujeme adresáře DataSHP a symbols. Adresář DataSHP obsahuje ESRI Shapefiles a adresář symbols definici symbolů.
Vytvoření souboru s příponou map
Reference na http://mapserver.gis.umn.edu/doc/mapfile-reference.html
NAME prvni.map
Název souboru
STATUS ON
Mapa se má vykreslit
SIZE 600 400
Velikost generovaného rastru
EXTENT -903000 -1225000 -430000 -929000
Rozsah v reálných souřadnicích MinX, MinY, MaxX, MaxY
dl("php_mapscript.dll"); //přimapování DLL knihovny
$mapfile = "prvni.map"; //název souboru mapové kompozice
$mapa = ms_newMapObj($mapfile); //vytvoření objektu MapObj
$img = $mapa->draw(); //získání objektu typu Image
$url = $img->saveWebImage(1, 1); //uložení obrázku do souboru a získání jeho URL adresy
$rect = $mapa->extent; //získání obdélníka $x = $mapa2_x; //místo kliknutí uživatele – souřadnice x v pixelech $y = $mapa2_y; //místo kliknutí uživatele – souřadnice y v pixelech
if ($akce==1) { //ověření zda uživatel zvolil zoom $rect2 = ms_newRectObj(); //vytvoření nového objektu typu Rectangle //nastavení rozsahu obdélníka v reálných souřadnicích //rozsah (minx, ...) se předává v sekci setting the rectangle $rect2->setextent($minx, $miny, $maxx, $maxy); $rect3 = ms_newRectObj(); $rect3->setextent(0, 0, 600, 400); //vytvoření obdélníka v pixelech //zoom mapy na předchozí rozsah zapsaný níže $mapa->zoomrectangle($rect3, $width, $height, $rect2); }
if ($akce==1) { $pPoint = ms_newPointObj(); //vytvoření nového Bodu $pPoint->setXY($x, $y); //nastavení souřadnic dle kliknutí uživatele //zoom na bod $mapa->zoompoint($zoomf, $pPoint, $width, $height, $rect); }
$rect = $mapa->extent; //obdélník ma nový rozsah
?>
//setting the rectangle //zapsání nového rozsahu do stránky ?> minx; ?>> miny; ?>> maxx; ?>> maxy; ?>>