Розробка інформаційного веб-сайту з використанням мови програмування PHP

Структура інформаційної системи веб-сайту. Узагальнена архітектура кластерної структури. Вимоги до хостингу. Встановлення та налаштування програмного забезпечення. Функція перенаправлення посилань. Система керування базою даних основного кластера.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 02.07.2015
Размер файла 871,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

РЕФЕРАТ

Розробка інформаційного веб-сайту з використанням мови програмування PHP // Дипломний проект // Melkiy.te.ua Володимир Романович // Тернопільський національний технічний університет імені Івана Пулюя, факультет комп'ютерно-інформаційних систем і програмної інженерії, група СІ-52 // Тернопіль 2014 // с. - , рис. - , табл. - , кресл. - , додат. - , бібліоф. - .

Ключові слова: WEB-САЙТ, САЙТ, PHP, MYSQL, HTML, CSS, APACHE, LAMP, ІНФОРМАЦІЙНА СИСТЕМА, КЛАСТЕР.

Об'єкт проектування -- розробка інформаційного веб-сайту з викорстанням мови програмування PHP.

Проект складається з п'яти розділів.

Перший розділ присвячено побудови інформаційної системи кластерної структури. Встановленню і налаштуванню операційної системи, програмного забезпечення, бази даних, її синхронізації, гео-ІР, а також розробка веб-сайту.

Другий розділ представляє собою засоби для перевірки якості сайту.

Третій розділ розкриває питання економічного обґрунтування дипломного проектування та оцінки економічних показників, розрахунок річної суми економічного ефекту від впровадження комп'ютерної мережі.

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

П'ятий розділ -- це екологічна частина. Висвітлено найбільші загрозливі екологічної фактори, що впливають на довкілля, та проаналізовано методи їх усунення.

ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ, ОДИНИЦЬ, СКОРОЧЕНЬ І ТЕРМІНІВ

ПК - персональний комп'ютер;

HTML - Hyper Text Markup Language - мова розмітки гіпертекстових сторінок;

HTTP - Hyper Text Transfer Protocol - протокол передачі гіпертекстових сторінок;

PHP - Hypertext Preprocessor - гіпертекстовий препроцесор; -- скриптова мова програмування, була створена для генерації HTML-сторінок на стороні веб-сервера; Personal Home Page

CSS - таблиці каскадних стилів;

MySQL - система керування базами даних;

XML - Extensible Markup Language - розширювана мова розмітки;

БД - база даних;

IP - internet protocol (Інтернет протокол)

PDF - portable document format

WWW - world wide web (всесвітня павутина)

ЕОМ - електронна обчислювальна машина

ІС - інформаційна система

СКБД - система керування базами даних

ЗМІСТ

ВСТУП

1. ОСНОВНА ЧАСТИНА

1.1 Аналіз предметної області і постановка задачі

1.2 Структура інформаційної системи веб-сайту

1.3 Узагальнена архітектура кластерної структури інформаційної системи

1.4 Архітектура територіальних кластерів

1.4.2 Архітектура італіського територіального кластера

1.4.3 Архітектура іспанського територіального кластера

1.5 Вимоги до хостингу

1.5.1 Хостинг для головного кластера

1.5.2 Хостинг для українського територіального кластера

1.5.3 Хостинг для італійського територіального кластера

1.5.4 Хостинг для істанського територіального кластера

1.6 Встановлення та налаштування програмного забезпечення

1.7 Алгоритм модуля гео-ІР

1.7.1 Встановлення додатку django-geoip

1.7.2 Функція перенаправлення посилань

1.7.3 Статистика

1.8 Система керування базою даних основного кластера

1.9 Система керування базою даних територіального кластера

1.10 UML-діаграма веб-сайту

1.11 Структура інтерфейсу веб-сайту

1.12 Програмні рішення

2. СПЕЦІАЛЬНА ЧАСТИНА

2.1 Оптимізація веб-сайту

2.2 Тестування веб-сайту

3. ОРГАНІЗАЦІЙНО - ЕКОНОМІЧНА ЧАСТИНА

3.1 Визначення стадій технологічного процесу та загальної тривалості

3.2 Визначення витрат на оплату праці та відрахувань на соціальні заходи

3.3 Розрахунок матеріальних витрат

3.4 Розрахунок витрат на електроенергію

3.5 Розрахунок суми амортизаційних відрахувань

3.6 Обчислення накладних витрат

3.7 Складання кошторису витрат та визначення собівартості НДР

3.8 Розрахунок ціни програмного продукту

3.9 Визначення економічної ефективності і терміну окупності капітальних вкладень

4. ОХОРОНА ПРАЦІ ТА БЕЗПЕКА В НАДЗВИЧАЙНИХ СИТУАЦІЯХ

4.1 Охорона праці

4.2 Оцінка надійності захисту персоналу об'єкту у воєнний час

5. ЕКОЛОГІЯ

5.1 Стратегія і тактика збереження й розвитку життя на землі

5.2 Методи визначення якості та обсягу забруднень

5.3 Стаcтичне оцінювання екологічного стану навколишнього середовища

ВИСНОВКИ

ПЕРЕЛІК ПОСИЛАНЬ

ДОДАТОК А Технічне завдання

ВСТУП

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

Сайт -- сукупність веб-сторінок, доступних у глобальній мережі інтернет об'єднані як за змістом, так і навігаційно. Фізично сайт може розміщуватися як на одному, так і на кількох серверах.

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

Дана дипломна випускна робота описує процес та основні етапи створення веб-сайту для фірми з міжнародних перевезень ЄвроТрансПошта. Веб-сайт розробляється з використанням мови програмування PHP та розміщуватиме на своїх сторінках, інформацію про доставку товару, якою займається компанія ЄвроТрансПошта.

1. ОСНОВНА ЧАСТИНА

1.1 Аналіз предметної області і постановка задачі

Головною метою дипломного проекту є розробка інформаційного веб-сайту з використанням мови програмування PHP.

Постановка завдання.

Для збільшення кількості замовлень на перевезення товарів в компанії ЄвроТрансПошта використовується спеціалізована система, яка використовує ресурси мережі Інтернет. Необхідно розробити інформаційну систему з веб-сайтом, призначену для залучення клієнтів і автоматизація їх замовлень.

Вимоги до функціональних можливостей.

Відповідно до побажань замовника в проектованій системі повинні бути закладені наступні функціональні можливості:

– можливість автоматичної реєстрації нових користувачів в системі;

– реєстрація нових користувачів повинна мати надійний рівень захисту;

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

– можливість надсилання смс для виділеної групи користувачів з інформацією, про доставку товару;

– можливість надсилання смс в будь-яку країну Європи;

– можливість роботи з різними типами Інтернет-сервісів смс-шлюзів;

В процесі розробки інформаційної системи наведений перелік функціональних можливостей може бути розширений та доповнений.

Вимоги до структури.

В інформаційній системі повинні бути реалізовані наступні структурні особливості:

– інформаційна система повинна бути реалізована з використанням кластерної структури;

– призначені для використання в рамках всієї системи структурні елементи повинні бути виконані у вигляді окремих системних модулів;

– окремі інформаційні розділи системи повинні бути виконані у вигляді окремих програмних компонентах;

– для Інтернет-сервісу, надсилання e-mail -повідомлень повинні бути реалізовані програмні засоби у вигляді окремих стандартизованих програмних файлів;

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

З метою спрощення модифікації та адміністрування перелічені вище структурні елементи доцільно реалізувати у вигляді окремих програмних файлів.

Вимоги до захисту та доступу.

Враховуючи наведені вище особливості роботи інформаційної системи можна сформувати наступні вимоги до захисту:

– отримана від користувачів інформація повинна відповідати тільки передбаченим наборам символів;

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

– користувачі не можуть вводити в систему символьні нотації котрі відповідають поширеним операторам мов програмування, командам ОС чи СКБД, командам перекодування або зміни типів даних;

– в системі не повинно бути функцій відновлення паролів. Дії з відновлення паролів повинні виконуватись користувачами з вищим рівнем доступу;

– при вході користувача в систему повинна відбуватись парольна аутентифікація користувача;

– в БД повинен зберігатись хеш пароля користувача зашифрований з допомогою алгоритму розробленого на основі одностороннього хешування md5;

– захист від підбору паролів. При вводі визначеної кількості неправильних комбінацій логіна та паролю система повинна припиняти аутентифікацію користувачів з визначеної IP-адреси на заданий проміжок часу;

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

Враховуючи наведені вище особливості роботи інформаційної системи можна сформувати наступні вимоги до організації доступу:

– доступ користувачів до веб-сайту повинен здійснюватись за допомогою програм Інтернет браузерів для ПК;

– доступ повинен бути реалізований за допомогою стандартного протоколу HTTP.

Вимоги до інтерфейсу системи.

Сформуємо перелік вимог до інтерфесу інформаційної веб-системи:

– згенеровані веб-сторінки повинні однаково відображатися програмами Інтернет браузерами різних фірм та версій;

– генерування html-сторінок повинне відбуватись з використанням кодування UTF-8;

– повинні бути передбачені функції для швидкої зміни мови інформаційного наповнення;

– повинні бути передбачені функції для швидкої зміни шаблону відображення системи;

– шаблони відображення системи повинні бути реалізовані з використанням таблиць CSS-стилів.

Вимоги до звітної інформації.

Звітна інформація системи повинна бути розділена на три категорії:

– звітна інформація стосовно функціонування системи. Дана категорія призначена для адміністраторів вищого рівня з метою виявлення та усунення спроб несанкціонованого доступу та технічних проблем;

– звітна інформація про надіслані e-mail-повідомлення. Дана категорія призначена для обслуговуючого персоналу. Вона повинна містити список надісланих користувачам та групам користувачів e-mail, інформацію про процес передачі даних;

– звітна інформація про процес завантаження та виконання окремих програмних компонент та модулів. Дана категорія призначена для відлагодження системи в процесі розгортання та тестування.

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

1.2 Структура інформаційної системи веб-сайту

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

Таке визначення може бути задовільним тільки при найбільш узагальненій і неформальній точці зору і підлягає подальшому уточненню. Інформаційні системи діють в Україні під назвою «автоматизовані системи (АС)».

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

- засоби фіксації і збору інформації;

- засоби передачі відповідних даних та повідомлень;

- засоби збереження інформації;

- засоби аналізу, обробки і представлення інформації.

Класифікацікують ІС:

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

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

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

- за функціональним призначенням (керувальні, проектувальні, наукового пошуку, діагностичні, моделювальні, систем підготовки прийняття рішення).

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

Інформаційна структура веб-сайту ЄвроТрансПошта буде мати деревовидну форму і буде складатися із чотирьох частин: однієї головної і трох територіальних. Основна частина системи, буде мати головний сайт компанії ЄвроТранПошта, який має назву eurotransposh.com і розміщуватися він буде на хостингу на території Україні. Саме в Україні буде розміщуватися головний офіс фірми ЄвроТранПошта.

На сайті розміщується інформація про перевезення вантажу, яким займається дана компанія. А також на сайті буде тарифи, маршрути доставки, інформація про доставку та інша цікава інформація.

Сайт має скріпт автоматичного перенаправлення відвідувачів на інші дочірні сайти компанії, які розміщується в трьох європейських країнах і мають свої відповідні адреси в інтернеті. Представництво в Україні буде мати адресу eurotransposh.com.ua і буде обслуговувати клієнтів з України. Представництво в Італії буде мати адресу сайту - eurotransposh.com.it і буде обслуговувати клієнтів з Італії. Представництво в Іспанії буде мати адресу сайту - eurotransposh.com.sp і буде обслуговувати клієнтів з Іспанії.

На території України компанія ЄвроТранПошта має три регіональні представництва у трьох містах - Львові, Тернополі і Києві. У цих містах, клієнти компанії ЄвроТранПошта можуть отримати замовлені попередньо товари.

На території Італії компанія ЄвроТранПошта має також три регіональні представництва у трьох найбільних містах даної країни, а саме - Римі, Мілані і Турині. У цих містах, клієнти компанії ЄвроТранПошта можуть отримати замовлені попередньо товари.

На території країни Іспанії компанія ЄвроТранПошта також має три регіональні представництва у трьох найбільних містах цієї країни, а сааме - Мадриді, Барселоні та Валенсії. У цих містах, клієнти компанії ЄвроТранПошта можуть отримати замовлені попередньо товари.

1.3 Узагальнена архітектура кластерної структури інформаційної системи

Інформаційна структура веб-сайту ЄвроТрансПошта складається з головного кластера і трьох територіальних кластерів.

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

Головний кластер буде складатися з VPS-хостингу, на якому буде розміщуватися сайт, а також бази даних, для збереження усіх даних і додаток для синхронізації головної бази даних із базами даних територіальних, а ще буде розміщуватися скріпт редіректора, який буде перенаправляти відвідувачів сайту згідно з гео-ІР в залежності з якої країни відбувається запит до головного сайту.

Територіальні кластери на яких розміщуються дочірні сайти компанії ЄвроТрансПошта мають свої власні VPS-хостинги, на яких розміщуються територіальні сайти. Окрім цього кластери мають модулі статистики, для відслідковування потоку своїх клієнтів. Системи керування базами даних, які двічі на день синхронізуються із базою даних із головного кластера.

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

Архітектура основного Кластера належить до гетерогенних кластерiв типу BEOWULF. Система складається iз 22 двопроцесорних вузлiв на базi Intel® Pentium-III 933MГц та 1ГГц, Intel® Xeon® 2.0ГГц та 2.4ГГц, Intel® Xeon® EM64T 3.2ГГц. У ролi службової та швидкісної мережі використовується Gigabit Ethernet. На вузлах встановлено операційну систему Linux на основі поставки Fedora Core 1 та 3 з ядрами - 2.4.32 і 2.6.18 Кожен вузол кластера має однакову структуру каталогiв та мiстить, по можливості, однаковий набiр програмного забезпечення, iнстальованого в однi й тi ж каталоги. Основною моделлю програмування є розподілена пам'ять, проте в межах одного вузла підтримується модель спільної пам'яті.

Комутатор, який використовується Cisco Catalyst 3750 GT має 24 порти

Конфігурація вузла, яка розміщується на базi Intel® Pentium III 933MГц (4 вузли):

- Процесор 2xIntel® Pentium III 933МГц;

- Системна плата - Intel® STL2;

- Оперативна пам"ять - ECC SDRAM 512Мб;

- Жорсткий диск - IBM UltraWide SCSI-2 36Gb;

- Мережева плата - Intel® PRO/1000 (Gigabit Ethernet).

Конфігурація вузла, яка розміщується на базi Intel® Pentium III 1ГГц (4 вузли):

- Процесор - 2хIntel® Pentium III 1ГГц;

- Системна плата - Supermicro SUPER P3TDL3;

- Оперативна пам"ять - ECC SDRAM 512Мб;

- Жорсткий диск - IBM UltraWide SCSI-2 36Gb;

- Мережева плата - Intel PRO/1000 (Gigabit Ethernet).

Конфігурація вузла, яка розміщується на базi Intel® Xeon 2.4ГГц (4 вузли):

- Процесор - 2хIntel® Xeon 2.4ГГц;

- Системна плата - Supermicro SUPER X5DE8-GG;

- Оперативна пам"ять - ECC SDRAM 512Мб;

- Жорсткий диск - IBM UltraWide SCSI-2 36Gb;

- Мережева плата - 2хIntel PRO/1000 (Gigabit Ethernet).

Конфігурація вузла, яка розміщується на базi Intel® Xeon 2ГГц (4 вузли):

- Процесор - 2хIntel® Xeon 2ГГц;

- Оперативна пам"ять - ECC SDRAM 1Гб;

- Мережева плата - 2хIntel PRO/1000 (Gigabit Ethernet).

Конфігурація вузла, яка розміщується на базі Intel® Xeon® EM64T 3.2ГГц (6 вузлів):

- Процесор - 2хIntel® Xeon EM64T 3.2ГГц;

- Оперативна пам"ять - ECC SDRAM 2Гб;

- Мережева плата - 2хIntel PRO/1000 (Gigabit Ethernet).

Важливими є також такі параметри, як пікова продуктивність процесорів:

- Intel Pentium III з частотою 1ГГц - 2 GFLOPs;

- Intel Xeon з частотою 2.4 ГГц - 4.8 GFLOPs;

- Intel EM64T з частотою 3.2ГГц 6.4 GFLOPs.

Швидкісні харакетристики мережі:

- MTU - 9000 байт;

- Максимальна пропускна здатність - 1 Gbit/s;

- Початкова затримка - 32 мкс.

В цілому по кластеру:

- Кількість вузлів - 22;

- Кількість фізичних процесорів - 44;

- Кількість HT процесорів - 76;

- Пікова продуктивність - 105.8 GFLOPs;

- Продуктивність за HPL ~27 GFLOPs;

- Об'єм оперативної пам'яті - 20 GBytes;

- Об'єм дискового простору ~ 1 TBytes.

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

Операцiйна система кластера працює пiд керуванням операцiйної системи Linux На кластерi працює експериментальна система збереження (чекпойнт) та вiдновлення процесiв в контрольних точках ЧПОКС, розроблена робочою групою кластера.

На сьогоднi використовуються поставки поставки Fedora Core версiй 1 та 3 (остання на вузлах з процесорами Intel Xeon EM64T ) ядро - версiй відповідно 2.4.32 та 2.6.18. glibc - версiй 2.3.2 та 2.3.6 ЧПОКС - версiй 0.7.3 та 1.0

Система розподілу навантаження на кластері, це - система керування ресурсами Torque - 2.1.6 таПланувальник MAUI - 2.3.6p17.

З iнтерфейсiв паралельного програмування доступнi MPI (LAM та MPICH реалiзацiї), а також PVM.

На сьогоднi iнстальовано:

- LAM/MPI - версiй 6.5.9, 7.0.1, 7.1.1;

- MPICH - версiї 1.2.4;

- PVM - версiї 3.4.3.

Основнi математичнi бібліотеки, які використовує кластер - MKL Math Kernel Library - Оптимiзовані високопродуктивні математичні бібліотеки від Intel. ATLAS Оптимiзована високопродуктивна бiблiотека функцiй лiнiйної алгебри, що вiдповiдає функцiям широко вживаної бiблiотеки BLAS. SCALAPACK - версiя 1.7 Паралельна реалiзацiя (на основi LAM/MPI) функцiй лiнiйної алгебри, що використовує бiблiотеку ATLAS, а також комунiкацiйну пiдсистему BLACS. FFTW - версiя 2.1.3 Паралельна (на основi LAM/MPI) бiблiотека функцiй для швидкого перетворення Фур'є. Доступні також інші бібліотеки, які звичайно входять в поставку Linux, наприклад GNU MPP

Мови програмування:

- С / С++;

- gcc/gcc-c++ - версiй 2.96-85, 3.4;

- icc - версiй 5.0, 6.0, 7.0, 8.0;

- Fortran-77;

- gcc-g77 - версiй 2.96-85, 3.4;

- ifc - версiй 5.0, 6.0, 7.0, 8.0;

- Fortran-90/95;

- ifc - версiй 5.0, 6.0, 7.0, 8.0.

Засоби автоматичного розпаралелювання та мови паралельного програмування:

OpenMP - OpenMP стандарт створення паралельних програм в моделі з спільною пам'яттю. Підтримується сімейством компіляторів Intel.

Cilk - версiя 5.3.1. Розширення мови С для створення багатопотокових паралельних програм.

Adaptor - версiя 7.0. Транслятор з Фортран 77/90/HPF в Фортран 77 з викликами функцiй MPI/PVM.

Mpc - версiя 2.2.0. Мова паралельного програмування для кластерiв та мереж робочих станцiй.

Прикладні програми:

- GAMESS-US, PCGAMESS, NWCHEM, GAUSSIAN2002* - квантовомеханічі розрахунки електронних структур;

- GROMACS, NAMD, AMBER* - моделювання молекулярної динаміки;

- AUTODOCK, 3DDOCK, FLO+* - молекулярний докінг;

- MATHEMATICA* - пакет символьної та обчислювальної математики;

- GNU OCTAVE - пакет обчислювальної математики.

Особливостi конфiгурацiї кластера є такими, щоб кожен постiйно працюючий вузол кластера (по можливостi) має однакову структуру каталогiв та мiстить однаковий набiр програмного забезпечення, iнстальованого в однi й тi ж каталоги. Це дозволяє забезпечити максимальну незалежнiсть вузлiв та зменшити об'єм iнформацiї, що передається мережею. Всі вузли кластеру мають однаковий простір імен, у тому числі імен та ідентифікаторі користувачів і груп, що забезпечується службою каталогів на базі LDAP.

Всі користувачі для роботи на кластері використовують інтерфейс командного рядка UNIX-подібних операційних систем, до яких належить ОС GNU. Доступ до кластеру відкритий з мережі Інтернет і виконується через вхідних вузол за протоколом ssh. Інтернет адреса кластеру cluster.univ.kiev.uaпорт 22. Термінальний доступ з будь-якого вузла кластеру можливий до всіх вузлів кластеру за протоколами rsh та ssh.

Кожен користувач має доступ до програмного забезпечення, що вiдкрите для загального використання, крiм цього кожен користувач може iнсталювати у своїй домашнiй директорiї, а також у директорiї /mnt/work/ на кожному доступному вузлi, програмне забезпечення, права на доступ до якого користувач виставляє сам.

Каталоги /mnt/work/ призначенi для роботи з файлами великих розмiрів і якщо вимагається висока швидкiсть вводу/виводу. Домашнi каталоги /home/<ім'я користувача> мають менший доступний об'єм i призначенi для зберiгання цiнних даних, якi, наприклад, потребують резервного копiювання, тому домашнi каталоги розташованi на журнальованiй файловiй системi, яка захищена вiд збоїв, але менш ефективна в планi швидкостi вводу/виводу. Найближчим часом плануэться створити спільну файлову систему домашніх каталогів для всіх вузлів, з тими самими вимогами щодо швидкості та надійності, проте з більшим об'ємом.

Крiм файлових систем, що належать кожному окремому вузлу, користувач має доступ до всiх (крiм спецiальних, таких як /proc та /dev) файлових систем усiх вузлiв кластера. Такий доступ можливий через файлову систему NFS в каталогах /net/< iм'я вузла > . Користувач може запускати свої задачi на будь-якому з доступних вузлiв, при цьому доступ до iнших вузлiв вiдбувається без необхiдностi введення пароля через протокол rsh. У випадку, коли задача вимагає тривалого часу для розрахунків (від години) обов'язковим є запуск задач з використанням системи пакетного режиму, яка дозволяє раціонально використовувати всі ресурси кластера і розподіляти їх між багатьмя користувачами. Для захисту задач, що мають один процес, доцiльно використовувати систему ЧПОКС.

Крiм постiйно працюючих вузлiв до кластера можливе динамiчне пiдключення будь-якої кiлькостi додаткових вузлiв. Новi вузли можуть бути бездисковими i завантажуватись через мережу.

1.4 Архітектура територіальних кластерів

Найпоширенішим, звичайно, є використання однорідних кластерів, тобто таких, де всі вузли абсолютно однакові по своїй архітектурі й продуктивності. Де для кожного кластера є виділений сервер -- керуючий вузол (frontend). На цьому комп'ютері встановлене програмне забезпечення, яке активізує обчислювальні вузли при старті системи й управляє запуском програм на кластері.

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

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

Обчислювальний кластер, як правило, працює під керуванням однієї з різновидів ОС Unix -- багатокористувацької багатозадачної мережевої операційної системи. Unix має ряд відмінностей від Windows, яка звичайно працює на персональних комп'ютерах, зокрема ці відмінність стосуються інтерфейсу з користувачем, роботи із процесами й файлової системи.

Головна наша мета, яка висувається до використання кластера, це -- забезпечення високої доступності бази даних. Сьогодні для додатків все частіше висуваються такі бізнес-вимоги, щоб був забезпечений доступ до даних в режимі 24 години на добу 7 днів на тиждень, і недоступність бази даних в зв'язку з будь-якими причинами часто просто неприпустима. Використання кластера серверів баз даних може допомогти запобігти недоступності даних через вихід з ладу сервера, викликаного збоєм у програмному забезпеченні, необхідністю виконання операцій з обслуговування сервера або через втрату мережного з'єднання з сервером. Однак кластер не гарантує, що ніколи не відбудеться відмова сервера, він допомагає зменшувати число виходів з ладу і надає адміністраторам бази даних і сервера можливості вивести сервер зі стану відмови без втрат.

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

1.4.1 Архітектура українського територіального кластера

Український кластер побудований на базі кластера СКІТ.

СКІТ -- суперкомп'ютерний обчислювальний комплекс Інституту кібернетики ім. В. М. Глушкова НАН України. Проект першого суперкомп'ютера СКІТ був розроблений в 2002 році спільно з компанією "Юстар".

СКІТ-4 -- 12-вузловий кластер на багатоядерних процесорах Intel Xeon E5-2600.

Кластер базується на новітній платформі HP ProLiant Gen8 BladeSystems та має наступні характеристики:

- кластер складається з 12 вузлів на базі центральних процесорів Intel Xeon E5-2600 з частотою 2.6 ГГц, має 192 обчислювальних ядра, 36 прискорювачів NVidia Tesla M2075, 768 ГБ оперативної пам'яті;

- інтегрований із загальним сховищем даних кластерного комплекса обсягом 100 ТБ;

- мережа передачі даних між вузлами Infiniband FDR 56 Гбіт/с.

Кожен вузол має реальну продуктивність 1 ТФлопс, 16 ядер (32 у режимі HyperThreading), 64 ГБ оперативної пам'яті, 3 прискорювача NVidia Tesla M2075.

В цілому кластер має наступні характеристики продуктивності:

- пікова продуктивність 25,6 ТФлопс;

- реальна продуктивність 10 ТФлопс.

СКІТ-4 удвічі потужніший за СКІТ-3, при цьому менший за розмірами та має значно менше енергоспоживання -- 15 кВт проти 60 кВт для СКІТ-3.

Прикладне програмне забезпечення СКІТ:

Пакети для розрахунків електронних структур в квантовій механіці: GAMESS (US), NWCHEM, ABINIT. Пакети для моделювання в молекулярній динаміці: GROMACS.

1.4.2 Архітектура італіського територіального кластера

В столиці Італії - Римі, де є представництво компанії ЄвроТрансПошта також є територіальна кластерна система із хорошими технічними характеристиками, для забезпечення надійності та безвідмовності системи.

Характеристика кластера, який знаходиться в Італії, подана в вигляді таблиці і показує основні його характеристики. Ці характеристики подані в таблиці 1.1.

Таблиця 1.1 -- Характеристика італіського територіального кластера

Характеристика

SCI

Процесор

Pentium III (Katmai)

Тактова частота процесора

500 МГц

Кеш-пам'ять другого рівня (на кожному процесорі)

512 Кбайт

Процесорів на вузлі

2

Обсяг пам'яті на вузлі

1 Гбайт (PC-100)

Чипсет

Intel 440BX

Вузлів у кластері

18

Частота системної шини (FSB)

100 МГц

Адаптери SCI

D311/D312 (на шині PCI-32/33 МГц)

Топологія мережі SCI

2D-тор 6x3

Комунікаційне ПО

SSP 2.1

Як видно з опису технічних характеристик, цей кластер є не таким потужним, як головний, але його потужностей є достатньо для функціонування системи. Це обумовлено, перш за все тим, що Італія географічно розташована між Україною і Іспанією, на які покладаються оснівні навантаження, а італіський територіальний кластер отримує меншу кількість користувачів, у зв'язку з тим, що діяльність фірми ЄвроТранПошта не сильно розвинуте на території цієї півострівної країни.

1.4.3 Архітектура іспанського територіального кластера

Технічні характеристики кластера, який знаходиться в Іспанії є таким, що повністю задовольняє наші, до нього вимоги.

Кластер складається з 9 комп'ютерів (nodes) на базі процесорів Intel Pentium 4 3.0 Ггц й 2 Гб ОЗУ, один із яких (headnode), є сервером, на якому встановлений процесор Intel Pentium 4 3.2 Ггц й 4 Гб ОЗУ, і 11 робочих станцій на базі процесорів Intel Pentium 4 3.2 Ггц й 1024 Мб ОЗУ.

На сервері (headnode) відбувається компіляція й запуск програм, а також зберігаються домашні каталоги користувачів. Всі інші комп'ютери: вузли (nodes) і робітники станції (workstations), використаються для проведення паралельних обчислень.

Сервер і вузлові машини об'єднані в локальну обчислювальну мережу 100Мб Fast Ethernet за допомогою комутатора D-Link DGS-1016D. Сервер і робочі станції об'єднані в локальну обчислювальну мережу 100Мб Fast Ethernet за допомогою концентратора Genius.

Технічні характеристики головного сервера (headnode):

- процесор - Intel Pentium 4 3200 Мгц;

- ОЗУ - 4096 Мб;

- жорсткий диск - 2 SATA 80 Гб, об'єднані в RAID 1.

Технічні характеристики вузлів (nodes):

- процесор - Intel Pentium 4 3000 Мгц;

- ОЗУ - 2048 Мб;

- жорсткий диск - 2 SATA 80 Гб, об'єднані в RAID 1.

Технічні характеристики робочих станцій (workstations):

- процесор - Intel Pentium 4 3200 Мгц;

- ОЗУ - 1024 Мб;

- жорсткий диск - SATA 80 Гб.

Програмне забезпечення -- операційна система Scientific Linux (на базі Red Hat Enterprise Linux). Кластерный пакет - MPICH2.

1.5 Вимоги до хостингу

Система, яка описується в дипломному проекті побудована на VPS-хостингу.

Хостинг (англ. hosting) - послуга, що надає дисковий простір для розміщення фізичної інформації на сервері.

Зазвичай під поняттям послуги хостингу мають на увазі, як мінімум, послугу розміщення файлів сайту на сервері, на якому запущене ПЗ, необхідне для обробки запитів до цих файлів (веб-сервер). Як правило, до послуг хостингу вже входить надання місця для поштової кореспонденції, баз даних, DNS файлового сховища тощо, а також підтримка функціонування відповідних сервісів, однак вони можуть надаватися і окремо. Розрізняють безкоштовний та платний хостинг. Безкоштовні «хостери» заробляють на тому, що розміщують рекламу на своїх сайтах.

Види хостингу:

Повнофункціональний хостинг:

­ віртуальний сервер - надається місце на диску для розміщення веб-сайтів, середовище виконання веб-сервісів єдине для багатьох користувачів, ресурси розподілені між усіма користувачами на одному сервері, де може розміщуватись від 50 до 1000 користувачів;

­ віртуальний виділений сервер (VPS або VDS) - послуга, в рамках якої користувачеві надається так званий віртуальний виділений сервер;

­ виділений сервер - надається сервер цілком. Використовується для реалізації нестандартних завдань (сервісів), а також розміщення «важких» веб-проектів, які не можуть співіснувати на одному сервері з іншими проектами і вимагають під себе всі ресурси сервера;

­ колокація (Collocation) - надання місця в дата центрі провайдера для обладнання клієнта (зазвичай шляхом монтажу в стійці) і підключення його до Інтернету.

Обмежений або хостинг певних програм (послуг):

­ веб-хостинг - послуга, що дозволяє користувачеві розмістити веб-сайт або іншу інформацію користувача (текст, зображення, відео) в мережі Інтернет на сервері хостинг-провайдера;

­ е-mail хостинг - представляє собою інтернет-хостинг, який працює з серверами електронної пошти;

­ DNS хостинг - являє собою сервіс, який працює з сервером доменних імен;

­ ігровий хостинг - програмний компонент обчислювальної системи, що забезпечує зв'язок між різними клієнтами, надаючи їм можливість комунікації один з одним в рамках програмної оболонки конкретної гри;

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

Віртуальний виділений сервер (англ. Virtual Dedicated Server), VDS або (англ. Virtual Private Server, VPS) -- послуга, в рамках якої користувачеві надають віртуальний сервер. Це повноцінна альтернатива фізичного виділеного сервера з великою кількістю переваг, високою стабільністю, простотою в управлінні і настройці, стійкістю до відмов і набагато меншими фінансовими витратами

Віртуалізація створюється за допомогою спеціальних програм, таких як: Parallels Virtuozzo, OpenVZ, VMware ESX, Microsoft Hyper-V, xensource, Xen, KVM, HyperVM, FreeVPS, VDSmanager та інших.

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

У деяких системах віртуалізації (наприклад -- VMWare і Xen) також доступні для редагування, налаштування ядро операційної системи і драйверів пристроїв.

Переваги:

Повний доступ, ніяких обмежень:

- Повноцінний доступ з правами root (для FreeBSD і pnux) або Адміністратора (для Windows).

- Віртуальний сервер не має обмежень кількості розміщуваних сайтів, баз даних, ftp, e-mail і ssh акаунтів.

Гнучкість:

- Можливість конфігурування будь-яких параметрів системи і додатків.

- Можливість встановлення своїх версій системних бібліотек або зміни існуючих.

- Можливість видаляти, додавати або змінювати будь-які файли в системі.

- Можливість установки будь-якого програмного забезпечення або переконфігурації системного програмного забезпечення.

Надійність:

- VPS володіє своєю IP-адресою, портами, фільтрами і правилами маршрутизації.

- VPS це повний контроль над процесами, користувачами і файлами в системі.

- VPS має вищий рівень безпеки в порівнянні з традиційним shared-хостингом, в якому немає можливості повноцінного захисту від ресурсових атак.

- А в VPS дискова підсистема, мережа, процесор і інше - повністю віртуалізовані. І такий підхід дозволяє забезпечити повну ізольованість різних VPS на одному сервері один від одного.

Економічнісь:

- Оренда віртуальної машини значно дешевше, ніж оренда виділеного сервера.

- Вартість операційної системи Windows вже входить у вартість віртуальної машини.

- Не потрібно відразу із запасом витрачатися на потужне обладнання. Додавання ресурсів (Upgrade) на віртуальному ПК проводиться "на льоту" без відключення.

- Дизайн-студії, скориставшись даною послугою, зможуть самі надавати хостинг своїм клієнтам.

1.5.1 Хостинг для головного кластера

Для головного кластера я виберу VPS-хостинг у компанії Hostinger.

Хостінгер - це компанія, яка надає послуги безкоштовного, преміум та бізнес хостингу а також VPS-серверів.

Компанія виділяється дешевими тарифними планами та високою надійністю своїх серверів. Окрім цього, компанія Хостінгер пропонує цілий ряд додаткових послуг, таких як:

- автоустановка скриптів і CMS;

- підтримка PHP і MySQL;

- хостинг без реклами і банерів;

- зручний онлайн Сайт Білдер.

У таблиці 1.2 наведено тарифні плани для VPS-серверів.

Таблиця 1.2 - Характеристика VPS-сервера

Характеристики

83 грн

166 грн

248 грн

331 грн

497 грн

663 грн

Plan 1

Plan 2

Plan 3

Plan 4

Plan 5

Plan 6

Це кількість пам'яті (ОЗП) виділене серверу. Ресурси гарантовані.

ОЗП

1024 MB

2048 MB

3072 MB

4096 MB

6144 MB

8192 MB

Ви зможете вказати період коли серверу буде необхідно більше ОЗП. Сервер може використовувати в два рази більше ОЗП.

Burstable RAM

2048 MB

4096 MB

6144 MB

8192 MB

12288 MB

16384 MB

Кількість ресурсів процесора, які виділені серверу. Сервер може використовувати від 2 до 4 процесорних ядер.

Процесор

2.4 Ghz

4.8 Ghz

7.2 Ghz

9.6 Ghz

12.0 Ghz

14.4 Ghz

Це дисковий простір, яке виділено Вашого сервера. Ми будемо створити щоденні бекапи Ваших даних!

Місце На Диску

20 GB

40 GB

60 GB

80 GB

120 GB

160 GB

Сумарна кількість даних, яку Ваш сервер може передати через Інтернет в місяць. Швидкість мережевого порту 100 Mb/s.

Трафік

1000 GB

2000 GB

3000 GB

4000 GB

5000 GB

6000 GB

IP адреси IPv4 на Вашому сервері. Ми можемо додати на сервер необмежену кількість IP адрес IPv6!

IP Адреси

1

2

3

4

5

6

Це місячна ціна сервера. Немає обов'язкових довгострокових контрактів. Ви можете відмовитися від сервера в будь-який час.

Ціна

83 грн /міс.

166 грн /міс.

248 грн /міс.

331 грн /міс.

497 грн /міс.

663 грн /міс.

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

1.5.2 Хостинг для українського територіального кластера

Для українського територіального кластера я виберу VPS-хостинг у тієї ж компанії, що й для головного хостингу. Я виберу хостинг у компанії Хостінгер.

Хостінгер - це компанія, яка надає послуги безкоштовного, преміям та бізнес хостингу а також VPS-серверів з 2011 року.

Компанія виділяється дешевими тарифними планами та високою надійністю своїх серверів. Окрім цього, компанія Хостінгер пропонує цілий ряд додаткових і популярних послуг.

Також, Хостінгер працює в новому поколінні VPS хостингу з виділеними ресурсами та кращими цінами!

У таблиці 1.3 наведено тарифний план для VPS-серверів, який я обрав собі.

Таблиця 1.3 - Обраний тарифний план для VPS-сервера

Характеристики

Plan 1

Це кількість пам'яті (ОЗП) виділене серверу. Ресурси гарантовані.

ОЗП

1024 MB

Ви зможете вказати період коли серверу буде необхідно більше ОЗП. Сервер може використовувати в два рази більше ОЗП.

Burstable RAM

2048 MB

Кількість ресурсів процесора, які виділені серверу. Сервер може використовувати від 2 до 4 процесорних ядер.

Процесор

2.4 Ghz

Це дисковий простір, яке виділено Вашого сервера. Ми будемо створити щоденні бекапи Ваших даних!

Місце На Диску

20 GB

Сумарна кількість даних, яку Ваш сервер може передати через Інтернет в місяць. Швидкість мережевого порту 100 Mb/s.

Трафік

1000 GB

IP адреси IPv4 на Вашому сервері. Ми можемо додати на сервер необмежену кількість IP адрес IPv6!

IP Адреси

1

Це місячна ціна сервера. Немає обов'язкових довгострокових контрактів. Ви можете відмовитися від сервера в будь-який час.

Ціна

83 грн /міс.

Для українського кластеру я обрав VPS-хостинг від компанії Хостінгер. Обраний тарифний план є самий найдешевший, але такий, який зден повністю виконати поставлені на нього завдання.

1.5.3 Хостинг для італійського територіального кластера

Для італійського територіального кластера я виберу VPS-хостинг тільки від компанії, яка розміщує свої фізичні сервери на території Італії. Такою компанією є -- TransІР.

Ця компанія є лідером на ринку італії у сфері хостингу.

Хостинг від TransІР має характеристики:

- 99,99% онлайн гарантії;

- SSH і noVNC;

- потужна панель управління;

- підтримка усіх популярних операційних систем;

- моніторинг за допомогою SMS і електронній пошті;

- миттєва активація.

Вона пропонує три тарифних плани, які подані у таблиці 1.4.

Таблиця 1.4 - Тарифні плани для VPS-сервера в Італії

Тарифні плани

BladeVPS X1

BladeVPS X4

BladeVPS X8

Вартість

5 євро

10 євро

25 євро

Процесори

1 Intel Xeon

2 Intel Xeon

4 Intel Xeon

ОЗП

1,024 МБ

4,096 МБ

8,192 МБ

Жорсткий диск

50Гб

150 Гб

300 Гб

Трафік

1 Тб

5 Тб

10 Тб

Проаналізувавши наявні тарифні плани, я вирішив обрати тарифний план BladeVPS X4. Цей тарифний план ідеально підходить для хостингу на території Італії.

1.5.4 Хостинг для істанського територіального кластера

Для істанського територіального кластера я виберу VPS-хостинг тільки від компанії, яка розміщує свої фізичні сервери на території Істанії. Такою компанією є -- HostPRO.

Ця компанія є лідером на ринку Істанії у сфері хостингу.

Хостинг від HostPRO має хороші відгуки від клієнтів, аже вона на ринку хостингу уже 13 років. А також має тестовий період.

Вона пропонує три тарифних плани, які подані у таблиці 1.5.

Таблиця 1.5 - Тарифні плани для VPS-сервера в Іспанії

Жвавий

Спритний

Швидкий

1 Gb RAM

3Gb RAM

2Gb RAM

1 Ядро Intel Xeon E5-2630

4 Ядра Intel Xeon E5-2630

2 Ядра Intel Xeon E5-2630

10 + 5 GB SSD-диск

30 + 15 GB SSD-диск

20 + 10 GB SSD-диск

1 IP

1 IP

1 IP

100Mbit порт

100Mbit порт

100Mbit порт

Панель управління

Панель управління

Панель управління

ISP manager Безкоштовно

ISP manager Безкоштовно

ISP manager Безкоштовно

WHM/cPanel 10 $/міс.

WHM/cPanel 10 $/міс.

WHM/cPanel 10 $/міс.

Plesk 1110 $/міс.

Plesk 1110 $/міс.

Plesk 1110 $/мІс.

$20 /міс.

$30 /міс.

$40 /міс.

Проаналізувавши наявні тарифні плани, я вирішив обрати тарифний план Жвавий. Цей тарифний план ідеально підходить для хостингу на території Іспанії.

Таким чином успішно вибрані VPS-хостинги, для усіх кластерів системи.

1.6 Встановлення та налаштування програмного забезпечення

Для початку, необхідно створити користувача із розширеними правами - рут.

Root (від англ. root -- корінь; читається «рут»), або суперкористувач -- це спеціальний аккаунт в UNIX-подібних системах з ідентифікатором (UID, User IDentifier) 0, власник якого має право на виконання всіх без винятку операцій.

Суперкористувач UNIX-систем має логін «root» тільки за замовчуванням і легко перейменовується при необхідності.

Така схема була придумана для полегшення адміністрування. Приміром, на серверах Novell, де починаючі адміністратори нерідко припускаються помилок, даючи загальний доступ до каталогів (гублячи над ними всякий контроль); в UNIX подібне неможливо.

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

Рут створюється командою:

sudo passwd root

Для того щоб ввійти в root необхідно ввести команду:

su

Для того, щоб вийти з root необхідно скористатися комбінацією клавіш Ctrl+D, або ввести команду exit.

Наступний крок, це - встановлення веб-сервера Apache.

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

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

Web-сервер Apache є самостійним, некомерційним, вільно розповсюджуваним продуктом. Продукт підтримує безліч можливостей, багато з яких реалізовані як скомпільовані модулі, які розширюють основні функціональні можливості. Вони різняться від серверної підтримки мов програмування до схем аутентифікації. Існують інтерфейси для підтримки мов програмування Perl, Python, Tcl і PHP.

Популярні методи стискування на Apache включають зовнішній модуль mod_gzip, створений для зменшення розміру веб-сторінок, переданих по HTTP.

Функції віртуального хостингу дозволяють одній інсталяції Apache обслуговувати різні веб-сайти. Наприклад, одна машина, з однією інсталяцією Apache може одночасно містити www.example.com, www.test.com, test47.test-server.test.com і так далі.

Для встановлення необхідно використати команду:

sudo apt-get install apache2

Після нажимання клавіші «Y» веб-сервер Apache успішно встановлюється.

Тепер необхідно встановити інтерпретатор PHP.

PHP -- гіпертекстовий препроцесор, попередня назва: Personal Home Page Tools -- скриптовамова програмування, була створена для генерації HTML-сторінок на стороні веб-сервера. PHP є однією з найпоширеніших мов, що використовуються у сфері веб-розробок (разом із Java, .NET, Perl, Python, Ruby). PHP підтримується переважною більшістю хостинг-провайдерів. PHP -- проект відкритого програмного забезпечення.

PHP інтерпретується веб-сервером в HTML-код, який передається на сторону клієнта. На відміну від скриптової мови JavaScript, користувач не бачить PHP-коду, бо браузер отримує готовий html-код. Це є перевага з точки зору безпеки, але погіршує інтерактивність сторінок. Але ніщо не забороняє використовувати РНР для генерування і JavaScript-кодів які виконуються вже на стороні клієнта.

PHP -- мова, яка може бути вбудована безпосередньо в html-код сторінок, які, в свою чергу коректно будуть оброблені PHP -інтерпретатором. Механізм РНР просто починає виконувати код після першої екрануючої послідовності (<?) і продовжує виконання до того моменту, коли він зустріне парну екрануючу послідовність (?>).

Велика різноманітність функцій PHP дають можливість уникнути написання багаторядкових призначених для користувача функцій на C або Pascal.

Для встановлення цього інтерпретатора ввожу команду:

sudo apt-get install php5

Після нажимання клавіші «Y» інтерпретатор мови PHP успішно встановлюється.

Наступним кроком треба встановити базу даних. Для дипломного проекту, я буду використовувати систему керування базами даних MySQL

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

MySQL -- вільна система керування реляційними базами даних.

MySQL був розроблений компанією «ТсХ» для підвищення швидкодії обробки великих баз даних. Ця система керування базами даних (СКБД) з відкритим кодом була створена як альтернатива комерційним системам. MySQL з самого початку була дуже схожою на mSQL, проте з часом вона все розширювалася і зараз MySQL -- одна з найпоширеніших систем керування базами даних. Вона використовується, в першу чергу, для створення динамічних веб-сторінок, оскільки має чудову підтримку з боку різноманітних мов програмування.

Для встановлення цієї бази даних пишу команду:

sudo apt-get install mysql-server

У процесі встановлення необхідно ввести пароль для доступу до бази даних.

Далі необхідно ввести ще раз пароль, для перевірки на правильність.

Після цих дій, система управління базами даних MySQL успішно встановлюється.

Головні сервіси на сервері уже встановлені, але тепер їх необхідно зв'язати, щоб вони коректно працювали один з одним.

Для цього ввожу одразу кілька команд:

sudo apt-get install libapache2-mod-php5

sudo apt-get install libapache2-mod-auth-mysql

sudo apt-get install imagemagick

А також треба встановити зв'язку php5 та mysql

sudo apt-get install php5-mysql

Після установлення, я перезавантажую веб-сервер:

sudo /etc/init.d/apache2 restart

Робота з домашньої папки.

Для зручності роботи хотілося, щоб сайти, які я створюю розташовувалися в домашній папці, наприклад в папці projects.

Робиться це так:

Відкриваю файл зі списком віртуальних хостів

sudo gedit /etc/apache2/httpd.conf

і додаю наступний запис, який показаний у лістингу 1.1.

Лістинг 1.1 - Додавання нового віртуального хоста

NameVirtualHost 127.0.0.2

<VirtualHost 127.0.0.2>

ServerName site1

DocumentRoot "/home/user/projects/site1"

</VirtualHost>

Для додавання декількох віртуальних хостів просто необхідно клонувати цей запис потрібну кількість разів.

Після цього відкриваю файл

sudo gedit /etc/hosts

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

# My Virtual Hosts

127.0.0.2 site1

Тепер необхідно перезапустити сервер Apache. Робиться це наступною командою:

sudo sudo /etc/init.d/apache2 restart

Якщо Apache видав повідомлення [ОК], то все пройшло вдало і тепер створена своя папка для кожного сайту. Якщо є помилка, то необхідно повторити процедуру заново.

Для того, щоб подивитися версію php і взагалі запустився він чи ні, можна створити в папці /home/user/projects/site1 файл info.php наступного змісту:

<?php

php_info();

?>

Відкрити цей файл із браузера: http://site1/info.php. Якщо PHP установлений правильно й все працює, то появиться інформація про версію й підключені бібліотеки.

Щоб одержати доступ до сервера баз даних і створити бази для наших сайтів необхідно запустити phpmyadmin. У рядку адреси браузера необхідно ввести: 127.0.0.1/phpmyadmin

Ім'я користувача - root, пароль - зазначений при установці (пустий).

Чисті посилання - mod rewrite.

Більшість CMS підтримують так звані "чисті" посилання. Для їхнього включення необхідно включити модуль mod_rewrite.

sudo a2enmod rewrite

Після цього знову необхідно перезапустити сервер Apache.

На цьому встановлення та налаштування закінчено.

Для адміністрування баз даних я використаю phpmyadmin.

PhpMyAdmin - сукупність скриптів написаних на PHP, і забезпечуючих повноцінну, у тому числі віддалену роботу з базами даних MySQL через веб інтерфейс. Так як, phpMyAdmin дозволяє в багатьох випадках обійтися без безпосереднього введення команд SQL, то робота з базами даних стає цілком посильною задачею навіть для людини досить поверхово знайомою з MySQL.

phpMyAdmin -- веб-застосунок з відкритим кодом на мові PHP із графічним веб-інтерфейсом для адміністрування СКБДMySQL. phpMyAdmin дозволяє через браузер здійснювати адміністрування сервера MySQL, запускати запити SQL, переглядати та редагувати вміст таблиць баз даних. Ця програма користується великою популярністю у веб-розробників, оскільки дозволяє керувати СКБД MySQL без безпосереднього вводу SQL команд через дружній інтерфейс і з будь-якого комп'ютера під'єднаного до інтернету без необхідності встановлення додаткового програмного забезпечення.

На сьогоднішній день phpMyAdmin широко застосовується на практиці. Останнє пов'язано з тим, що розробники інтенсивно розвивають свій продукт, з огляду на всі нововведення СКБД MySQL. Переважна більшість українських провайдерів використовують цей застосунок як панель керування для того, щоб надати своїм клієнтам можливість адміністрування виділених їм баз даних.

Програма розповсюджується під ліцензією GNU General Public License і тому деякі інші розробники інтегрують його у свої розробки, наприклад XAMPP, Denwer.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.