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

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

Для того чтобы скачать эту работу.
1. Подтвердите что Вы не робот:
2. И нажмите на эту кнопку.
закрыть



Введение

 

Сегодня Интернет является одним из основных поставщиков информации. В связи с этим возникают задачи размещения новой и обновления уже существующей информации.

Наибольшая доля информации приходится на Интернет-сайты. Поэтому для решения вышеуказанных задач были созданы различные системы создания и управления сайтами. И на данный момент их число измеряется тысячами. Это системы разного уровня, профессиональные и любительские, узкоспециализированные и общего назначения, платные и бесплатные. Но, как известно, Интернет развивается стремительными шагами. Еще недавно в нем господствовала концепция статических html-файлов. Теперь это динамическое интерактивное содержимое. Раньше страницы сайтов состояли в основном из текста, сейчас внедряются оформительские решения, применяемые в операционных системах. Именно благодаря постоянным изменениям, внедрение новых систем создания и управления сайтами является актуальной задачей.

Новая система просто обязана приносить с собой различные улучшения, как на уровне интерфейса, так и на уровне кода. Ведь чем сложнее интерфейс, тем сложнее и внутренняя организация системы. И необходимо решать проблемы расширения системы, подключения новых разработчиков, переработки существующих алгоритмов. Если новая система ничем не отличается от аналогичных уже существующих систем, то она не выдержит конкуренции и окажется никому ненужной.

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

В данном дипломном проекте автор создал серверную часть системы, которая вместе с клиентской частью составляет полную систему создания и управления сайтами.

Автор попытался выделить основные на его взгляд недостатки современных систем создания и управления сайтами и исправить их в данной версии системы. Кроме того, планируется дальнейшее развитие всей системы в целом с выводом ее в сеть Интернет. Для этого потребуется доработка и развитие системы уже вне дипломного времени.

 

 

1. Постановка задачи

 

1.1Анализ существующих систем создания и управления сайтами

 

1.1.1Выбор систем для анализа

Систем создания и управления сайтами (ССУС) на сегодняшний день существует большое множество. На одном из самых популярных Интернет-ресурсов, посвященном обзору современных ССУС,

Основываясь на различной статистике и опросах общественного мнения, свободно публикуемых в сети Интернет, [2] а также на личном опыте автора, были выбраны следующие ССУС для анализа:

Drupal

Joomla

Wordpress

Ucoz

Стоит обратить внимание на систему Ucoz. Она является представителем особой группы онлайн-ССУС. Среди таких систем сложно выделить наиболее популярную в мировом масштабе, поэтому была выбрана наиболее популярная система в русском Интернете. Wordpress изначально позиционируется как система для создания блогов, но при этом успешно используется для создания сайтов любой направленности. Joomla является представителем универсальных ССУС для подготовленных пользователей. Drupal представляет продвинутую систему для профессиональных пользователей. [3]

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

 

1.1.2Анализ установщиков выбранных систем

Анализ установщика Wordpress

Для того чтобы установить эту систему на свой хостинг, необходимо проделать следующие шаги:

Скачать архив с системой с официального сайта

Распаковать архив на локальной машине

Перейти в созданную папку

Открыть файл wp-config-sample.php в текстовом редакторе

Изменить значения php-переменных на соответствующие конкретному хостингу

Сохранить изменения

Переименовать файл wp-config-sample.php в wp-config.php

Загрузить все файлы на сервер с помощью FTP-клиента

Открыть в браузере /wp-admin/install.php

Пройти процедуру первоначальной настройки

Анализ установщика Joomla

Для того чтобы установить эту систему на свой хостинг, необходимо проделать следующие шаги:

Скачать архив с системой с официального сайта

Распаковать архив на локальной машине

Загрузить все файлы на сервер с помощью FTP-клиента

Открыть в браузере /index.php

Пройти процедуру предустановки

Скопировать предложенный текст файла конфигурации в буфер обмена

Создать файл configuration.php

Открыть файл

Вставить текст конфигурации в него

Сохранить изменения

Загрузить файл на сервер в директорию установленной системы

Удалить директорию installation с сервера

Анализ установщика Drupal

Для того чтобы установить эту систему на свой хостинг, необходимо проделать следующие шаги:

Скачать архив с системой с официального сайта

Распаковать архив на локальной машине

Скопировать файл default.settings.php в settings.php

Загрузить все файлы на сервер с помощью FTP-клиента

Установить права на запись для файла settings.php

Установить права на запись для директории sites/default/

Пройти процедуру первоначальной настройки

Убрать права на запись для файла settings.php

Анализ установщика Ucoz

Система Ucoz не предоставляет возможности установки на сервер пользователя. Сайты создаются путем регистрации на сайте. Во время регистрации необходимо вводить конфиденциальные данные: имя, фамилию, дату рождения. После регистрации открывается доступ к панели управления, в которой можно создать сайт. Ресурсы под сайт предоставляет сама система.

 

1.1.3Анализ серверной части выбранных систем

В системе Wordpress данные о структуре и содержимое сайта хранятся в базе данных. В установочной директории находится ядро системы, написанное на языке php. В папке wp-content хранятся шаблоны страниц. Различные опции и настройки сохраняются в базе данных.

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

Кроме текстового содержимого, на сайтах присутствуют и другие типы содержимого: графика, музыка, видео, анимация. Их нецелесообразно хранить в базе данных в силу большой нагрузки на сервер. Поэтому в системе Wordpress они хранятся в директории wp-content/uploads/.

Joomla и Drupal представляют точно такой же подход к управлению системой, различаясь лишь в именах файлов и папок.

Ucoz вообще не предоставляет своим пользователям прямой доступ к файловой системе и базе данных, и не раскрывает исходного кода системы.

Все эти системы позволяют включать дополнительный функционал кэширования, который либо встроен в саму систему, либо формируется с помощью дополнений.

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

В обоих случаях раз в N минут происходит автоматическая генерация статических html страниц сайта. И все последующие обращения к сайту минуют скрипт динамического создания страниц. Это позволяет достичь максимальной скорости работы сайта (в некоторых случаях в стократном размере). При этом могут возникать различные проблемы с динамическим содержимым страниц. К примеру, если автор изменил страницу, то посетители сайта увидят изменения не сразу, а только по прошествии N минут. Для более сложных страниц, содержащих постоянно обновляемое содержимое, управляемое таймерами, задержка может стать катастрофической и привести к неверной работе сайта. Различие в обоих вариантах только в методе хранения кэша. В первом случае запрос идет к базе данных, во втором - к файловой системе. Чтобы произвести запрос в базу данных, необходимо сначала открыть скрипт с файловой системы, поэтому второй вариант оказывается быстрее.

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

 

1.1.4Выводы на основе проведенного анализа

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

Неудобный установщик системы. Его можно улучшить. Следует убрать лишние действия по установке. Процесс должен приближаться к аналогичному в си