Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей»


Скачать 138.72 Kb.
Название Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей»
Тип Практическая работа
rykovodstvo.ru > Руководство эксплуатация > Практическая работа
Нижегородский Государственный Технический Университет


Практическая работа №2

по дисциплине: «Программное обеспечение вычислительных сетей»
Тема: «Http-сервер Apache»

Выполнил студент группы 10-В-1

Сидоренко О.О.

Проверил:

Кочешков А.А.

г. Нижний Новгород

2014г.

Общие сведения


Apache HTTP-сервер— свободный веб-сервер.

Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6.
Ядро

Ядро Apache включает в себя основные функциональные возможности, такие как обработка конфигурационных файлов, протокол HTTP и система загрузки модулей. Ядро (в отличие от модулей) полностью разрабатывается Apache Software Foundation, без участия сторонних программистов.

Теоретически, ядро apache может функционировать в чистом виде, без использования модулей. Однако, функциональность такого решения крайне ограничена.

Ядро Apache полностью написано на языке программирования C.
Система конфигурации

Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации:

  • Конфигурация сервера (httpd.conf).

  • Конфигурация виртуального хоста (httpd.conf c версии 2.2, extra/httpd-vhosts.conf).

  • Конфигурация уровня директории (.htaccess).

Имеет собственный язык конфигурационных файлов, основанный на блоках директив. Практически все параметры ядра могут быть изменены через конфигурационные файлы, вплоть до управления MPM. Большая часть модулей имеет собственные параметры.

Часть модулей использует в своей работе конфигурационные файлы операционной системы (например /etc/passwd и /etc/hosts).

Помимо этого, параметры могут быть заданы через ключи командной строки.
Система модулей

Apache HTTP Server поддерживает модульность. Существует более 500 модулей[5], выполняющих различные функции. Часть из них разрабатывается командой Apache Software Foundation, но основное количество — отдельными open source-разработчиками.

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

В модулях реализуются такие вещи, как:

  • Поддержка языков программирования.

  • Добавление функций.

  • Исправление ошибок или модификация основных функций.

  • Усиление безопасности.

Часть веб-приложений, например панели управления ISPmanager и VDSmanager реализованы в виде модуля Apache.
Механизм виртуальных хостов

Apache имеет встроенный механизм виртуальных хостов. Он позволяет полноценно обслуживать на одном IP-адресе множество сайтов (доменных имён), отображая для каждого из них собственное содержимое.

Для каждого виртуального хоста можно указать собственные настройки ядра и модулей, ограничить доступ ко всему сайту или отдельным файлам. Некоторые MPM, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и guid.

Также, существуют модули, позволяющие учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.
Безопасность

Apache имеет различные механизмы обеспечения безопасности и разграничения доступа к данным. Основными являются:

  • Ограничение доступа к определённым директориям или файлам.

  • Механизм авторизации пользователей для доступа к директории на основе HTTP-аутентификации (mod_auth_basic) и digest-аутентификации (mod_auth_digest).

  • Ограничение доступа к определённым директориям или всему серверу, основанное на IP-адресах пользователей.

  • Запрет доступа к определённым типам файлов для всех или части пользователей, например запрет доступа к конфигурационным файлам и файлам баз данных.

  • Существуют модули, реализующие авторизацию через СУБД или PAM.

В некоторых MPM-модулях присутствует возможность запуска каждого процесса Apache используя различные uid и gid с соответствующими этим пользователям и группам пользователей.

Также, существует механизм suexec, используемый для запуска скриптов и CGI-приложений с правами и идентификационными данными пользователя.

Для реализации шифрования данных, передающихся между клиентом и сервером используется механизм SSL, реализованный через библиотеку OpenSSL. Для удостоверения подлинности веб-сервера используются сертификаты X.509.

Существуют внешние средства обеспечения безопасности, например mod_security.

Подготовка к установке


Файлы самого сервера, а также всех его модулей должны находиться в определенном месте системы. Желательно, чтобы структура расположения файлов имела некоторую логичность, так будет легче обслуживать сервер любому пользователю.

Создадим папку «Server» в корне диска «D:\» - в ней будет располагаться вся структура.
Создадим 2 подпапки:
D:\Server\web – для компонент и прочих программ.
D:\Server\domains – для сайтов

В папке \web\ создадим еще 3 подпапки для файлов apache, php, mysql с соответствующими именами:
D:\Server\web\apache\
D:\Server\web\php\
D:\Server\web\mysql\
В папке \domains\ создадим 2 подпапки:
D:\Server\domains\localhost\

D:\Server\domains\phpmyadmin\

Внутри них создадим еще 2 подпапки:

\public_html\ – для файлов сайта;

\logs\ – для логирования работы


После всех операций структура папок для установки сервера выглядит следующим образом:


Помимо этого добавим в системную переменную «PATH» пути к Apache и MySQL. Они понадобятся для простого запуска сервисов.

;D:\Server\web\apache\bin;D:\Server\web\mysql\bin



Установка Apache


Apache распространяется свободно и для установки Apache потребуется скачать архив файлов с официального сайта (www.apachelounge.com/download/). Также для нормальной работы требуется «Распространяемый пакет Microsoft Visual C++ 2010 (x64)»(www.microsoft.com/ru-ru/download/details.aspx?id=14632), он распространяется с программой-установщиком и процесс установки не вызывает затруднений.

Архив с Apache содержит папку Apache24, файл с ссылкой -- Win64-2.4.9 VC10 – и файл ReadMe.txt. В последнем описана инструкция по установке и рекомендации.



Распакуем файлы из Apache24 в заготовленную ранее папку D:\Server\web\apache\
Получится следующая структура:



Теперь необходимо настроить сервер.
Файл httpd.conf

Основным конфигурационным файлом Apache является файл httpd.conf. В нем содержатся настройки WEB-сервера, виртуальных серверов всех его программных модулей.
Файл .htaccess

.htaccess - файл дополнительной конфигурации WEB-сервера. Применяется для управления веб-сервером Apache со стороны конечного пользователя хостинга. В этот файл помещаются директивы, которые веб-сервер воспринимает и обрабатывает, выполняя действия в соответствии с настройками, которые были сделаны пользователем. Изменения, внесенные в файл, вступают в силу немедленно. Это связано с тем, что информация из .htaccess перечитывается при каждом обращении к веб-серверу Apache. Этот файл не доступен пользователю из браузера, поскольку является скрытым файлом сервера. Он служит для переопределения директив из файла httpd.conf.
Перейдем в папку D:\Server\web\apache\conf\ и откроем файл конфигурации httpd.conf.

Каждая строка файла содержит параметр настройки Apache, а также комментарий, в основном пояснение параметра, помеченный #

Приступим к настройке:

Основная директория Apache по умолчанию задана структурой из архива, однако у нас другая структура папок, поэтому заменим параметр на следующий:
ServerRoot “D:/Server/web/apache”
IP-адрес и порт, который «слушает» сервер зададим следующий:

Listen 127.0.0.1:80

Подключим два модуля для сервера:

  • mod_rewrite - предназначен для преобразования исходных URL'ов. Его возможности - колоссальны, но зачастую он используется для создания ЧПУ (Человеко Понятный УРЛ)

  • php5apache2_4.dll - PHP.

Помимо этого в файле конфигурации заранее прописаны подключения для более чем сотни модулей.

LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php5_module "D:/Server/web/php/php5apache2_4.dll"


Укажем Apache, что файлы с расширением php, нужно воспринимать как php-скрипты добавив следующий параметр:
AddHandler application/x-httpd-php .php


Укажем расположение файла настроек php
PHPIniDir “D:/Server/web/php”


Далее можно указать электронный адрес администратора сервера и имя сервера. Изменим имя:

ServerName 127.0.0.1:80


Секция определяет доступ к файловой системе сервера. Откроем её для всех:
Options Includes Indexes FollowSymLinks - разрешает формировать страницу содержимого каталога с символьными ссылками
AllowOverride All - сервер будет допускать все директивы .htaccess файла.
Allow from all
Закроем секцию -
Зададим директорию с сайтами

DocumentRoot “D:/Server/domains”
Секция определяет доступ сайтам:

Options Indexes FollowSymLinks

AllowOverride None - сервер не читает файл .htaccess.

Require all granted - Все запросы разрешены.


Расставим индексные файлы по приоритету. Т.е. сервер сначала будет искать первые файлы, постепенно переходя далее, если файл не найден.


DirectoryIndex index.php index.html index.htm index.shtml



Определим папки для log-файлов

ErrorLog “C:/Server/domains/logs/error.log” – Ошибки сервера
CustomLog “C:/Server/domains/logs/access.log” – Логгирование посещений


Добавим alias для phpMyAdmin, и поправим alias для cgi. Common Gateway Interface является стандартом интерфейса, который служит для связи внешней программы с веб-сервером. Программу, которая работает по такому интерфейсу совместно с веб-сервером, принято называть шлюзом.

Alias /pma “D:/Server/domains/phpMyAdmin”
ScriptAlias /cgi-bin/ “D:/Server/web/apache/cgi-bin/”



Исправим путь и доступ для cgi

AllowOverride None
Options None
Require all granted



Определим приложения для открытия типов файлов


AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


Подключим дополнительные конфигурационные файлы. Они хранят специальные настройки отдельных систем сервера – виртуальные хосты, мультипроцессорная обработка и пр.

Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-manual.conf
Include conf/extra/httpd-default.conf

На этом заканчивается настройка httpd.conf.

Подключенные новые файлы конфигурации в основном уже содержат настройки по умолчанию, но некоторые стоит изменить.

Откроем файл D:\Server\web\apache\conf\extra\httpd-mpm.conf и укажем место хранение pid-файла:

PidFile “D:/Server/web/apache/logs/httpd.pid”

В него записывается процесс идентификации номера во время запуска сервера.
Откроем файл httpd-autoindex.conf, изменим строки пути для загрузки иконок:
Alias /icons/ "D:/Server/web/apache/icons/"

Options Indexes MultiViews
AllowOverride None
Require all granted


Откроем httpd-vhosts.conf и обозначим виртуальные хосты:

Для localhost

DocumentRoot "D:/Server/domains/localhost/public_html"
ServerName localhost
ErrorLog "D:/Server/domains/localhost/logs/error.log"
CustomLog "D:/Server/domains/localhost/logs/access.log" common



Для phpMyAdmin

DocumentRoot "D:/Server/domains/phpmyadmin/public_html"
ServerName localhost
ErrorLog "D:/Server/domains/phpmyadmin/logs/error.log"
CustomLog "D:/Server/domains/phpmyadmin/logs/access.log" common



В httpd-manual.conf исправим только пути:
AliasMatch ^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ "D:/Server/web/apache/manual$1"



В httpd-default.conf никаких изменений производить не требуется.

Теперь можно начать установку.

В командной строке от имени администратора введём, для установки Apache:
>httpd –k install

Запустится установщик файлов и сообщит, что установка успешно завершена



Установка PHP


Модуль PHP также распространяется свободно, архив можно скачать с (anindya.com/tag/php/).
Т.к. нужен php как модуль - скачиваем Thread Safe.

Содержимое архива переносим в папку D:\Server\web\php\. В архиве есть и инструкция по установке в файле install.txt.

Создадим две пустые папки D:\Server\web\php\tmp\ и D:\Server\web\php\upload\.

В папке \php\ найдем файл php.ini-development и переименовываем его в php.ini.

В корне установки есть два файла php.ini-development и php.ini-production. Эти файлы содержат базовые настройки. Первый файл оптимизирован для разработчиков, второй для рабочих систем. Основное отличие  - в настройках для разработчиков разрешен вывод на экран ошибок, тогда как для рабочих систем вывод ошибок запрещен из соображений безопасности.

Файл конфигурации (php.ini) считывается при запуске PHP. Для версий серверных модулей PHP это происходит только один раз при запуске веб сервера. Для CGI и CLI версиий это происходит при каждом вызове. Он содержит параметры в виде ключей. Каждый параметр описан в комментариях, начинающихся с «;». Файл также разделен на несколько разделов, имя которых указывается в квадратных скобках.
Настроим параметры:

Настройка php.ini

short_open_tag = On - Определяет, разрешается ли короткая форма записи ( ) тегов PHP
zlib.output_compression = On - Следует ли сжимать страницы
post_max_size = 64M - Устанавливает максимально допустимый размер данных, отправляемых методом POST. Это значение также влияет на загрузку файлов.
include_path = ".;D:\Server\web\php\includes" - Указывает список директорий, в которых функции ищут файлы.
extension_dir = "D:/Server/web/php/ext" - В какой директории PHP должен искать динамически загружаемые расширения
upload_tmp_dir = "D:/Server/web/php/upload" - Временная директория, используемая для хранения файлов во время закачивания.
upload_max_filesize = 64M - Максимальный размер закачиваемого файла.
extension=php_bz2.dll - Функции сжатия bzip2
extension=php_curl.dll - Функции библиотеки CURL
extension=php_gd2.dll - Библиотека функциий обработки изображений GD
extension=php_mbstring.dll - Функции для работы с многобайтовыми (Multi-Byte) строками
extension=php_mysql.dll - Функции MySQL
extension=php_mysqli.dll - Функции MySQLi
extension=php_pdo_mysql.dll - Объекты данных PHP Для mysql
extension=php_sockets.dll - Функции для работы с сокетами
extension=php_sqlite3.dll - Функции sqlite3
date.timezone = "Europe/Moskow" - Временная зона, используемая по умолчанию всеми функциями даты/времени.
session.save_path = "D:/Server/web/php/tmp/" - определяет аргумент, который передается в обработчик сохранения. При установленном по умолчанию обработчике files, аргумент содержит путь, где будут создаваться файлы


Установка MySQL


Установим MySQL как сокет под windows. Архив можно скачать с
dev.mysql.com/downloads/mysql/.

Содержимое архива перенесем в «D:\Server\web\mysql\»
Теперь откроем файл настроек MySQL – «D:\Server\web\mysql\my-default.ini» и установим следующие параметры:
[client]
port=3306
host=127.0.0.1
[mysqld]
port=3306
bind-address=127.0.0.1
enable-named-pipe
basedir="D:/Server/web/mysql/"
datadir="D:/Server/web/mysql/data/"
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Теперь скрипты могут обращаться к серверу и по локальному IP, и по сокет-соединению.
Для установки MySQL:
>mysqld.exe --install MySQL --defaults-file=”D:\Server\web\mysql\my-default.ini”

Установщик также скажет, что установка прошла успешно.




Установим пароль для MySQL-пользователя. Для этого запустим службу MySQL:
>NET start MySQL
После того как служба запустилась, установим пароль. Выполним
mysqladmin –u root password

И введем новый пароль.



Установка phpMyAdmin


PHPMyAdmin — веб-приложение, представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных.

Скачать последнюю версию PhpMyAdmin можно с phpmyadmin.net/home_page/index.php
Перенесем содержимое архива в папку

D:\Server\domains\phpmyadmin\public_html\.


Найдём файл config.sample.inc.php, переименуем его в config.inc.php и добавимв него следующий скрипт:


$cfg['blowfish_secret'] = 'uxo53tr';

$i = 0;

$i++;

$cfg['Servers'][$i]['auth_type'] = 'cookie';

$cfg['Servers'][$i]['host'] = 'localhost';

$cfg['Servers'][$i]['connect_type'] = 'tcp';

$cfg['Servers'][$i]['compress'] = false;

$cfg['Servers'][$i]['extension'] = 'mysqli';

$cfg['Servers'][$i]['AllowNoPassword'] = false;

$cfg['UploadDir'] = '';

$cfg['SaveDir'] = '';

?>

Теперь страница PHPMyAdmin откроется при заходе на домен http://phpmyadmin.

Проверка работоспособности


Нужно проверить, работает ли сервер, позволяет ли загружать страницы.

Запустим Apache. В командной строке выполним:

>net start Apache2.4

Запустим MySQL:

>net start MySQL

Обе службы успешно запустились.


Теперь можно проверить, работают ли системы, перейдя на адрес http://phpmyadmin.

PHPMyAdmin работает на PHP и работает с MySQL, значит он отлично подходит для тестирования.

Перед этим необходимо добавить в системный файл host строку, позволяющую использовать это имя:

127.0.0.1 phpmyadmin

Откроем в браузере ссылку, появится окно приветствия и просьба ввести логин пароль.



Также можно создать файд index.php в папке D:\Server\domains\localhost\public_html, внутри написать следующий код:



Тогда при переходе на http://localhost будет выведена информация о php и многая другая информация, включая информацию о сервере, который был настроен. Если посмотреть, то некоторые пути совпадают с теми, что мы вводили при настройке сервера, а значит информация верна. Т.е. все работает


Похожие:

Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Программа вступительного экзамена по направлению подготовки
«Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей»
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Практическая работа №1 «Изучение методов конфигурирования сетей доступа»
Практическая работа №2 «Изучение методов отбора, подготовки и контроля линии под технологию adsl»
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Методические указания и практическая работа по дисциплине «Охрана труда»
Внутреннее расследование микротравм и опасных событий. Методические указания и практическая работа по дисциплине «Охрана труда»,...
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Рабочая программа по дисциплине б 3 «Программное обеспечение инженерных и научных исследований»
Целью освоения дисциплины «Программное обеспечение инженерных и научных исследований» является формирование компетенций и навыков...
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Методические указания по дисциплине “Базы данных и субд”
Методические указания предназначены для студентов специальностей 230105 «Программное обеспечение вычислительной техники и автоматизированных...
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Методические указания по дисциплине “Системы управления базами данных”
Методические указания предназначены для студентов специальностей 230105 «Программное обеспечение вычислительной техники и автоматизированных...
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Программа дисциплины разработана на основе государственного общеобязательного...
Госо рк 04. 019-2008 для специальности 050704 – “Вычислительная техника и программное обеспечение” и типовой программы утвержденной...
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Практическая работа №12 72 Изучение холодильных шкафов 72 Практическая...
Ознакомление с оборудованием системы автоматизации ресторанной деятельности (r- keeper) 22
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Коновалов В. М. К64 Пособие к выполнению лабораторных работ по дисциплине...
К64 Пособие к выполнению лабораторных работ по дисциплине «Прикладное программное обеспечение». Выпуск М.: Мгту га, 2002 г. 36 с
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Материально-техническое обеспечение кабинета №6 по профессии «Оператор...
Материально-техническое обеспечение кабинета №6 по профессии «Оператор электронно-вычислительных и вычислительных машин»
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Практическая работа №1 «Работа с нормативными документами»
...
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Курсовая работа по дисциплине: "Геодезическое инструментоведение"...
Встроенное программное обеспечение позволяет выполнить следующие геодезические задачи: обратную засечку, уравнивание теодолитного...
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Курсовая работа по дисциплине: "Геодезическое инструментоведение"...
Встроенное программное обеспечение позволяет выполнить следующие геодезические задачи: обратную засечку, уравнивание теодолитного...
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Практическая работа №3 Ведение документации по охране труда 77 Практическая...
Рабочая тетрадь по выполнению практических и лабораторных работ по специальности 140101 Тепловые электрические станции
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Введение в системное программное обеспечение. Вопросы: Классификация программного обеспечения
Выделим еще один класс (скорее группу) программ специальное программное обеспечение информационных и управляющих систем
Практическая работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» icon Расчетов за услуги связи «Fastcom» версия 12 Руководство системного...
Бпо – Базовое программное обеспечение программное обеспечение фирмы oracle, необходимое для функционирования ппо

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск