Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Проектування власної CMS для створення веб-сайтів

КурсоваДопомога в написанніДізнатися вартістьмоєї роботи

Характеристики CMS з відкритим і закритим кодом мають ряд характерних ознак, які є як перевагами, так і недоліками. Відкритий код дозволяє зловмисникам простіше зламати сайт, а це значить, що можуть постраждати всі ресурси, для створення яких була обрана саме ця CMS. Для того, щоб купити систему з закритим кодом, необхідно переконатися в правильності вибору. Перерахуємо далі по яким… Читати ще >

Проектування власної CMS для створення веб-сайтів (реферат, курсова, диплом, контрольна)

Вступ Зараз уявити собі пошук інформації без інтернета та сайтів важко уявити, оскільки це стало певною частиною нас самих. Ми спілкуємося в інтернеті, дивимося фільми, слухаємо музику. В цьому всьому нам допомагають сайти. Вже зовсім скоро навіть школярі молодших класів будуть мати свій сайт і ми в цьому їм допоможемо. Уявіть собі ви скачуєте архів собі на комп’ютер та після встановлення ви є володарем свого особистого сайту.

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

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

Робота складається із трьох розділів. У першому розділі розглянуто CMS, його основні характеристики, принципи роботи та різновид. У другому розділі розглядається архітектура сервера Apache і файлів які фігурують головними в моїй задачі. У третьому розділі описано постановку задачі та її реалізацію. Сторінки написані на: html, css, php, js, config.

І. Загальні теоретичні відомості

1.1. Система керування вмістом та її різновиди Системма керувамння вмімстом (СКВCMS) —програмне забезпечення для організації веб-сайтів чи інших інформаційних ресурсів в Інтернеті чи окремих комп’ютерних мережах.

Існують сотні, а може, навіть й тисячі доступних CMS — систем. Завдяки їхній функціональності їх можна використовувати в різних компаніях. Незважаючи на широкий вибір інструментальних та технічних засобів, наявних в CMS, існують загальні для більшості типів систем характеристики.

Перші СКВ були розроблені у великих корпораціях для організації роботи з документацією. У 1995;му від компанії CNET відокремилася окрема компанія Vignette, яка започаткувала ринок для комерційних СКВ. З часом діапазон продукції розширювався і все більше інтегрувався у сучасні мережеві рішення аж до популярних веб-порталів.

Багато сучасних СКВ поширюються як безкоштовні і легкі у встановленні (інсталяції) програми, які розробляються групами ентузіастів під ліцензією GNU/GPL.

Системи управління веб-сайтом часто розраховані на роботу у певному програмному середовищі. Наприклад, системаMediaWiki, під управлінням якої працює Вікіпедія, написана мовою програмування PHP і зберігає вміст і налаштування у базі даних типу MySQL або PostgreSQL; тому для її роботи потрібно, щоб на сервері, де вона розміщена, були встановлені веб-сервер (Apache, IIS чи інший), підтримка PHP та системи керування базами даних MySQL або PostgreSQL, а також, в разі необхідності, додаткові програми для обробки зображень чи математичних формул. Такі вимоги є досить типовими для відкритих СКВ.

Web content management systems для управління веб-сайтами (наприклад, енциклопедіями, подібними до Вікіпедії, онлайн-виданнями, блогами, форумами, корпоративними чи персональними веб-сторінками та ін.)

Транзакційні СКВ для забезпечення транзакцій у електронній комерції.

Інтегровані СКВ для роботи з документацією на підприємствах.

Електронні бібліотеки (Digital Asset Management) для забезпечення циклу життя файлів електронних медіа (відео, графічн., презентації тощо).

Системи для забезпечення циклу життя документації (інструкції, довідники, описи).

Освітні СКВ — системи для організації Інтернет курсів та відповідного циклу життя документації. Наприклад:

1.Системи, що мають українську локалізацію:

Moodle — використовується більш ніж 20 ВНЗ України, має українську локалізацію;

MaxSite CMS — досить гнучка в налаштуванні CMS на CodeIgniter, має українську локалізацію;

Joomla — повна українська локалізація Joomla! 1.5.x, Joomla! 1.0.x — переклад фронтальної частини. Переклади розширень.

ATutor — використовується у Тернопільському національному технічному університеті імені Івана Пулюя;

Ilias — використовується у Київському національному університеті імені Тараса Шевченка.

UkroCMS — перша українська безкоштовна CMS код якої повністю написаний в Україні.

2.Системи, що не мають української локалізації але одночасно не мають проблем із відображенням символів кирилиці (ті, що працюють з шрифтами юнікод UTF-8):

OLAT;

Interact;

Docebo;

Wordcircle;

e107.

3.Платформенні СКВ (Platform Content Management Systems) підтримують автоматизацію роботу з комп’ютерними файлами, папками, програмами у визначеному програмному середовищі.

4.Корпоративні СКВ (Enterprise content management systems) з різноплановим пристосуванням для потреб підприємницької діяльності. Підтримують цикл життя внутрішньої і зовнішньої документації.

Приклади корпоративних СКВ:

RedDot;

Microsoft CMS;

Rhythmyx;

Documentum;

Open pages;

Chrystal Software;

Viagnette;

CyberTeams;

Blue Martini;

Tikiwiki CMS Groupware;

1.2 Способи роботи Генерація сторінок за запитом. Системи такого типу працюють на основі зв’язки «модуль редагування > база даних > модуль представлення». Модуль представлення генерує сторінку з контентом при запиті на нього на основі інформації з бази даних. Інформація в БД змінюється за допомогою модуля редагування. Сторінки заново створюються сервером при кожному запиті, а це створює навантаження на сервер. Але це навантаження може бути багатократно зменшене при використанні методів кешування, які є в сучасних веб-серверах.

Генерація сторінок при редагуванні. Системи цього типу при редагуванні сторінок вносять зміну у вміст сайту та створюють набір статичних сторінок. При такому способі втрачається інтерактивність між відвідувачами сайтів та контентом даного сайту.

Змішаний тип. Як зрозуміло із назви, цей тип поєднує в собі переваги перших двох. Може бути реалізований шляхом кешування — модуль представлення генерує сторінку один раз, надалі вона через деякий час буде в декілька разів швидше завантажуватися із кешу. Кеш може оновлюватись як автоматично, через деякий час чи при внесенні змін у певні розділи сайту, так і вручну за командою адміністратора. Другий підхід — збереження певних інформаційних блоків на етапі редагування сайту і збирання сторінок з цих блоків при запиті відповідної сторінки користувачем.

1.3 Особливості

Існують CMS двох видів: платні і безкоштовні.

Безкоштовні CMS поширюються у вільному доступі, і, як наслідок, за технічну підтримку ніхто не відповідає. Варто пам’ятати про те, що і за збереження, безпеку, при використанні безкоштовної CMS ніхто не буде нести відповідальності.

Характеристики CMS безкоштовної нітрохи не поступаються за якістю CMS платним, проте вірна приказка і для інтернет технологій щодо безкоштовного сиру. Нерідко CMS поширюють угруповання хакерів, з метою частково або повністю здійснювати контроль над сайтами.

Платні CMS поділяються на два типи:

системи із закритим кодом (вихідний код закодований (кріптованний) і не допускає будь-яких змін);

системи з відкритим кодом (для внесення зміни будь-якої з функціональних можливостей вихідний код відкритий).

Характеристики CMS з відкритим і закритим кодом мають ряд характерних ознак, які є як перевагами, так і недоліками. Відкритий код дозволяє зловмисникам простіше зламати сайт, а це значить, що можуть постраждати всі ресурси, для створення яких була обрана саме ця CMS. Для того, щоб купити систему з закритим кодом, необхідно переконатися в правильності вибору. Перерахуємо далі по яким характеристикам CMS необхідно вибрати оптимальну для Вашого бізнесу.

Критерії для визначення функціональності CMS Критеріїв для визначення функціональності CMS всього чотири:

функціональність системи управління (основні характеристики CMS це юзабіліті, настроюваність, зручність в обігу, навігації; можливість незначних змін і редизайну без зупинки роботи сайту);

універсальність системи управління (можливість використовувати дані характеристики CMS для створення сайту будь-якого рівня складності, будь то візитка або великий портал);

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

інші характеристики CMS (такі як можливість перенесення на іншу платформу без втрати інформації, можливість зберігати резервні копії, хороший відгук бази даних).

Важливою характеристикою CMS є своєчасне реагування команди розробників на запити клієнта. Це важливо, тому як мало просто встановити CMS, але і подальша інформаційна та технічна підтримка важлива.

Система управління — програма, що надає інструменти для додавання, редагування, видалення інформації на сайті. Існують різноманітні системи управління сайтом, серед яких зустрічаються платні і безкоштовні, побудовані за різними технологіями. Кожен сайт має панель управління, яка є лише частиною всієї програми, але достатня для управління ним. Велика частина сучасних систем керування вмістом реалізується у вигляді візуального (WYSIWYG) редактора — програми, яка створює HTML-код із спеціальної спрощеної розмітки, що дозволяє користувачеві простіше форматувати текст.

1.4 Функції прикладних програм керування контентом Найпоширеніші функції CMS — систем перераховані нижче:

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

Збір та адаптація контенту з існуючих джерел.

Класифікація та індексування контенту. Контент повинен бути описаний формальними ознаками (наприклад, дата створення, автор) і класифікаційними даними (наприклад, предметна категорія чи ключові слова). Така діяльність описується як зв’язання контенту та метаданих.

Перегляд контенту. Необхідний для всіх видів опублікованого контенту.

Затвердження. Формальне затвердження опублікованого контенту — важлива складова правової відповідальності за нього.

Перетворення контенту. Тексти, графіка, звуки та інші форми контенту мають бути перетворені до формату, що є найзручнішим або використовується в даній CMS — системі.

Зберігання контенту. Контент, як правило, зберігається в файлах або в БД. У випадку складніших застосувань контент підлягає управлінню версіями програмного забезпечення (SMC).

Тестування і верифікація контенту. Може стосуватись різних аспектів, таких як:

Розірвані зв’язки;

Сторінки, які повільно відкриваються;

Програмні помилки в аплетах і скриптах;

Помилки в комунікації клієнт-сервер.

Перевірка готовності контенту — це тип тестування, який включає верифікацію (перевірку) завершеності та цілісності великого об'єму контенту (наприклад, інформацію про різні аспекти нової послуги).

Публікація. Враховує всі фізичні аспекти публікації контенту, включаючи дублювання контенту на різних серверах.

Підтримка, актуалізація та контроль за змінами. Включає моніторинг опублікованого контенту та реагування на сигнали та необхідність змін.

Recall та архівування. Recall може відбуватися з багатьох причин — наприклад, втрата актуальності контенту, втрата законних прав на контент, низька частота відвідуваності, поява новішого контенту тощо. Будь-який Recalled контент є архівований.

Звіти та аналіз. Включає різні форми звітування та аналізу, з метою кращого обслуговування користувачів, покращення вигляду порталу.

ІІ. Сервер Apache в теорії

2.1 Apache HTTP-сервер та його архітектура

Apache HTTP-сервер — відкритий веб-сервер Інтернет для UNIX-подібних, Microsoft Windows, Novell NetWare та інших операційних систем.

Apache розроблюється та підтримується спільнотою розробників відкритого програмного забезпечення під керівництвом Apache Software Foundation.

В 1996 році Apache обійшов NCSA HTTPd із того часу є найбільш популярним веб-сервером у світі. Станом на червень 2013 року Apache встановлений на 53.34% (358 974 045 серверів) для порівняння на другому місці Microsoft IIS їхня частка 17.22% (115 920 681 серверів).

Сервер Apache створений на початку 1995 року співтовариством незалежних розробників «Apache Group», члени якої у свій час брали участь у проекті з побудови перших Web-серверів у NCSA (National Center for Supercomputer Applications, USA). «Apache Group» пропонує Web-сервери, сумісні з будь-якою UNIX-системою, установленої на будь-якій апаратній платформі. Сервер перенесений і на інші операційні системи. Так, уже зараз Apache Web-сервер доступний для OS/2, UNIX-платформ, Windows 2000 та ін.

Web-сервер Apache, як і всі інші Web-сервери, базується на ідеях і частині коду, реалізованих у першому по-справжньому популярному Web-Сервері — NCSA httpd 1.3.

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

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

Ядро Apache повністю написано на мові програмування C.

Система конфігурації

Система конфігурації Apache заснована на текстових конфігураційних файлах. Має три умовних рівня конфігурації:

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

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

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

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

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

Крім цього, параметри можуть бути задані через ключі командного рядка.

Мультипроцесувальні моделі (MPM)

Для веб-сервера Apache існує безліч моделей симетричного мультипроцесування.

2.2Файл .htacces та фреймворк Bootstrap

htaccess (від англ. hypertext access) — файл додаткової конфігурації веб-сервера Apache, а також подібних йому серверів. Дозволяє налаштовувати велику кількість додаткових параметрів і дозволів для роботи веб-сервера в окремих каталогах (теках), таких як керований доступ до каталогів, перепризначення типів файлів і т. д., без зміни головного конфігураційного файлу.

.htaccess є подібним конфігураційним файлом до файлу httpd. conf з тією різницею, що. htaccess діє тільки на каталог, в якому розташовується, і на його дочірні каталоги. Можливість використання. htaccess в тому чи іншому каталозі вказується в httpd. conf (директива AllowOverride).

Файл .htaccess може бути розміщений в будь-якому каталозі. Директиви цього файлу діють на всі файли в поточному каталозі і у всіх його підкаталогах (якщо ці директиви не перевизначені директивами нижчезакладених файлів .htaccess). Для того щоб ці файли. htaccess можна було використовувати, необхідні відповідні налаштування головного конфігураційного файлу (значення директиви AllowOverride має бути встановлено all). Зазвичай, переважна більшість хостерів дозволяють використовувати свої файли. htaccess (але бувають і вийнятки).

Шляхи до файлів і каталогів повинні вказуватися від кореня сервера, наприклад, /var/www/domain.com/htdocs/.

Bootstrap — це набір інструментів від Twitter (відноситься до класу інструментів: CSS-фреймворк), створений для полегшення розробки web застосунків тасайтів. Він включає CSS та HTML для типографії, форм, кнопок, таблиць, сіток, навігації тощо, а також додаткові розширення JavaScript.

Репозиторій з фреймворком є одним з найбільш популярних на GitHub[2] і, серед інших, його використовують NASA і MSNBC. 3][4]

Bootstrap використовує найсучасніші напрацювання в області CSS та HTML, тому необхідно бути уважним при підтримці старих браузерів.

Основні інструменти Bootstrap:

сітки — наперед задані розміри колонок, які можна відразу ж використовувати, наприклад ширина колонки 90px відноситься до класу .span2, який ми можемо використовувати в CSS описі документа;

шаблони — Фіксований або ґумовий шаблон документа;

типографіка — Опис шрифтів, визначення деяких класів для шрифтів таких як код, цитати тощо;

медіа — Представляє певне управління зображеннями та відео;

таблиці — Засоби оформлення таблиць, дозволяє додавати функціональність сортування;

форми — Класи для оформлення не тільки форм але і деяких подій;

навігація — Класи оформлення для табів, вкладок, сторінок, меню і тулбара;

алерт — Оформлення діалогових вікон, підказок і спливаючих вікон.

ІІІ. Практична частина

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

Створити власну CMS для створення веб-сайтів. CMS буде мати можливість:

створювати динамічно сторінки;

редагувати структуру сторінки;

Вибирати вміст як шаблон;

контент сайт сервер apache

3.2Пояснення принципу роботи та контрольні приклади

CMS «CMS it`s COOOL» працює на сервері Apache. Принцип роботи оснований на переадресації неіснуючих файлів. Тобто ми переадресовуєм користувача кожен раз на певний файл, и загружаємо відповідний шаблон. Для цього я використовую файл.htaccess. Поділимо роботу з файлом на 2 етапи.

Перший етап це безпека. Ми повинні закрити доступ до системних файлів такі як підключення до бази даних, шаблон і так далі.

Файл .htaccess

Redirect 301 /error.php

Тобто ми закидуєм цей файл в системні директиви, і при переході на системні файли воно буде перенаправляти в корінь сайту на сайт з повідомленням про помилку.

Другий етап це перенаправлення неіснуючих файлів.

Файл .htaccess

ErrorDocument 404 /index.php

Взагалі структура файлів така:

admin_panel

img

add.php

edit.php

index.php

system

.htaccess

css

js

php

view

index.php

.htaccess

error.php

index.php

При перенаправленні при неіснуючому файлі ми перевіряєм чи є в нас така сторінка.

Файл /index.php

if ($row['name_page']≠'')

$retArr =loadpage ($row,$dbh); else $retArr[0]='ERROR';

І загружаємо з бази даних відповідну сторінку.

Контрольні приклади:

Висновки В цій курсовій роботі було розглянуто загальні теоретичні відомості, які стосуються розробки систем управління контенту та особливостей реалізації її на сервері Apache. Розроблена власна CMS та розглянутий принцип його створення на сервері Apache.

Використана література

http://uk.wikipedia.org/wiki/Apache_HTTP_Server

http://uk.wikipedia.org/wiki/Twitter_Bootstrap

http://uk.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%BA%D0%B5%D1%80%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F_%D0%B2%D0%BC%D1%96%D1%81%D1%82%D0%BE%D0%BC

Додаток 1. Програмний код реалізації задачі

/index.php

$url = $_SERVER['REQUEST_URI'];

$part_url= substr ($url, 12);

include («system/connect_to_db.php»);

$qwer = mysql_query ('SELECT * from pages where `name_page`="'.$part_url.'" ',$dbh) or die ('load_page error!');

$row = mysql_fetch_array ($qwer, MYSQL_ASSOC);

function loadpage ($row,$dbh){

$retArray;

$qwer = mysql_query ('SELECT `content` from content where `id`="'.$row['body']. '" ',$dbh) or die ('content page error!');

$row2 = mysql_fetch_array ($qwer, MYSQL_ASSOC);

$retArray[0]=$row2['content'];

$qwer = mysql_query ('SELECT `style` from styles where `id`="'.$row['head']. '" ',$dbh) or die ('head page error!');

$row2 = mysql_fetch_array ($qwer, MYSQL_ASSOC);

$retArray[1]=$row2['style'];

$qwer = mysql_query ('SELECT `scripts` from script where `id`="'.$row['footer']. '" ',$dbh) or die ('footer page error!');

$row2 = mysql_fetch_array ($qwer, MYSQL_ASSOC);

$retArray[2]=$row2['scripts'];

return $retArray;

}

if ($row['name_page']≠'')

$retArr=loadpage ($row,$dbh);

else

$retArr[0]='ERROR';

$body=$retArr[0];

$head=$retArr[1];

$footer=$retArr[2];

include («view/index.php»);

?>

/admin_panel/index.php

if (isset ($_POST[" btt" ])){

if ($_POST[" log" ]=="VovaAdmin" && $_POST[" pas" ]=="1234″){

$_SESSION[" login_admin" ]="ok" ;

}

}

?>

.sub{

background: #ddd;

}

if ($_SESSION[" login_admin" ]=="ok"){

}

else{

echo '

';

exit;

}

?>

Заповнити форму поточною роботою