PHP для правильной работы с Apache . Если его не подключить, то могут возникать проблемы при работе со скриптами.
6. После подключения модуля PHP добавьте две строчки:
#For the module mod_rewrite
RewriteEngine On
7. Далее идет раздел добавления модулей Apache - AddModule . Его необходимо по- менять местами с разделом LoadModule . Т.е. раздел:
# Reconstruction of the complete module list from all available modules
# (static and shared ones) to achieve correct module execution order.
AddModule mod_setenvif.c поместите перед словами:
37
#
# Dynamic Shared Object (DSO) Support
#
Перейдем ко второму разделу файла httpd.conf — конфигурация сервера по умолчанию.
8. В опции ServerAdmin следует указать адрес, на который следует направлять сооб- щения в случаи неправильной работы сервера: ServerAdmin admin@localhost.ru
9. Опция ServerName задает имя сервера: ServerName localhost
10. Опция DocumentRoot указывает каталог, в котором расположены web-страницы:
DocumentRoot "/home". Было:
38
Стало:
11. Опция и используется для применения опций к конкрет- ному каталогу. Замените следующий блок:
#
# 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
на блок:
#
# 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 Includes 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 All
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
В этом блоке была настроена папку home. Давайте разберем значения опций.
● Директива Options определяет, какие особенности сервера являются доступными в данном каталоге:
– Indexes — если запрошенный URL соответствует папке, и в этой папке нет ничего соответствующего DirectoryIndex (например, index.html ), то сервер выведет содержание данной папки;
39
– FollowSymLinks — разрешить переходы по символическим ссылкам (создаваемым командой ln );
– Includes — разрешить SSI (Server Side Includes);
– MultiViews — разрешить поддержку многих языков.
● Директива AllowOverride позволяет отменять, при помощи файлов .htaccess, ранее установленные директивы. Если данная директива установлена в None, то файл .htaccess иг- норируется, если же в All, то все директивы .htaccess файла будут допускаться.
● Директивы Order allow,deny и Allow from all определяют, кто может получать, что бы то ни было с данного сервера.
12. Закомментируйте следующий модуль:
#
# UserDir "D:/usr/Apache/users/"
#
13. Далее для опции DirectoryIndex необходимо указать файлы, которые будут загру- жаться, когда происходит обращение к папке, а не к конкретному файлу:
DirectoryIndex index.html index.htm index.php index.shtml index.shtm
14. В блоке:
"^\.ht">
Order allow,deny
Deny from all
Satisfy All
удалите строку:Satisfy All.
15. Далее следует отключить директиву UseCanonicalName On, т.е. поставить значе- ние Off: UseCanonicalName Off
40 16. Если вы желаете, чтобы в сообщениях об ошибке высвечивался e-mail админист- ратора, то замените в следующей опции On на Email:
ServerSignature EMail
17. Находим такую строку: ScriptAlias /cgi-bin/ "D:/usr/Apache/cgi-bin/" и заменяем ее другой строкой:ScriptAlias /cgi-bin/ "/home/cgi-bin/"
Этот каталог cgi-bin, в котором должны располагаться ваши CGI-скрипты. Он был создан в директории home .
18. Установите следующие опции для папки cgi-bin:
AllowOverride All
Options ExecCGI
41 19. Ищем строку AddType application/x-tar.tgz , она расположена после настроек при- оритета языков. Перед этой строкой необходимо добавить блок подключения php:
#AddType application/x-httpd-php phtml php3 php #ScriptAlias /__php_dir__/ "/usr/php/" #Action application/x-httpd-php "/__php_dir__/php.exe" Первая строка указывает расширения файлов, которые должны обрабатываться PHP интерпретатором. Во второй строке связывается настоящий путь к PHP и псевдоним, а в третьей указывается файл интерпретатора. Эти строки пока следует закомментировать, иначе могут возникнуть ошибки. После настройки PHP, комментарии нужно будет снять.
20. Далее настраивают SSI — очень мощный и в то же
время очень простой инстру- мент, способный помочь при создании и поддержке сайта. С помощью SSI -директив, их еще называют SSI -вставками, можно включать в страницу другие файлы, результаты работы программ, значения системных переменных и пр. Преимущества этой технологии особенно проявляются, когда нужно поддерживать достаточно большой по объему сайт, который име- ет определенную структуру и повторяющиеся по всему сайту элементы. Для подключения
SSI находят строки, снимают с них комментарии и изменяют, как показано ниже: AddHandler cgi-script.cgi. Затем надо раскомметировать и изменить:
AddType text/html .shtml .shtm AddHandler server-parsed .shtml .shtm Было:
Стало:
Этими директивами настраиваем SSI. Apache будет обрабатывать файлы с указанны- ми расширениями процессором SSI . Это наиболее стандартный ход. Впрочем, вместо .shtml можно написать .html или .phtml — главное, чтобы расширение было идентично расшире- нию, которые использует для обозначения использующих SSI файлов провайдер.
И, естественно, нужно включить сам «механизм» вложения, а для этого добавить к команде Options слово Includes. Тогда строка с командой Options может принять вид: Options
Indexes FollowSymLinks Includes
42
Далее надо раскомметировать: AddHandler send-as-is asis
Эта функция разрешает Apache передачу файлов, не сопровождающихся http заголовками.
21. Для использования карт изображения и карт типов раскомметируйте следующие строки:
AddHandler imap-file map AddHandler type-map var 22. В самый конец файла добавьте строку:
Include conf/vhosts.conf
Сохраните все изменения файла httpd.conf . Создайте резервную копию рабочего фай- ла httpd.conf (например, с названием: httpd.conf рабочий). Этоможет оказаться полезным при восстановлении системы.
23. Создайте в папке D:\usr\Apache\conf файл vhosts.conf:
Допустим, что Вам придется работать с несколькими серверами. Разработчики Apache предусмотрели и этот вариант. При настройке Apache , изначально сделано так, чтобы с по- явлением нового сервера на Вашем компьютере его было легко подключить и настроить. Для этого при настройке Apache создают файл vhosts.conf и в конец файла httpd.conf добавляют строчку «Include conf/vhosts.conf» , которая подключает этот файл.
Добавление нового сервера подробно описано в разделе 2.4.
24. Теперь перезапустите Apache: Пуск → Все программы → Apache HTTP Server →
Control Apache Server → Restart.
Если все сделано верно, то откроется консольное окно.
В консольном окне сообщается, что Apache запущен, модуль PHP 4.3.9RC3 для пра- вильной работы Apache с PHP установлен и работает.
Если же имеются ошибки, то в течение 30 секунд оно будет запущено и в нем будет написана ошибка, по которой Apache не
может быть запущен, например.
Ошибка может возникнуть также, если забыли создать файл vhosts.conf и хотя бы один виртуальный хост.
Создание виртуальных хостов Разработчики Apache предусмотрели возможность создания нескольких виртуальных хостов. При настройке Apache , изначально сделано так, чтобы с появлением нового сервера на Вашем компьютере его было легко подключить и настроить.
Для этого при настройке Apache был создан файл vhosts.conf и в конец файла httpd.conf добавлена строчка «Include conf/vhosts.conf» , которая подключила этот файл:
43
Для того чтобы добавить новый сервер:
● необходимо создать папку, в директории home, в которой будут расположены сер- верные папки и файлы;
● сделать описание этого сервера в файле vhosts.conf;
● добавить название сервера и
IP-адрес в файл
C:\WINDOWS\ system32\drivers\etc\hosts.
Т.к. в файле httpd.conf имя сервера мы установили localhost и папку для документов установили home , то это нас не устроит, потому что во всем должен быть порядок (сейчас поймете, о чем идет речь).
Если мы оставим все как есть, то html документы, принадлежащие серверу localhost , и новые виртуальные серверы окажутся в одной папке home . Это выглядит не очень красиво и удобно.
Поэтому мы перенастроим localhost, оформив его в виде виртуального сервера:
1. Создайте в папке home папку localhost, а в ней папку cgi-bin.
2. Добавьте следующее описание в файл vhosts.conf:
#----localhost
DocumentRoot "/home/localhost/"
ServerName localhost
ScriptAlias /cgi-bin/ "/home/localhost/cgi-bin/"
ErrorLog /home/localhost/error.log
Здесь папка cgi-bin (вместо cgi), html -файлы (которые должны располагаться в папке html) и файл error.log будут находиться в одной папке localhost. Эти описания можно было сделать в файле httpd.conf , но если все виртуальные серверы описать в отдельном файле, то строение вашего http-сервера становится более наглядным.
3. Создайте второй виртуальный хост. Допустим, что Ваш сайт расположен в Internet по адресу http://mysite.ru. Настроим Apache так, чтобы при наборе этого адреса загружался
Ваш сайт, без выхода в Internet. Для этого в папке home создайте папку mysite и в папке mysite папки cgi и html. Опишите данный сервер в файле виртуальных хостов vhosts.conf:
- задается IP-адрес сервера
DocumentRoot "/home/mysite/html/" - папка расположения документов
ServerName www.mysite.ru - имя сервера
ScriptAlias /cgi-bin/ "/home/mysite/cgi/" - папка с cgi-скриптами
ErrorLog /home/mysite/error.log - расположение файла ошибок
CustomLog /home/mysite/access.log common - расположение файла доступа
- закрываем описание сервера
#----localhost
DocumentRoot "/home/localhost/"
ServerName localhost
ScriptAlias /cgi-bin/ "/home/localhost/cgi-bin/"
ErrorLog /home/localhost/error.log
#----mysite
DocumentRoot "/home/mysite/html/"
ServerName www.mysite.ru
ScriptAlias /cgi-bin/ "/home/mysite/cgi/"
ErrorLog /home/mysite/error.log
CustomLog /home/mysite/access.log common
44
В конец файла С:\WINDOWS\system32\drivers\etc\hosts добавьте IP -адрес и имя сер- вера: 127.0.0.2 mysite.ru. Перезапустите Apache.
5) Если Вам понадобиться обратить к сайту mysite.ru на удаленном сервере, то заком- ментируйте строку: #127.0.0.2 mysite.ru в файле С:\WINDOWS\system32\drivers\etc\hosts .
Не забывайте про это, иначе при попытке обращения к удаленному серверу, Вы буде- те оказываться на своем локальном.
Что бы этого не делать, лучше виртуальные хосты называть так же, как и на настоя- щем web-сервере, но только без «суффикса» .ru или .com. В этом случае, используя правило
«отсечения суффиксов» можно легко обращаться к «реальному» и «виртуальному» хостам, даже если имеется подключение к Интернет.
Вы можете использовать любой IP-адрес из диапазона 127.0.0.1 – 127.255.255.255.
На этом настройка сервера окончена. Перезапустите его. Все должно работать.
Если Вы получаете сообщение об ошибке и номер строки в файле http.conf, где она произошла, то исправьте ошибку и перезапустите сервер. Если ошибок больше нет, то поя- вится показанное выше окно.
Задания для самостоятельной работы
Осуществить указанные задачи согласно инструкции из теоретического обоснования.
Список рекомендуемой литературы
1. Сетевые операционные системы. — Режим доступа: http://citforum.ru/ operating_systems/sos/contents.shtml. — Дата обращения: 20.06.2017.
2.
Сетевые технологии.
—
Режим доступа: http://www.4stud.info/ networking/lectures.html. — Дата обращения: 20.06.2017.
45
Практическая работа №14–17 Темы: Разработка сценариев тестирования по заданным методам и видам тестирова- ния. Тестирование информационной системы по заданным сценариям
Задачи:
1. Определить понятия «тестирования» и «сценарии тестирования».
2. Изучить методы и инструменты тестирования программных продуктов.
3. Сформулировать сценарий тестирования программного продукта и сетевого про- граммного продукта.
4. Осуществить разработанный сценарий тестирования.
Теоретическое обоснование Тестирование — это наблюдение за функционированием программного обеспечения в специфических условиях с целью определения степени соответствия ПО требованиям к нему.
Тестирование ориентировано на оценку качества ПО с помощью следующих методов:
поиск и документирование дефектов качества;
общие рекомендации относительно качества;
проверка выполнения основных предположений и требований на конкретных примерах;
проверка, что
продукт функционирует так, как было запроектировано;
проверка, что требования выполнены соответствующим образом.
Процесс тестирования имеет циклический характер и запускается при каждой сборке системы в процессе разработки. В зависимости от задач, которые ставились перед сборкой, проверка может быть более или менее полной. Но, как минимум, она должна включать неко- торый набор тестов на «дым», проверяющих, что основная функциональность системы не нарушена, и при ее запуске от компьютера не «валит дым», как из негерметичного трубопро- вода (для которых исходно такие тесты и применялись). Типовой цикл тестирования приве- ден на рис. 14.1.
Рис. 14.1
— Цикл тестирования
46
Рассмотрим кратко этапы цикла тестирования.
Определение цели тестирования. Включает выбор тестируемых фрагментов и фор- мулирование задач тестирования (например, определить пригодность архитектуры, прове- рить реализацию основной функциональности, проверить выполнение требований заказчика в полном объеме).
Верификация метода тестирования. Настройка среды и инструментов тестирова- ния, выполнение отдельных тестов, подтверждение возможности реализовать задачи и цели тестирования.
Подтверждение правильности сборки. Проверка сборки на явные ошибки, для сбо- рок, в которых не реализован достаточный объем новой функциональности, тестирование может на этом и закончиться.
Тестирование и оценка. Разработка (уточнение) необходимых тестов, выполнение
тестов в ручном или автоматическом режиме, оценка результатов. Оценивается, с одной сто- роны, качество и эффективность тестирования, а, с другой стороны, качество тестируемой системы и ее соответствие требованиям, предъявляемым на данном этапе разработки.
Улучшение набора тестов. Описание и сохранение тестов, наборов тестовых дан- ных, настроек среды и инструментальных средств, которые можно использовать в после- дующих тестовых циклах.
Выполнение задач жизненного цикла сопровождается разработкой различных арте- фактов (документов, моделей и других материалов проекта). Разумеется, и процесс тестиро- вания сопровождается подготовкой некоторых документов:
План тестирования. Документ, определяющий стратегию тестирования на каждой итерации. Включает в себя описание целей и задач тестирования в текущей итерации, стадии тестирования для каждой итерации, перечни тестов, начальные и конечные метрики и крите- рии тестирования,
набор методов и инструментальных средств, необходимых для проведе- ния тестирования и оценки качества.
Сценарий тестирования (test case). Документ, содержащий описание теста. Опре- деляет входную информацию, условия и последовательность выполнения действий, ожидае- мый выходной результат.
Тестовые данные. Документ, определяющий наборы входных данных для тестов, а также ожидаемые результаты, с которыми полученные результаты выполнения тестов должны сравниваться как с эталонными. Имеет смысл хранить тестовые данные в одном месте, при этом данные полезно группировать по группам тестов.
Тестовый скрипт. Документ, содержащий описание действий, необходимых для выполнения конкретного сценария тестирования.
Набор тестов. Пакет, объединяющий сценарии тестирования. Позволяет группиро- вать тесты с похожими задачами, а также зависимые тесты, которые должны выполняться в определенном порядке, т. к. последующие тесты используют данные, сформированные в хо- де выполнения предыдущих.