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

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

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

У 1994 році співробітник Національного центру додатків для суперкомп'ютерів в Університеті Іллінойсу США (NCSA) Роб Маккул виклав у загальне користування перший веб-сервер, який так і називався - NCSA HTTP daemon. Сервер отримав популярність у вузьких колах, але в середині 1994 року Маккул покинув університет, і розробки припинилися.

Невелика група зацікавлених веб-майстрів почала спільну роботу над продуктом. Спілкуючись у дискусійному листі по електронній пошті, вони розробляли "латки" і нововведення для сервера. Саме вони і створили Apache Group, що розробила першу версію Apache-сервера. Сталося це в квітні 1995 року, коли на основу (NCSA Server 1.3) були накладені всі існуючі "латки". Так з'явився перший офіційний публічний реліз Apache 0.6.2.

Перша публічна версія Apache з'явилася в квітні 1995 року, а в грудні вийшов реліз 1.0Работа над сервером не припинялася ні на день, і дуже скоро він став одним з найпопулярніших. Після численних випробувань 1 грудня 1995 з'явилася версія 1.0, стійка і надійна. Протягом усіх цих років і донині Apache залишається абсолютно безкоштовним. Можливо, це теж визначило успіх сервера, адже, по даннимNetCraft, Apache в даний момент встановлено на 67% всіх серверів у світі.

Сервер Apache зараз встановлений на 67% серверів по всьому світу. У даний момент розвивається відразу дві гілки У даний момент паралельно розвиваються дві гілки Apache - версії 2.0 і 1.3. Друга версія зазнала значну кількість змін, які в першу чергу торкнулися ядра програми і деяких важливих модулів. Так як модулі, написані сторонніми розробниками для версії 1.3, не будуть працювати у версії 2.0, "старий" Apache також підтримується. Однак якщо ви збираєтеся вперше встановити Apache, то варто придивитися до нової версії.

Apache - повнофункціональний, розширюваний веб-сервер з відкритим кодомІтак, що ж таке Apache? Це повнофункціональний, розширюваний веб-сервер, що повністю підтримує протокол HTTP/1.1 і поширюється з відкритим початковим кодом. Сервер може працювати практично на всемх поширених платформах. Існують готові виконувані файли сервера для Windows NT, Windows 9x, OS/2, Netware 5.x і декількох UNIX-систем. При цьому він дуже простий в установці та конфігурації. У цьому ви зможете переконатися трохи пізніше.

Apache налаштовується за допомогою текстових конфігураційних файлів. Основні параметри вже налаштовані "за замовчуванням" і будуть працювати в більшості випадків. Якщо вам не вистачає функціональності штатного "Апача", то варто придивитися до поширюваним модулям, написаним Apache Group і сторонніми розробниками. Важливою перевагою є те, що творці активно спілкуються з користувачами і реагують на всі повідомлення про помилки.

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

За допомогою сервера Apache можна виробляти просту аутентіфікаціюФункція поскладніше, яка закладена в протоколі HTTP/1.1 - аутентифікація користувачів. За допомогою штатних засобів сервера Apache ви можете розмежувати доступ до певних сторінок сайту для різних користувачів. Це потрібно, наприклад, для того щоб зробити адміністраторський інтерфейс до сайту. Для цього використовуються файли. Htaccess і. Htpasswd, а також модулі mod_auth і mod_access. Користувачі можуть бути розбиті на групи, і для кожної з них можна призначити свої права доступу.

Сервер Apache підтримує роботу з технологією SSIДля поділу дизайну і функціональної частини сайту, а також для спрощення зміни статичних об'єктів існує технологія SSI *.

Вона дозволяє вам помістити всю повторювану інформацію в один файл (наприклад, top.inc), а потім вставляти в сторінки посилання на неї. Потім, якщо знадобиться змінити декілька рядків у цій інформації, то доведеться поміняти їх тільки в одному файлі. Сервер Apache підтримує цю технологію і дозволяє використовувати серверні включення в повному обсязі.

На сервері Apache можна створювати користувальницькі директорії для веб-сайтовЕслі на одному сервері з встановленою операційною системою сімейства Unix і сервером Apache заведено декілька користувачів, то кожному з них можна створити окрему директорію. Точніше, вона буде створюватися автоматично разом з псевдонімом. Це робиться за допомогою модуля mod_userdir і директиви UserDir. Так, наприклад, можна папці public_html в домашній папці користувача зіставити адресу www.site.ru/~ user. В общем-то, так і робиться на серверах більшості сайтів, що надають безкоштовний хостинг. Адміністратор сервера може дозволити або заборонити певним користувачам створювати домашні сторінки, використовувати SSI і інші функції сервера. Повноцінний же хостинг зазвичай передбачає створення окремого віртуального сервера для кожного користувача.

Ви можете налаштувати віртуальні хости. Завдяки їм на одному фізичному сервері можна містити кілька віртуальнихСервер Apache був одним з перших серверів, які почали підтримувати віртуальні сервера (хости). Ця можливість дозволяє розміщувати на одному фізичному сервері декілька повноцінних сайтів. У кожного з них може бути свій домен, адміністратор, IP-адресу і так далі.

Якщо вам потрібно розмістити на вашому сервері домени domain.ru і domain.com, то для початку треба зробити так, щоб в системі DNS їм був зіставлений ваш IP-адресу. Після цього в конфігураційному файлі Apache створюєте дві директиви, де описуєте кожен віртуальний хост. Таким чином, сервер буде знати, на яку папку "відправляти" прийшов запит.

Apaсhe підтримує роботу зі скриптами PHP, CGI і другіміВ даний момент більшість інтернет-сторінок є динамічними. Це означає, що їх зовнішній вигляд і наповнення формується за допомогою програмного скрипта, написаного на одному з "мов" (їх не можна повною мірою назвати мовами, визначення досить умовно). У даний момент найбільш сильно поширені технології CGI і PHP. Зрозуміло, в Apache існує підтримка і того, і іншого, плюс можливість підключати інші мови.

Модуль mod_cgi дозволяє вам розміщувати на сервері CGI-скрипти. Взагалі, це всього-навсього виконувані файли, написані на одному з допустимих мов програмування. Вони можуть міститися як в відкомпілювався вигляді (наприклад, так роблять, якщо пишуть CGI на мові C + +), так і у вигляді вихідного тексту (якщо на сервері встановлений Perl, то програміст може поміщати і такі файли. Іноді вони мають розширення. Pl).

Що стосується PHP, то можливість інтеграції його в Apache передбачена розробниками самого PHP. Apache ж виконує лише функції посередника між скриптом і компілятором. Існує два способи інтеграції PHP в Apache. Перший - установка спеціального модуля, що розширює можливості сервера, і тоді він сам стає здатним "компілювати" скрипти. І другий - встановлення в конфігураційних файлах зв'язків між php-файлами і самим компілятором (він знаходиться на диску у вигляді файлів. Cgi або. Exe).

В останній версії Apache існує модуль для роботи з сильною криптозащитой SSL/TSLНа основі сервера Apache можна створювати не тільки прості аматорські сайти, але і ресурси, що вимагають серйозної криптографічного захисту переданих даних. Спеціально для цього був розроблений протокол SSL/TLS, а його підтримка була вбудована в Apache 2.0. За допомогою спеціального модуля можна здійснювати аутентифікацію на основі іменних сертифікатів, що дозволяє практично напевно гарантувати справжність користувача.

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

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

Посилання по темі

  • Сайт сервера Apache

Статьяполучена: hostinfo.ru

Детальніше »