Автор: Пользователь скрыл имя, 20 Декабря 2012 в 20:19, курсовая работа
Работающий Webсервер и СУБДтребуются при создании Интернет проектов с использованием современных технологий. Наилучший вариант — это установка локального Webсервера на тот же ПК, где создается Интернет проект. Этот ПК всегда доступен по IP-адресу 127.0.0.1, что эквивалентно доменному имени localhost. Поэтому для доступа к Webсерверу через браузер можно использовать адрес http://localhost. При использовании локального сервера все изменения в файлах доступны через браузер сразу же. Когда все скрипты будут отлажены, можно зайти в Интернет и скопировать их на сервер хостинг-провайдера.
Вступ
1. Теоретична частина
Проектна частин
2.1 Постановка задачі.
2.2. Розробка алгоритма рішення задачі.
Програмна реалізація алгоритма.
Опис розробленої програми.
Висновки
Список використаних джерел
Додатки
А. Інструкції по використанню програмних модулів.
Б. Лістінг програмних модулів
В. Протокол виконання програми
Державний вищий навчальний заклад
«Український державний хіміко-
Кафедра спеціалізованих комп’ютерних систем
РОЗРАХУНКОВО-ПОЯСНЮВАЛЬНА ЗАПИСКА
До курсової роботи з системного програмного забезпечення
Створення локального серверу підтримки мережного часу і його захист.
Студент групи 4--IC-1 Абдурахмонзода Ш.
Керівник роботи
2012
ДВНЗ «Український державний хіміко-технологічний університет»
Кафедра: Спеціалізованих комп’ютерних систем
Дисципліна: “Системне програмне забезпечення”
Спеціальність: " Спеціалізовані комп’ютерні системи "
Курс: 4 Група: 4-IC-1 Семестр: 7 Тетраместр: 14
ЗАВДАННЯ
на курсову роботу студента
______________________________
Тема роботи: Створення локального серверу підтримки мережного часу і його захист.
Термін здачі студентом закінченої роботи:.____________
Вихідні дані роботи:
______________________________
______________________________
Зміст розрахунково-пояснювальної записки :
Вступ
1. Теоретична частина
2.1 Постановка задачі.
2.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сервер и СУБДтребуются при
создании Интернет проектов с использованием
современных технологий. Наилучший
вариант — это установка
Язык программирования РНР, специально
предназначенный для работы в Интернет,
изначально создавался под 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/
Установка сервера 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. И, конечно же -
разделы официальной документации, посвященные
установке соответствующих программ.
Рекомендуется логически отделить
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» (
В итоге путь будет изменен, нажмите 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] в правом верхнем углу окна.
Сервер Apacheимеет три
Рассмотрим, какие функции выполняют эти
файлы:
? Файл 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/
1.4.Создание виртуальных хостов.
Разработчики Apacheпредусмотрели
Для этого при настройке Apacheбыл создан
файл vhosts.conf:
и в конец файла httpd.confдобавлена строчка
«Include conf/vhosts.conf», которая подключила этот
файл:
Для того чтобы добавить новый сервер:
? необходимо создать папку, в директории
home, в которой будут расположены серверные
папки и файлы;
? сделать описание этого сервера в файле
vhosts.conf;
? добавить название сервера и IPадрес в
файл C:
Т.к. в файле 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
В конец файла С:
добавьте IPадрес и имя сервера:
127.0.0.2 mysite.ru
Перезапустите Apache.
5) Если Вам понадобиться обратить к сайту
mysite.ruна удаленном сервере, то закомментируйте
строку: #127.0.0.2 mysite.ru
в файле С:
Не забывайте про это, иначе при попытке
обращения к удаленному серверу, Вы будете
оказываться на своем локальном.
Что бы этого не делать, лучше виртуальные
хосты называть так же, как и на настоящем
web – сервере, но только без «суффикса»
.ruили .com. В этом случае, используя правило
«отсечения суффиксов» можно легко обращаться
к «реальному» и «виртуальному» хостам,
даже если имеется подключение к Интернет.
Вы можете использовать любой IPадрес из
диапазона 127.0.0.1 – 127.255.255.255.
На этом настройка сервера окончена. Перезапустите
его. Все должно работать:
Если Вы получаете сообщение об ошибке
и номер строки в файле http.conf, где она произошла,
то исправьте ошибку и перезапустите сервер.
Если ошибок больше нет, то появится показанное
выше окно.
Практическая часть.
2.1.Для системы Linux.
#!/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_
NGINX_HOSTS_DIR=$WHEREIS_NGINX
NGINX_HOSTS_ENABLED=$WHEREIS_
######## 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
Информация о работе Створення локального серверу пидтримки мережного часу и його захист