GIS-LAB

Географические информационные системы и дистанционное зондирование

Установка программы MapServer CGI и обучающего пособия

Перед тем, как начать работать с пособием, необходимо убедиться, что веб-сервер запущен и работает и программа MapServer CGI (mapserv или mapserv.exe) установлена в каталог "cgi-bin". Для тех, кто работает в среде Microsoft Windows, рекомендуется использовать пакет MapServer for Windows (MS4W) доступный для загрузки через http://dl.maptools.org/dl/ms4w/. Это полный пакет для Windows включающий веб-сервер Apache, GDAL, Proj.4, MapServer, и все требуемые библиотеки и полезные утилиты.

Для установки пособия под MS4W, просто распакуйте архив tutorial.zip на диск C:\ (или тот диск, где установлен MS4W) и перезапустите веб-сервер. Файлы пособия будут установлены в каталог \ms4w\apps\tutorial и конфигурационный файл для Apache будет установлен как \ms4w\httpd.d\httpd_tutorial.conf.

Для тех, кто уже знаком с программирование под веб и хочет получить альтернативные бинарные файлы MapServer, их можно получить по адресу http://hobu.biz. Вам понадобится установить отдельный веб-сервер и другие утилиты самим. Еще одна альтернатива набор FWTools Frank Warmerdam'а включающий MapServer и ряд другого свободного ПО ГИС. Так же можно попробовать скомпилировать MapServer вручную. Существует две верии описаний компиляции для Win32, одна для компилятора MS Visual C++ а другая для компиляции в среде Cygwin. Если у вас нет компилятора или вы не хотите тратить время на компиляцию MapServer (и библиотек), просто загрузите бинарные файлы с одного из веб-сайтов указанных выше.

Для операционных систем Unix и Unix-подобных поищите бинарный дистрибутив через поиск. Если ничего не находится, всегда можно задать вопрос в списке рассылки MapServer-Users. Если ничего не получается, придется компилировать MapServer и связанные библиотеки. Компиляция и установка для Unix описаны в статье http://mapserver.gis.umn.edu/doc/unix-install-howto.html.

После того, как программа MapServer CGI скомпилирована, пройдите следующие шаги для установки:

1a.
Если компиляция была сделана под Unix, просто скопируйте бинарный "mapserv" в каталог "cgi-bin". В случае веб-сервера Apache этот каталог может быть здесь "/usr/local/apache/cgi-bin/" или здесь /usr/local/apache2/cgi-bin". Если веб-сервер был установлен с ОС, поищите каталог "cgi-bin"и проконсультируйтесь с документацией по ОС.
 

1b.
Если компиляция была сделана под Win32, скопируйте бинарный файл "mapserv.exe"в каталог "cgi-bin" или "scripts". Если также была скомпилирована поддержка проекций MapServer, скопируйте содержимое "proj-4.4.7\nad" каталога в "C:\Proj\nad". Также нужно скопировать все дополнительные библиотеки в каталог указанный в переменной PATH. Обычно это "C:\Windows\System" или "C:\Winnt\System32", но всегда можно добавить еще один каталог в системный (не пользовательский) PATH. Если веб-сервер Apache, каталог "cgi-bin" обычно находится в "C:\Program Files\Apache Group\Apache\cgi-bin". Если веб-сервер Microsoft IIS, каталог "cgi-bin" называется "scripts" и расположен в "C:\Inetpub\scripts". Так же как и в Unix, ознакомьтесь с документацией по своему веб-серверу, чтобы получить больше информации о "cgi-bin" и программах CGI.
 

1c.
Если используются бинарные файлы для Win32 загруженные с сайта MapServer, распакуйте их в "C:\MapServer". Из "C:\MapServer" скопируйте "mapserv.exe" в каталог "cgi-bin". Если веб-сервер Apache, каталог "cgi-bin" обычно находится в "C:\Program Files\Apache Group\Apache\cgi-bin" для Microsoft IIS в "C:\Inetpub\scripts". Скопируйте файлы "C:\MapServer\lib" в C:\Windows\System или C:\Winnt\System32, в зависимости от версии Windows. (Иначе, можно отредактировать системный PATH и добавить "C:\MapServer\lib". В этом случае копировать файлы библиотек не понадобится). Переместите "C:\MapServer\Proj" в "C:\Proj". Этот шаг необходим для поддержки проекций. Так же как и в Unix, ознакомьтесь с документацией по своему веб-серверу, чтобы получить больше информации о "cgi-bin" и программах CGI. 

2.
Протестируйте успешно ли установлен MapServer CGI. При запущенном веб-сервере, откройте эту ссылку в веб-браузере: http://localhost/cgi-bin/mapserv? (под *nix) или http://localhost/cgi-bin/mapserver.exe? или http://localhost/scripts/mapserver.exe? (под Windows). Вы должны получить следующее сообщение:

No query information to decode. QUERY_STRING is set, but empty.

Оно означает, что MapServer работает, но вы не передали ему ничего для обработки. Если сообщение другое, нужно проверить логи ошибок и выяснить их причину. Обычно это означает, что не хватает файлов библиотек (dll). Исправьте проблему или прочитайте MapServer FAQ. Если и это не помогает, ознакомьтесь с архивами списка рассылки MapServer Users, или, если в них нет ответа на ваш вопрос, отправьте сообщение в этот список рассылки MapServer Users (для этого нужно быть подписчиком).
 

3.
Для загружаемой версии пособия, в зависимости от ОС и версии Mapserver, может понадобится поменять имя "mapserv" или "mapserv.exe" на "mapserv50" или "mapserv50.exe". Иначе придется поменять все строки "mapserv50 " или "mapserv50.exe" на "mapserv" или "mapserv.exe" во всех файлах примеров -- а их очень много. Вы можете менять имя бинарного файла MapServer CGI на любое другое. Это не рекомендуется, но таким образом можно запускать несколько версий MapServer одновременно на одной машине.
 

4.
Для загружаемой версии пособия, самый простой способ установки - распаковка в архива в корень каталога установки веб-сервера -- это "htdocs" для Apache или "C:\Inetpub\wwwroot" в IIS. Затем надо отредактировать файлы html изменив все строки "map=/data/projects/tutorial/example*.map" на "map=/your/htdocs/directory/tutorial/example*.map" (Например: для example1-1.html, надо изменить все строки "map=/data/projects/tutorial/example1-1.map" на "map=C:/Inetpub/wwwroot/tutorial/example1-1.map") Символ "*" означает, что надо изменить любые символы следующие после "example". Можно производить эти изменения по мере прохождения примеров.
 

5.
Так же необходимо создать каталог "tmp", самый простой способ - создать этот "tmp" каталог внутри каталога "htdocs" Apache или каталога "wwwroot" IIS. Нужно убедиться, что есть пользовательская учетная запись для веб (обычно это "nobody" в Unix и "IUSR_MACHINENAME" в IIS, где MACHINENAME - имя компьютера). В целях безопасности, нужно убедиться, что у пользователей нет прав на выполнение в этом каталоге. (В Unix под "root", запустите команду "chmod a+w /your/htdocs/directory/tmp" и "chmod a-x /your/htdocs/directory/tmp". В Windows, используйте панель управления IIS.) Также понадобится изменить значение каждого ключевого слова IMAGEPATH с "/data/tmp/" на "/ваш/каталог/htdocs/tmp/" (под Windows, "C:/your/htdocs/directory/tmp" или "C:/Inetpub/wwwroot/tmp").
 

Если установка прошла успешно, можно начинать погружаться в мир MapServer ... Удачи!

Перейти к пособию | Загрузить пособие

Обсудить в форуме Комментариев — 85

Последнее обновление: December 22 2008