Настройка MatLab web-server на платформе Apache и его приложения для моделирования физических процессов
9 июня 2009
Рубрика: Обзоры и мнения. Тэги:
Автор: Вахид Хамидов, Илхом Идиев.

Создание демонстрационных программ, позволяющих представлять материалы в виде одномерных или двухмерных графиков, поверхностей, цветовых карт, анимированных графиков или поверхностей, представляет особенный интерес для преподавателей математики, физики, химии и ориентируется на интерактивное создание материалов. 

Для создания эффективных демонстрационных материалов необходимо программное обеспечение, позволяющее использовать современные возможности, предоставляемые сетью интернет, гипертекст, интерактивность, мультимедиа. Использование сети интернет в некоторых случаях существенно снижает требования к ресурсам компьютера на стороне пользователя, что также является немаловажным преимуществом.

Нами в течение нескольких лет проводятся работы по разработке сайта (локального), посвященного физическому моделированию. Центральная часть локального сайта — виртуальная лаборатория, основным назначением которой является моделирование физических процессов. Виртуальная лаборатория предоставляет доступ удаленному пользователю к проблемно-ориентированному программному обеспечению и высокопроизводительной вычислительной системе и является уникальной по набору моделей. В данной работе используются технологии: приложения на основе MatLab web-server, что позволяет исследовать широкий класс моделей.

Компонент MatLab web-server (MWS) предназначен для создания приложения MatLab, использующего интерфейс WWW для посылки запросов в MatLab, с последующим выводом результатов в web-браузере. То есть, пользователь заходит на специально подготовленную страницу в интернете (или интранете) и вводит данные поставленной задачи. Они поступают в программу MatLab, которая, исходя из введенных данных, проводит необходимые вычисления, отправляет результат, который визуализируется непосредственно на странице web-браузера. Таким образом, пользователь, имея web-браузер, использует данный компонент для возможности построения доступной, универсальной и удобной системы решения математических задач, которая не будет накладывать на пользователя никакие аппаратные и программные средства, поскольку все необходимые операции будут выполняться на сервере.

Применение MWS особенно продуктивно в дистанционном образовании. Учебные программы, моделирующие физические или иные явления, которые позволяют представить результаты расчетов в виде графических и анимационных изображений, являются действенным инструментом обучения в арсенале преподавателей естественнонаучных дисциплин. Особую ценность представляют программы «двойного» назначения, которые можно использовать как для лекционных демонстраций и обучения студентов на практических занятиях, так и для самостоятельных занятий обучаемых через интернет при предварительном ознакомлении с материалом или для закрепления полученных знаний.

В настоящем анализе излагаются этапы настройки web-сервера и приложения этого MatLab web-server по моделированию физического процесса на примере расчета уровня Ферми и концентрации носителей заряда в примесном полупроводнике.

Несмотря на свое название, MatLab web-server (MWS) не является web-сервером. MWS — это сервис взаимодействия MatLab с web-сервером. Сервисом, или службой, принято называть программу, которая может постоянно находиться в памяти компьютера в ожидании предназначенных для нее команд. Этим сервис отличается от обычной программы, которая автоматически выгружается из памяти компьютера, завершив обработку поступившей команды.

Для определенности будем считать, что в качестве web-сервера используется Apache.
Вариант с использованием web-сервера Apache, особенно популярного в среде Unix, описан в документации MWS. Однако мы предлагаем свой вариант настройки web-сервера Apache. Дело в том, что настройки сервера, описанные в фирменной документации, малопригодны для реальной работы, поскольку предполагают, что в одном каталоге размещены разнородные файлы, относящиеся к разным приложениям. Более продуктивна конфигурация, в которой каждому приложению MatLab выделен отдельный каталог со своей внутренней инфраструктурой, что упрощает одновременную разработку нескольких приложений и администрирование сервера.

Пользователи общаются с сервером непосредственно через свои web-браузеры без наличия какого-либо специального программного обеспечения (рис. 1).

Интерактивные демонстрационные версии в основном состоят из двух документов HTML и одного М. MatLab файл. Первый документ HTML необходим для сбора данных от пользователя с использованием форм HTML. Затем данные посылаются серверу, где извлекаются из документов HTML и передаются программе MatLab (М. файл), который выполняет все необходимые числовые вычисления. Документ HTML, содержащий результаты в виде текста или изображения, формируется web-сервером MatLab и посылается обратно пользователю, где отображается в его web-браузере. На рис.1 показаны пути перемещения данных между пользователем и сервером.

Для установки и настройки такой системы необходимо установить на один диск следующие программы:
1. Программа MatLab;
2. HTTP-сервер, например, Apache;
3. Интерпретатор языка Perl.

Установка программы MatLab
Установка программы MatLab происходит обычным образом, только в разделе выбора компонентов необходимо отметить Matlab web-server (рис.2).

Установка и настройка web-server

Наиболее подходящим для создания данной системы является Apache HTTP Server, т.к. он является популярным, доступным и бесплатным.

Последняя версия Apache HTTP Server доступна на сайте http://httpd.apache.org/download.cgi, откуда можно скачать установочный файл «Win32 Binary without crypto (no mod_ssl) (MSI Installer)» (на данный момент последней версией является 2.2.8 — http://download.filehat.com/apache/httpd/binaries/win32/apache_2.2.8-win32-x86-no_ssl.msi).

При установке Apache после соглашения с предложенными условиями переходим в следующее диалоговое окно, изображенное на рисунке, нажатием «Next».

В поле «Network Domain» указывают имя домена (рис. 3). При наличии собственного зарегистрированного домена вы можете указать его (после этого необходимо в домене прописать ns вашего сервера). В случае отсутствия своего домена можно ввести любое значение.

Далее на диске С необходимо создать папку «web-server», в которую будут устанавливаться все необходимые программы. Затем необходимо выбрать следующий путь для установки: C:\webserver\apache\ (рис. 4).

Установка Perl

Последняя версия ActivePerl доступна для просмотра и скачивания на странице http://www.activestate.com/store/activeperl/wp-content/download/. После указания своего имени и e-mail программа доступна для бесплатного скачивания.

Установка не должна вызвать проблем. Единственное, что можно изменить, — это путь установки. Мы выбрали C:\webserver\perl\ (рис. 5).

Настройка Аpache

Необходимо открыть файл C:\webserver\apache\Apache2\conf\httpd.conf в любом текстовом редакторе, например, Блокнот. Находим нужную строчку.

Для того чтобы сделать ваш сайт доступным по сети или в интернете, вам необходимо изменить строчку: Listen 80 на Listen:80, где вместо необходимо вписать ip-адрес, под которым вы подключены в сеть/интернет. Его (ip-адрес) можно узнать, запустив Пуск > Выполнить, вписать там cmd. В командной строке выполнить следующую команду: ipconfig. После этого выдается информация о подключениях на вашем компьютере. Найдите то подключение, через которое вы подключены. Напротив строчки IP-адрес автонастройки будет ваш ip-адрес.

Чтобы разрешить Apache запускать perl скрипты, необходимо строчку
#AddHandler cgi-script .cgi поменять на AddHandler cgi-script .cgi .pl .exe .bat

Затем необходимо произвести замену следующих строчек:

На соответствующие:

Строчка Alias /icons/ «C:/webserver/apache/Apache2/icons/» меняется на: Alias /icons/ «C:/webserver/apache/Apache2/htdocs/example/»

В случае отсутствия данной строчки, необходимо добавить ее в конце файла.
Затем добавляем в конец файла строчки: AddDefaultCharset WINDOWS-1251
ScriptInterpreterSource registry

На этом настройка сервера завершена. Далее двойным нажатием на значок Аpach в трее запускаем «Restart» (рис. 6).

Информация об успешной установке Perl визуализируется на странице http://127.0.0.1/cgi-bin/printenv.pl (рис. 7).

После успешной установки необходимо проверить и запустить MatLab web-server

Для этого необходимо выполнить следующую последовательность действий:
1. Создать папку example в C:\webserver\apache\Apache2\htdocs.
2. Открыть папку \toolbox\webserver\ wsdemos в директории программы matlab (у нас, например, это папка C:\matlab\toolbox\webserver\wsdemos ).
3. Скопировать файлы matweb.exe и matweb.conf в C:\webserver\apache\ Apache2\cgi-bin.
4. Остальные файлы этой директории скопировать в папку C:\webserver\ apache\Apache2\htdocs\example.
5. Открыть файл C:\webserver\apache \Apache2\cgi-bin \matweb.conf в Блокноте. Везде, где содержится , необходимо поменять на 127.0.0.1.
6. Точно также /toolbox/webserver/wsdemos поменять C:\webserver\apache\Apache2\htdocs\example.
7. Запустить программу MatLab.
8. Запустить компонент MatLab web-server.
9. Зайти в Пуск->выполнить->cmd .
10. Выполнить: Cd C:\matlab\ webserver\ bin\win32 matlabserver.exe –debug.

Успешная установка сопровождается появлением следующего окна (рис. 8).

Далее для запуска необходимо:

1. Набрать в браузере http://127.0.0.1/example/ .
2. Выбрать демо-программу, например, «MATLAB Matrix display», которая выводит в таблице матрицу программы MatLab.
3. Ввести необходимый параметр «Magic square size» и нажать «Submit».
4. В итоге на экране должна появиться рассчитанная матрица (рис. 9).

Другие пользователи из сети интернет тоже могут пользоваться данным сервисом. Для этого они должны в браузере набирать не http://127.0.0.1 (как мы набирали для обращения к собственному компьютеру), а http://, где это ваш ip-адрес в сети/интернет (тот, который вы прописали в httpd.conf в строке «Listen»), например, если ваш ip в сети 192.168.200.5, то необходимо набирать http://192.168.200.5/.

Каждая демонстрация состоит из программы, написанной нами в среде MatLab, результатом выполнения которой могут быть численные или графические материалы, которые MatLab web-server вставляет в html-файл и отправляет его на компьютер пользователя. Для передачи входных данных также используется html-форма, данные из которой извлекаются сервером и передаются в программу. Таким образом, пользователь может многократно использовать демонстрационную программу, задавая различные входные данные и наблюдая за результатом. При этом наличие установленного пакета MatLab на компьютере пользователя не требуется. Необходим обычный браузер, например, Internet explorer. На web-сервере должен быть разрешен запуск cgi-приложений, установлен MatLab и MatLab web-server.

Ниже приведен фрагмент интерфейса модели расчета зависимости уровня Ферми и концентрации носителей заряда от температуры в примесном полупроводнике в широком интервале концентрации доноров и акцепторов. Модель работает локально на MatLab web-server. Моделирование зависимости уровня Ферми и концентрации носителей электронного полупроводника с помощью математического пакета MatLab показывает, что максимум в указанной зависимости наблюдается только в узком диапазоне температуры образца и при высоком уровне легирования, что невозможно наблюдать при обычных расчетах.

Orphus system
В Telegram
В Одноклассники
ВКонтакте