Структура та правила конфігурування http-серверу Apache

Вступ

	

Ціль роботи полягає у тому, щоб ознайомилися із структурою та правилами конфігурування http-серверу Apache, із правилами використання таких сервісів глобальної мережі Internet, як FTP і E-Mail

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

	Мережу Internet (Інтернет) можна описати як величезну цифрову магістраль – систему яка поєднує мільйони комп'ютерів, підключених до тисяч мереж по усім світі. Лежачий в основі мережі протокол TCP/IP (Transmission Control Protocol/ Internetwork Protocol – протокол керування передачею/ меж мережевий протокол), розроблений з тією метою, щоб комп'ютери всіх видів могли спільно використовувати мережеві засоби й безпосередньо взаємодіяти один з одним як одна ефективно інтегрована комп'ютерна мережа.

	Internet – це загальнодоступна мережа, відкрита для будь-якого користувача, що має модем і програмне забезпечення для роботи із протоколом TCP/IP. Підключення до Internet через постійне мережеве з'єднання або телефонну лінію надається провайдером послуг Internet. Оскільки усе більше людей звертаються до неї для комунікації один з одним й одержання інформації, компанії відкривають багато можливостей для свого бізнесу. У зв'язку із цим, великою популярністю стали користуватися фахівці, що мають відповідні знання про засоби й технології, використовувані у глобальній мережі.

	


1. Робота з програмами FTP та Mail



З погляду користувача, Інтернет TCP/IP є сукупністю прикладних програм, що використовують мережу для виконання корисних комунікаційних завдань. Більшість користувачів, які користуються Інтернетом, роблять це, просто запускаючи прикладні програми, не розуміючи при цьому технології TCP/IP, структури Інтернету, і навіть не знаючи шляхи, що проходять дані до призначення; вони покладаються на те, що прикладні програми самі розберуться із цими деталями. Тільки програмісти, що пишуть такі прикладні програми, дивляться на Інтернет як на мережу й розуміють деталі цієї технології.

Одними з популярних і широко розповсюджених прикладних засобів Інтернету є:

електронна пошта (E-Mail). Електронна пошта дозволяє користувачеві створити лист і послати його людині або групі людей. Інша частина цього забезпечення дозволяє користувачеві читати листи, які він одержав. Електронна пошта була так успішна, що багато користувачів Інтернету використовують її для звичайної комерційної переписки. Хоча існують багато систем електронної пошти, важливо зрозуміти, що використання TCP/IP робить доставку листа більш надійним. Замість того, щоб покладатися на проміжні машини при передачі листа, система доставки листа в TCP/IP працює, з'єднуючи прямо машину відправника з машиною одержувача. Тому відправник знає, що як тільки лист покинув його машину, воно успішно досягло місця призначення.

передача файлів (FTP). Хоча користувачі іноді й передають файли, використовуючи електронну пошту, лист призначено для коротких текстових файлів. Протоколи TCP/IP включають прикладну програму передачі файлів, що дозволяє користувачам передавати або приймати великі файли програм або даних. Ця система забезпечує спосіб перевірки особистості користувача або навіть заборону доступу. Як і лист, передача файлів по Інтернету TCP/IP надійна, тому що дві взаємодіючі машини роблять це прямо, не покладаючись на проміжні машини для створення копій файлу.

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

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

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






2. Конфігурування http-серверу Apache



2.1 Загальні положення. Основи конфігурування серверу Apache



Для одержання інформації про останню версію Apache звертаємося на Web-сервер групи Apache за адресою http://www.apache.org або на Web-сайт Apache Week за адресою http://www.apacheweek.org.

Apache установлює свої файли в наступні каталоги:

/etc/httpd/conf – цей каталог містить всі файли конфігурації сервера Apache.

/etc/red/ – у цьому каталозі знаходяться інші каталоги, які містять сценарії запуску системи. Apache установлює їхній повний набір для Web-сервера. Ці сценарії можуть бути використані для запуску й зупинки сервера у ручному режимі, а також будуть автоматично запускати й зупиняти сервер, коли робоча станція зупинена, запускається або перезавантажується.

/home/httpd – у цей каталог установлює стандартний набір піктограм для сервера й CGI-сценаріїв.

/usr/doc й /usr/man – у цих каталогах містяться керівництво manual pages і файли readme. Більшість пакетів розміщає файли readme й іншу аналогічну документацію в спеціально названому для версії сервера каталозі /usr/doc.

/usr/sbin – у цей каталог розміщено всі виконувані програми.



2.2 Конфігураційні установки і їхнє настроювання



Apache зчитує конфігураційні установки із трьох файлів: access.conf, httpd.conf й srm.conf. Спочатку така організація була розроблена для підтримки зворотної сумісності із сервером NCSA. Файли конфігурації знаходяться у підкаталозі conf сервера. Резервні копії цих файлів також включено в програмний дистрибутив. Вони відповідно названі access.conf-dist, httpd.conf-dist й srm.conf-dist.

Настроювання роботи сервера відбувається за допомогою конфігураційних директив. Директиви – це спеціальні команди, що встановлюють деякі опції. Ними потрібно скористатися для включення таких необхідних опцій роботи сервера, як розміщення файлів, важливих для конфігурації й роботи сервера. Конфігураційні директиви мають наступний синтаксис: директива опція.

Директиви розміщуються по одній у рядку. Одні директиви встановлюють тільки значення імені файлу, інші дають можливість визначити кілька опцій. Деякі спеціальні директиви, названо секціями (section) і вони дуже схожі на теги HTML. Секції розміщено в кутових дужках, наприклад: <директива>. Після секції звичайно йде група директив, дія яких поширюється на зміст каталогу, відповідного до секції:

<Деякий_каталог_вашого_дерева_каталогів>

директива опція опція

директива опція опція

</директива>

Всі секції закриваються спеціальним секційним вираженням, що має вигляд </директива>. Ви побачите деякі із цих конструкцій у файлах conf/access.conf й conf/httpd.conf. Помітьте, що спеціальні секційні вираження схожі на інші директиви й визначаються по одному в рядку.



2.3 Редагування файлу httpd.conf



Файл httpd.conf містить конфігураційні директиви, що управляють роботою сервера та встановлюють місце розташування файлів реєстрації, ID(UID) користувача, під яким він працює, номер використовуваного порту й багато чого іншого. Необхідно відредагувати значення початкових установок, що важливі для конфігурації вашого сайту. Звичайно залишають без зміни більшість установок, за винятком перерахованих нижче.

ServerAdmin. Директиву ServerAdmin варто настроїти на адресу Web-майстра, що керує сервером. Це повинна бути діюча адреса e-mail або псевдонім, наприклад: webmaster@Baш.домен.

User й Group. Ці директиви встановлюють UID і груповий ID(GID), які будуть використані сервером при формуванні запитів. Краще застосовувати параметри, установлені початково, тобто: nobody та nogroup. Переконайтеся, що імена nobody й nogroup існують відповідно у ваших файлах /etc/passwd і /etc/group. Повноваження для цих UID й GID повинні бути обмежені, тому що у випадку виникнення «дір системного захисту», ці програми будуть продовжувати виконуватися із призначеним UID. Якщо сервер запущений у режимі супер-користувача, хтось може скористатися виниклими «дірами в системному захисті».

ServerName. Встановлює ім'я вузла, що сервер буде повертати. Встановіть повне ім'я домену. Якщо це значення не визначене, сервер спробує визначити його сам й установить директиву ServerName з використанням імені в канонічному виді. Директива ServerName повинна бути дійсним ім'ям, визначеним службою Domain Name System (DNS) для вашої мережі. Якщо ви управляєте власною DNS, не забудьте додати псевдонім CNAME для вашого вузла. Якщо хтось інший управляє DNS, то попросіть його встановити це ім'я. Елемент вашої директиви ServerName повинен виглядати таким чином: ServerName www.ваш. домен.

ServerRoot. Ця директива встановлює абсолютний шлях до каталогу сервера. Вона вказує серверу, де шукати всі файли ресурсів і конфігурації. Більшість цих ресурсів визначено у файлі конфігурації, що відносяться до каталогу ServerRoot. Ваша директива ServerRoot може виглядати так: ServerRoot /etc/httpd.




2.4 Редагування файлу srm.conf



Файл srm.conf – це файл конфігурації ресурсів. Його керуючі установки віднесено до місця розташування вашого дерева Web-документів, до каталогів CGI-програм і до проблем конфігурації інших ресурсів, які мають відношення до вашого Web-сайту. Звичайно всі установки у файлі srm.conf залишають такими, якими їх завдано на початок. Найбільш важливими директивами в цьому файлі конфігурації є наступні:

DocumentRoot Встановлює абсолютний шлях до дерева документів. Ваше дерево документів – це головний каталог, з якого Apache буде обслуговувати файли. За умовчуванням він установлений як /home/httpd/html.

UserDir Визначає вихідний каталог локального користувача, де він буде поміщати загальні HTML-документи. Тобто, кожен користувач буде мати власний HTML-каталог. Стандартне значення для цієї директиви – public_html, так що кожен користувач може створити каталог з ім'ям public_html у вихідному каталозі, і HTML-документи, розміщені в цьому каталозі, будуть доступні за адресою httр:// ім'я_сервера/~username, де username – зареєстроване ім'я звичайного користувача.



2.5 Редагування файлу access.conf



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

Якщо хочете обмежити доступ до сайту, то варто переконатися, що всі секції, що вказують «Шлях_до_каталогу», відповідають обговореним при інсталяції каталогам. У секціях Directory на кожен каталог визначається ряд опцій, що звичайно залежать від вимог системного захисту. Зокрема, ви, можливо, захочете видалити опцію Indexes, яка йде за директивою Options у секції, що має вид:

<Directory /home/httpd/cgi-bin>

Options Indexes FollowSymLinks

Фактично, приклад, представлений тут – невдалий, тому що в нього включаються дві такі опції для каталогу cgj-bin, яких досвідчений системний адміністратор не допустив би. Опція Indexes дозволяє одержувати роздруківки каталогів сервера. Ви, ймовірно, не хочете, щоб кожен міг переглядати ваші каталоги cgi-bin. Директива FoilowSymLinks дозволяє Web-серверу символічні зв'язки з іншими каталогами. Ця директива – потенційна проблема системи безпеки, оскільки вона дозволяє серверу «тікати» з відведених йому каталогів і, відповідно, відкриває користувачам доступ до файлів, які ви не хотіли б їм показувати.

Опції, які ви встановлюєте в глобальних файлах конфігурації, можуть бути скасовані за допомогою файлу.htaccess. Файли.htaccess дають можливість установити директиви сервера на кожен каталог. Ця можливість зручна для каталогів, звідки користувач не повинен мати доступу до головних файлів конфігурації сервера. Можна заблокувати всі можливості.htaccess по заміні ваших опцій, якщо задати директиві AllowOverride значення None, як показано нижче. За умовчуванням ця директива дозволяє всі можливості.htaccess: AllowOverride None.

програма конфігурування файл редагування

2.6 Конфігурування сервера inetd



WEB-сервер Apache звичайно працює або в автономному режимі, або в режимі демона. Робота сервера залежить від значення директиви ServerType у файлі conf/httpd.conf. Автономний сервер краще справляється зі своєю роботою, чим сервери, на яких виконується inetd, тому що його процес звичайно завжди готовий обслужити запит. Працюючи як inetd (Internet-демон), новий сервер запускається щораз, коли приходить запит на HTTP-порт. Значна кількість накладних витрат пов'язане із запуском нового сервера для кожного нового запиту.

За умовчуванням директива ServerType визначає автономний тип сервера. Якщо пропускна здатність вашого сайту досить низка, варто дотримуватися автономного режиму роботи. Щоб запустити сервер inetd, потрібно модифікувати файл conf/httpd.conf і змінити значення директиви ServerType з автономного типу на inetd, як показано нижче:

ServerType inetd

Директива Port не викликає ніякого ефекту на сервері inetd, оскільки inetd зв'язує порт із програмним забезпеченням, ця установка не має значення для конфігурації inetd. Автономний сервер використає цю конфігураційну інформацію, щоб знати, від якого порту потрібно чекати сигналу.






Література



UNIX. Библия системного администратора.: пер. с англ./ «Диалектика», – М., 2009. – 528 с.

О. Кирх Linux для профессионалов. Руководство администратора сети/ СПб.: «Питер», – 2010. – 368 с.

Организация и администрирование почтовых и файловых серверов Internet/ www.citforum.ru

М. Уэлш Инсталляция linux и первые шаги/ www.citforum.ru

RFC-822. Standard for ARPA Internet text messages.

RFC-1341. Standard for Multipurpose Internet Mail Extension.

RFC-1738. Uniform Resource Locators. http://www.ietf.org/rfc/rfc1738.txt

Red Hat LINUX. Энциклопедия пользователя: пер. с англ./ Д. Питтс и др. – К.: ДиаСофт, 2003. – 464 с.

www.apache.org