- •Лабораторная работа 1 Использование сетевых утилит (маленькая…)
- •Лабораторная работа 2 Программное обеспечение для организации «виртуальных машин» - vMware Player.
- •5 Основных причин внедрить по виртуализации
- •Лабораторная работа 3 Установка FreeBsd 10.0 на «виртуальную машину» на базе vMware Player. Первоначальная настройка сервера на основе FreeBsd 10.0.
- •Лабораторная работа 5 Установка и настройка Web-сервера (Apache, php).
- •Лабораторная работа 6 Протокол http. Обмен данными между web-сервером и клиентом по протоколу http.
- •Лабораторная работа 7 Расширенная настройка web-сервера Apache.
- •Лабораторная работа 8 Среда разработки NetBeans ide. Отладка JavaScript и php сценариев на удаленном web-сервере с помощью NetBeans ide и расширения xDebug.
- •Лабораторная работа 9 Основы построения ajax приложений.
- •Лабораторная работа 10 Взаимодействие с сервером, передача данных. Методы get, post, head.
- •Часть 1. Запрос методом get.
- •Часть 2. Запросы методом post и head.
- •Лабораторная работа 11 Передача сложных типов данных. Нотация json.
- •Часть 1. Форма авторизации пользователя.
- •Часть 2. Проверка пользователя.
- •Часть 3. Закрыть сообщение об ошибке.
- •Часть 4. Список пользователей online.
- •Лабораторная работа 12 Использование xml. Xmlrpc.
- •Часть 1. Получение способов доставки.
- •Часть 2. Отображение способов доставки на экране.
- •Часть 3. Получение расчетной общей стоимости заказа.
- •Часть 4. Отображение данных детализации расчета стоимости заказа.
- •Лабораторная работа 13 Использование xml Webсервисов. Протокол soap.
- •Часть 1. Изучение xml файлов с текстом soap сообщений.
- •Часть 2. Регистрация новой сессии пользователя.
- •Часть 3. Добавление книг в корзину.
- •Часть 4. Отображение содержания корзины на экране.
- •Часть 5. Очистка корзины.
- •Лабораторная работа 14 Безопасность и эффективность ajax приложений.
- •Часть 1. Запрос «соли» хеширования с сервера.
- •Часть 2. Хеширование пароля.
- •Часть 3. Вывод результата авторизации.
- •Часть 4. Загрузка больших объемов данных (глав книги).
- •Часть 5. Показ главы книги.
Лабораторная работа 5 Установка и настройка Web-сервера (Apache, php).
Цель
Изучить основные этапы установки и настройки web-сервера Apache на платформе FreeBSD.
Теоретические сведения
Apache HTTP сервер
Это свободно распространяемый веб-сервер, является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare.
Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т.д. Поддерживает IPv6.
Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации:
Конфигурация сервера (/usr/local/etc/apache24/httpd.conf).
Конфигурация виртуального хоста (/usr/local/etc/apache24/httpd.conf c версии 2.2).
Конфигурация уровня директории (.htaccess).
Имеет собственный язык конфигурационных файлов, основанный на блоках директив.
Выполнение
Запускаем PuTTY и подключаемся к серверу под учетной записью root.
Выполните инсталляцию web-сервера Apache24 из сети, использую утилиту pkg.
Выполняем поиск пакета с сервером Apache24
pkg search apache24
Утилита pkg находит последнюю, актуальную версию Apache24, ее и устанавливаем
pkg install apache24-2.4.16
Посмотрите, какие дополнительные пакеты были установлены (pkg info).
Выполним минимальную начальную настройку. Редактируем файл (/usr/local/etc/apache24/httpd.conf
директива Listen – если сервер имеет несколько сетевых интерфейсов, то можно указать Apache «слушать» запросы только на определенном порту и по определенному IP адресу
оставляем без изменений
директива ServerName – устанавливает полное доменное имя с использованием, которого производится обращение к web-серверу.
указываем – www.Server_FreeBSD.MyCompany.ru
Работая в хостовой ОС, проверяем доступность сервера FreeBSВ по IP-адресу (192.168.180.2), а затем по имени www.Server_FreeBSD.MyCompany.ru с помощью команды ping. Если сервер не доступен по IP-адресу, то проверяем настройки сетевых подключений. Если не доступен по имени, то в файле hosts (для Windows XP – C:\WINDOWS\system32\drivers\etc\hosts) укажите соответствие IP адреса и имени
192.168.180.2 www.Server_FreeBSD.MyCompany.ru
Скорректируем файл /etc/rc.conf, что бы web-сервер запускался автоматически при старте системы, добавим строчку:
apache24_enable="YES"
В файле /etc/hosts прописываем соответствие IP адреса и символьного имени (указываем имя хоста, которое задавали при установке)
192.168.180.2 FreeBSD_Srv.MyCompany.ru
Запускаем Apache командой apachectl start. Если не получается и выдается сообщение об ошибки Failed to enable the ‘httpready’ Accept Filter, то необходимо выполнить следующие действия:
в файл /boot/loader.conf добавить строчку
accf_http_load="YES" (для HTTP)
accf_http_data="YES" (для HTTPS)
и перезагрузить систему
или
в файле httpd.conf добавить строчки (невозможно будет использовать фильтр)
AcceptFilter http none
AcceptFilter https none
для полноценного включения фильтра используем строчки:
AcceptFilter http httpready
AcceptFilter https dataready
Перед запуском web-сервера можно было выполнить проверку корректности конфигурационного файла с помощью команды apachectl configtest.
Проверяем, работает ли web-сервер с помощью команды ps или sockstat (вспоминаем как).
Переходим в каталог /usr/local/www/apache24/data и заменяем содержимое файла index.html.
<html>
<head>
<meta charset=”koi8-r”/>
<title>Первый сайт </title>
</head>
<body>
<H1>Ура заработало!!!</H1
</body>
</html>
На базовой рабочей машине открываем любой браузер, пытаемся открыть сайт по адресу www.server_freebsd.mycompany.ru. Скорее всего, вы увидите абракозябры т.к. автоматически не определилась кодировка, а у нас на сервере как помним KOI8-R. Поменяйте кодировку на странице.
Выполните поиск пакета PHP версии 5.5 и модуля расширения для Apache.
pkg search php55
pkg search mod_php55
Выполним последовательно установку двух этих пакетов, при этом пакеты будем скачивать из репозитария в интернете, поэтому проверьте наличие доступа к интернет. Возможно, утилита pkg найдет более «свежие» версии пакетов, поэтому устанавливаем самые актуальные версии пакетов.
pkg install php55-5.5.27
pkg install mod_php55-5.5.27
В файл http.conf добавляем в секцию <IfModule dir_module> в атрибут DirectoryIndex index.php
Выполним настройку соотнесение MIME: в http.conf в блок <IfModule mime_module> добавляем строки:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Создаем файл конфигурации php.ini на основе файла /usr/local/etc/php.ini-production (просто удаляем из него все что закомментировано):
cd /usr/local/etc/
cat php.ini-production | grep –v “;” > php.ini
Добавляем в него параметры временной зоны:
[Date]
date.timezone=Europe/Moscow
Перезапускаем Apache
apachectl restart
Создаем файл /usr/local/www/apache24/data/index.php, в который помещаем простой php код
<?php
phpinfo();
?>
В браузере открываем страничку www.server_freebsd.mycompany.ru/index.php
Установим дополнительные пакеты для выполнения следующих лабораторных работ.
Выполним поиск и установку пакета для работы с базами данных SQLITE и соответствующего модуля для PHP
pkg search sqlite3
pkg install sqlite3-3.8.10.2
pkg install php55-sqlite3-5.5.27
Выполним поиск и установку PHP расширения для работы с объектами в нотации JSON
pkg search php55-json
pkg install php55-json-5.5.27
Выполним поиск и установку PHP расширения для работы с XML
pkg search php55-xml
pkg install php55-xml-5.5.27
pkg install php55-xmlreader-5.5.27
pkg install php55-xmlwriter-5.5.27
pkg install php55-xmlrpc-5.5.27
Выполним поиск и установку PHP расширения для работы с web-сервисами по протоколу SOAP
pkg search php55-soap
pkg install php55-soap-5.5.27
Осталось совсем немного , все пакеты пригодятся при выполнении последующих лабораторных работ
pkg search simplexml
pkg install php55-simplexml-5.5.27
И последнее, установим пакет autoconf, который в последствие так же понадобится
pkg search autoconf
pkg install autoconf-2.69
Вот какие мы молодцы – Все сделали!
