Створення локального серверу пидтримки мережного часу и його захист

Автор: Пользователь скрыл имя, 20 Декабря 2012 в 20:19, курсовая работа

Описание работы

Работающий Webсервер и СУБДтребуются при создании Интернет проектов с использованием современных технологий. Наилучший вариант — это установка локального Webсервера на тот же ПК, где создается Интернет проект. Этот ПК всегда доступен по IP-адресу 127.0.0.1, что эквивалентно доменному имени localhost. Поэтому для доступа к Webсерверу через браузер можно использовать адрес http://localhost. При использовании локального сервера все изменения в файлах доступны через браузер сразу же. Когда все скрипты будут отлажены, можно зайти в Интернет и скопировать их на сервер хостинг-провайдера.

Содержание

Вступ
1. Теоретична частина
Проектна частин
2.1 Постановка задачі.
2.2. Розробка алгоритма рішення задачі.
Програмна реалізація алгоритма.
Опис розробленої програми.
Висновки
Список використаних джерел
Додатки
А. Інструкції по використанню програмних модулів.
Б. Лістінг програмних модулів
В. Протокол виконання програми

Работа содержит 1 файл

курсак по СПЗ.doc

— 448.00 Кб (Скачать)

                                  Міністерство освіти і науки України

Державний вищий навчальний заклад

«Український державний хіміко-технологічний  університет»

Кафедра спеціалізованих комп’ютерних систем

 

 

 

 

РОЗРАХУНКОВО-ПОЯСНЮВАЛЬНА ЗАПИСКА

 

До курсової роботи з системного програмного забезпечення

 

Створення локального серверу підтримки мережного часу і його захист.

 

 

 

 

Студент групи 4--IC-1            Абдурахмонзода Ш.

 

Керівник роботи                                          Бразинский В.I.   

 

 

 

 

 

Дніпропетровськ

2012

   ДВНЗ «Український державний хіміко-технологічний університет»

 

Кафедра:  Спеціалізованих комп’ютерних систем

Дисципліна: “Системне програмне забезпечення”

Спеціальність:   " Спеціалізовані комп’ютерні системи "

Курс: 4  Група: 4-IC-1  Семестр: 7  Тетраместр: 14

 

 

ЗАВДАННЯ

на курсову роботу студента

 

___________________________________________________________

 

Тема роботи: Створення локального серверу підтримки мережного часу і його захист.

 

Термін здачі студентом  закінченої роботи:.____________

Вихідні дані роботи: ___________________________________________

______________________________________________________________

 

Зміст розрахунково-пояснювальної  записки :

 

Вступ

1. Теоретична частина

  1. Проектна частина

2.1 Постановка задачі.

2.2. Розробка алгоритма рішення задачі.

    1. Програмна реалізація алгоритма.
    2. Опис розробленої програми.

Висновки 

Список використаних джерел

Додатки

А. Інструкції по використанню програмних модулів.

Б. Лістінг програмних модулів

В. Протокол виконання програми

 

Дата видачі завдання: ___________

 

Календарний план

 

 

№ п/п

Назва етапів курсової роботи

Термін виконання етапів роботи

Примітки

1

Аналіз літературних джерел

 

 

2

Розробка програмного забезпечення

 

 

3

Оформлення пояснювальної записки  та виконання графічної частини

   

4

Захист курсової роботи

   

 

 

 

 

 

 

Студент ___________________

(підпис)

 

 

 

Керівник: ___________________  Бразинський Вадим Іванович

 

(підпис)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Содержание

 

 

Вступление.

1.Установка локального WEB–сервера  и его компонентов. 
   1.1. Структура каталогов.

   1.2. Установка Apache.

 

   1.3. Конфигурационные файлы  сервера Apache.

 

   1.4Создание  виртуальных хостов.

 

2.Практичекая  часть.

 

   2.1.Для  системы Linux.

  2.2.Для системы Windows.

 

3.Список литературы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вступление.

 

Работающий Webсервер и СУБДтребуются при  создании Интернет проектов с использованием современных технологий. Наилучший  вариант — это установка локального Webсервера на тот же ПК, где создается  Интернет проект. Этот ПК всегда доступен по IP-адресу 127.0.0.1, что эквивалентно доменному имени localhost. Поэтому для доступа к Webсерверу через браузер можно использовать адрес http://localhost. При использовании локального сервера все изменения в файлах доступны через браузер сразу же. Когда все скрипты будут отлажены, можно зайти в Интернет и скопировать их на сервер хостинг-провайдера. 
Язык программирования РНР, специально предназначенный для работы в Интернет, изначально создавался под Unixподобные операционные системы — Linux, FreeBSD, и т.п. Под Windowsсуществует свой аналог РНР, который называется ASP(Active Server Pages). Он полностью ориентирован на Windowsи позволяет учитывать и использовать все особенности этой операционной системы. При этом в качестве HTTPсервера рекомендуют использовать IIS(Internet Information Server) — продукт компании Microsoft. 
Желательно, чтобы на сервере и на компьютере, на котором создаются и тестируются РНР -сценарии, стояли одинаковые операционные системы. Бывает так, что РНР -программа отлично работает на Windowsкомпьютере, но отказывается работать или работает некорректно под Linux. Профессиональное использование РНРориентировано на Linux (Unix). Существуют детали и возможности, которые нельзя учесть в силу разности ОС Windowsи ОС Linux (Unix). 
Можно ли разрабатывать и отлаживать скрипты в Windows, а потом без изменений переносить их в Unix? К счастью, ответ на этот вопрос, чаще всего, — да. Для этого используют локальный Web-сервер Apacheдля Windows, а также устанавливают РНРи MySQL, способные работать в этой ОС. 
Почему именно Apache? Потому что это самый распространенный сервер. Он установлен у большинства хостинг-провайдеров. Существует его Windowsверсия, практически идентичная по функциональности своему Unixсобрату. 
Рекомендуется устанавливать самую последнюю версию Apache. Ссылка на каталог, в котором расположены последние версии Apache: http://www.apache.org/dist/httpd/binaries/win32/. Нужен ЕХЕ-файл, имя которого содержит подстроку no_src, т. е. "без исходных кодов". 
Установка сервера Apacheи сопутствующих программ вручную - утомительное занятие. Приходится разбираться с многочисленными параметрами конфигурации Apache, PHPи MySQL. 
Существуют готовые комплексы, не нуждающиеся в настройке. Наиболее популярным из таких комплексов является Денвер – это "Джентльменский набор Web-разработчика". Денвер— это те же самые дистрибутивы Apache, PHP, MySQL.Они объединены в единый архив и снабжены удобным инсталлятором и утилитами настройки (включая средства автоматического конфигурирования виртуальных хостов). 
Денверсоздавался для того, чтобы упростить настройку и установку свободно распространяемых программ (Apache, PHP, MySQLи т. д.). Он имеет модульную структуру. Его ядро — так называемый "базовый пакет". Все остальные компоненты поставляются в виде автономных пакетов расширений, для работы которых нужен базовый пакет. 
Базовый пакет содержит большинство необходимых Web-программисту программ и утилит: 
? Apacheс поддержкой SSI, mod_rewrite, mod_php. 
? PHPс поддержкой GDи MySQL. 
? MySQLс поддержкой транзакций (mysql-max). 
? phpMyAdmin— система управления MySQLчерез Web-интерфейс; полностью заменяет командную строку MySQL. 
? Ядро Perlбез стандартных библиотек (они поставляются отдельно). 
? Эмулятор sendmail(отладочная "заглушка", помещающая приходящие письма в каталог /tmp); поддерживается работа совместно с РНРи Perl. 
? Система управления виртуальными хостами, основанная на шаблонах. Чтобы создать новый хост, вам нужно лишь добавить каталог в /home, править конфигурационные файлы не требуется. 
? Система настройки и управления запуском/завершением. 
?. Инсталлятор. 
Дистрибутив, содержащий все перечисленные выше компоненты, занимает около 2 Мбайт. 
На сайте http://web.dklab.ruдоступно множество пакетов расширений для Денвера, содержащих: 
? Документацию ко всем программам, входящим в комплекс. 
? Полную версию Perlсо стандартными библиотеками. 
? Полную версию PHP 3и PHP 4, а также модули для РНР 5. 
? Модули Apache, не вошедшие в базовый пакет Денвера. 
? Разнообразные "облегченные" и "специализированные" версии базового пакета — в частности, дистрибутив, помещающийся на одну дискету, и базовый пакет с поддержкой РНР 4, а не РНР 5по умолчанию. 
По адресу http://forum.dklab.ru/denwer/действует форум, где можно получить консультацию по вопросам, касающимся использования Денвера. Он также содержит обширную базу данных вопросов и ответов. На форуме действует гибкая система поиска. 
Если Вы желаете детально разобраться в работе локального web-сервера, то рекомендуется собрать и настроить его собственноручно из отдельных программных продуктов. Полезно предварительно изучить статью «Установка и настройка Apache+PHР», расположенную по адресу http://php5/ru/study/instal. И, конечно же - разделы официальной документации, посвященные установке соответствующих программ.

 

 

    1. Установка локального WEB–сервера и его компонентов. 
       
      1.1. Структура каталогов.

Рекомендуется логически отделить Web-проекты от всех остальных на локальном  ПК. Для этого следует установить все программное обеспечение  локального web-сервера, а также записывать все HTMLфайлы, скрипты и документы в отдельный каталог. Локальный сервер удобнее расположить на отдельном логическом диске (не на С), причем организовать его как реальный сервер. Лучше установить и настроить сервер на отдельном диске D. На этом диске можно устроить «Unix»:создать подкаталог /home/для хранения локальных сайтов, а для Apache, PHP, MySQLи т.д. создать подкаталог /usr. 
Создайте на диске Dдве папки с названиями usrи home. Названия папок и файлов, во избежание проблем, следует писать строчными буквами, т.к. в *nixоперационных системах homeи Homeне одно и тоже. Большинство серверов, на одном из которых в дальнейшем будет размещен созданный Вами Интернет проект, работают под *nixоперационными системами.

 
1.2. Установка Apache 

1. Запустите файл инсталляции  «apache_1.3.24-win32-x86-no...»: 
2. В появившемся диалоге нажмите кнопку Yes, а затем - кнопку Next: 
3. Прочитайте лицензионное соглашение и поставьте галочку напротив «I accept the terms in the license agreement»и нажмите на кнопку Next: 
4. В следующем окне «Server Information»нужно написать: 
? Network Domain имя Вашего домена: localhost 
? Server Name имя Вашего сервера: www.localhost.ru 
? Administrator's Email Address Ваш почтовый адрес: admin@localhost.ru. 
? Установите переключатель «Run when started manually, only for me»(Запускать вручную только для меня), чтобы запускать сервер в ручном режиме: 
В окне «Server Information»можно указать и другую любую информацию о сервере, так как она в дальнейшем может быть исправлена при редактировании файла httpd.conf. 
5. В следующем окне «Setup Type»выберите установку «Complete»и нажмите кнопку Next: 
6. В окне «Destination Folder»нажмите «Change»и измените путь, на тот где будет располагаться web-сервер, а именно D:usr. 
По умолчанию Web – сервер будет установлен в папку C:Program FilesApacher Group

C помощью кнопки «Сhange» (Изменить) можно указать папку, в которую  будет установлен Web – сервер Apache: D:usr: 
В итоге путь будет изменен, нажмите Next, а в следующем окне - кнопку Install: 
7. Будет произведено копирование файлов: 
8. Затем появиться окно, в котором нужно нажать Finish: 
9. Apacheустановлен. Запустите установленный Web – сервер Apache. Для этого выберите команду главного меню Пуск ? Программы ? Apache HTTP Server ? Start Apache in Console (Programs ? Web-сервер Apache ? Запустить Apache в консольном режиме). 
На экране появится окно программы Apacheс сообщением: Apache/1.3.24 (Win32) running...(Apache/1.3.24 (Win32) работает...): 
10. Теперь можно подключиться к Web-серверу Apache.Для этого: 
? Средствами операционной системы Windowsв папке D:usrApachehtdocs: 
переименуйте файл index.html.enв файл index.html: 
? Запустите браузер Microsoft Internet Explorer или любой другой, например Mozilla Firefox. 
? В поле ввода Address (Адрес) браузера введите http://localhostи нажмите клавишу Enter. В окно браузера загрузится начальная страница Web-сервера Apache: 
Начальная страница Web-сервера Apacheна русском языке: 
Если открылась начальная страница, значит Apacheустановлен правильно. 
? Перейдите в окно Web-сервера Apacheс помощью Панели задачоперационной системы Windowsи завершите работу сервера с помощью кнопки [X] в правом верхнем углу окна. 

    1. Конфигурационные файлы сервера Apache

 
Сервер Apacheимеет три конфигурационных файла: httpd.conf, srm.conf, access.conf. Обычно эти  файлы находятся в каталоге /etc/httpd/conf. Вся настройка сервера заключается в редактировании этих трех файлов. 
Рассмотрим, какие функции выполняют эти файлы: 
? Файл httpd.conf— это основной файл конфигурации сервера. В нем содержится техническое описание работы сервера. 
? В файле srm.confзадаются параметры документов, которые размещены на сервере. 
? Файл access.confсодержит параметры доступа к серверу. 
Начиная с версии 1.3, рекомендуется все директивы, которые раньше находились в файлах srm.confи access.conf, помещать в файл httpd.conf. 
Сервер Apacheверсии 2.0, который входит в состав дистрибутива Linux Red Hat 9.0, содержит еще несколько конфигурационных файлов: apache-mime.types, vhosts/vhosts.conf,vhosts/VirtualHomePages.conf, vhosts/DynamicVHosts.conf. В файле apache-mime.typesсодержатся типы MIME, поддерживаемые сервером Apache. Файлы vhosts.conf, VirtualHomePages.conf, DynamicVHosts.confотносятся к конфигурированию виртуальных Web-серверов, о которых речь пойдет немного позже.

 

1.4.Создание виртуальных хостов.

 

Разработчики Apacheпредусмотрели возможность  создания нескольких виртуальных хостов. При настройке Apache, изначально сделано  так, чтобы с появлением нового сервера  на Вашем компьютере его было легко  подключить и настроить. 
Для этого при настройке Apacheбыл создан файл vhosts.conf: 
и в конец файла httpd.confдобавлена строчка «Include conf/vhosts.conf», которая подключила этот файл: 
Для того чтобы добавить новый сервер: 
? необходимо создать папку, в директории home, в которой будут расположены серверные папки и файлы; 
? сделать описание этого сервера в файле vhosts.conf; 
? добавить название сервера и IPадрес в файл C:WINDOWSsystem32driversetchosts
Т.к. в файле 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 
 
В конец файла С:WINDOWSsystem32driversetchosts
добавьте IPадрес и имя сервера: 
127.0.0.2 mysite.ru 
Перезапустите Apache. 
5) Если Вам понадобиться обратить к сайту mysite.ruна удаленном сервере, то закомментируйте строку: #127.0.0.2 mysite.ru 
в файле С:WINDOWSsystem32driversetchosts
Не забывайте про это, иначе при попытке обращения к удаленному серверу, Вы будете оказываться на своем локальном. 
Что бы этого не делать, лучше виртуальные хосты называть так же, как и на настоящем web – сервере, но только без «суффикса» .ruили .com. В этом случае, используя правило «отсечения суффиксов» можно легко обращаться к «реальному» и «виртуальному» хостам, даже если имеется подключение к Интернет. 
Вы можете использовать любой IPадрес из диапазона 127.0.0.1 – 127.255.255.255. 
На этом настройка сервера окончена. Перезапустите его. Все должно работать: 
 
 
 
Если Вы получаете сообщение об ошибке и номер строки в файле http.conf, где она произошла, то исправьте ошибку и перезапустите сервер. Если ошибок больше нет, то появится показанное выше окно. 

 
Практическая часть.

2.1.Для системы Linux.

Bash скрипт создания виртуальных хостов Apache и Nginx

#!/bin/bash 

 

####### CONFIG START  ######## 

 

OWNER_NAME='username' # Пользователь, которому будет принадлежать директория вирт. хоста

OWNER_GROUP='username' # Группа, которой будет принадлежать директория вирт. хоста

HOME_WWW=~username/www # Домашняя директория для вирт. хостов

HOST_DIRS=('backup' 'logs' 'public_html')

SERVER_IP='127.0.0.1' # IP адрес сервера 

WHEREIS_APACHE=/etc/apache2

WHEREIS_NGINX=/etc/nginx 

APACHE_HOSTS_DIR=$WHEREIS_APACHE'/sites-available'

NGINX_HOSTS_DIR=$WHEREIS_NGINX'/sites-available'

NGINX_HOSTS_ENABLED=$WHEREIS_NGINX'/sites-enabled' 

######## CONFIG END ########## 

# COLORS

SETCOLOR_SUCCESS="echo -en \\033[1;32m"

SETCOLOR_FAILURE="echo -en \\033[1;31m"

SETCOLOR_NORMAL="echo -en \\033[0;39m"

SETCOLOR_NOTICE="echo -en \\033[1;33;40m"  

# FUNCTIONS 

function restart_servers {

    echo 'Перезапускаем Apache'

    /etc/init.d/apache2 reload 

echo 'Перезапускаем Nginx'

    /etc/init.d/nginx reload 

return 1

 

function error_config {

    $SETCOLOR_FAILURE

    echo "$(tput hpa $(tput cols))$(tput cub 6)[Fail]"

    echo '[CONFIG ERROR]: '$1

    $SETCOLOR_NORMAL 

 

    exit

 

function error_force_exec {

    $SETCOLOR_FAILURE

    echo "$(tput hpa $(tput cols))$(tput cub 6)[Fail]"

    echo -n '[FORCE EXEC ERROR]: ' 

 

    if [ -z "$1" ]; then

        echo 'Скрипт не может корректно выполнить все процедуры в автоматическом режиме'

    else

        echo $1

    fi 

 

    $SETCOLOR_NORMAL 

 

    exit

 

function error_failure {

    $SETCOLOR_FAILURE

    echo "$(tput hpa $(tput cols))$(tput cub 6)[Fail]"

    echo '[ERROR]: '$1

    $SETCOLOR_NORMAL 

 

    exit

 

function error_notice {

    $SETCOLOR_NOTICE

    echo '[NOTICE]: '$1

    $SETCOLOR_NORMAL 

 

    return 1

 

# Если запущен с ключем -f, значит  задаем пользователю минимум  вопросов 

# Игнорируются вопросы: 

# - имя директории виртуального  хоста 

# - вопрос о перезапуске серверров  (будут перезапущены) 

 

if [ "$1" == "-f" ]; then

    force_execution=true

else

    force_execution=false

fi 

 

echo 

 

$SETCOLOR_NORMAL  

 

if [ -d $HOME_WWW ]; then

    cd $HOME_WWW

else

    error_config "Директория $HOME_WWW не существует"

fi 

 

# Запрашивает имя домена, пока  не будет введено

function get_domain_name {

    echo -n "Имя домена: "

    read domain_name 

 

    # Если ничего не было введено

    if [ -z $domain_name ]; then

        $SETCOLOR_FAILURE

        echo "Вы не ввели имя домена"

        $SETCOLOR_NORMAL

        get_domain_name

    else

        return 1

    fi

 

# Запрашивает имя директории для виртуального хоста или предлагает создать автоматически

# проверяет его на существование

function get_host_dir {

    echo -n "Имя директории хоста: "

    read host_dir 

 

    # Если ничего не было введено

    if [ -z $host_dir ]; then

Информация о работе Створення локального серверу пидтримки мережного часу и його захист