Контакти

Найпопулярніші веб-сервери. Вибираємо локальний веб-сервер для Windows. Thin: простий та швидкий HTTP-сервер

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

Погляньмо на те, що ми можемо використовувати сьогодні, через стільки років. Я пропоную розглянути, протестувати та порівняти 14-ть! програмних комплексів призначених для використання як локальний веб-сервер для Windows.

1. AMPPS

Остання версія: 1.7
Російська мова: є (частково)
Portable версія: Ні
Домашня сторінка: http://www.ampps.com/

Базовий комплект:

  • Softaculous AMPPS 1.7
  • Apache 2.2.22
  • MySQL 5.5.22
  • PHP 5.3.10 та 5.2.17
  • PERL 5.10.1
  • Python 2.7.2
  • MongoDB 2.0.4

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

Безперечним плюсом цієї збірки є підтримка багатьох поширених CMS, блог-платформ, веб-форумів, дощок оголошень, фотогалерей та ін. Усього доступних додатків більше 200! Набір включених у пакет компонентів так само не відстає від життя, всі модулі досить свіжі і, що тут ми можемо знайти таку екзотику як Python і MongoDB.

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

Остання версія: 2.5.10
Російська мова: Ні
Portable версія: Ні
Домашня сторінка: http://www.appservnetwork.com/


Базовий комплект:

  • Apache 2.2.8
  • PHP 5.2.6
  • MySQL 5.0.51b
  • phpMyAdmin-2.10.3

Apache та MySQL встановлюються як сервіси. Жодної керуючої програми немає, тільки сторінка сумнівного дизайну з посиланням на PhpMyAdmin. За своєю суттю AppServ є графічним установником Apache, PHP, MySQL та більше нічим. Якщо той самий Denwer сам запускає компоненти, тут вони просто встановлюються як сервісів і управляються самої Windows.

Остання версія: 3.2010-11-07
Російська мова є
Portable версія: Так
Домашня сторінка: http://www.denwer.ru/


Базовий комплект:

  • Apache 2.2
  • PHP 5.3.3
  • MySQL 5.1.40
  • phpMyAdmin 3.2.3

Denwer… старий добрий Denwer. Ми бачимо той самий мізерний набір не дуже свіжих компонентів (урізаних по самі яйця), чорне вікно і ніякого GUI. До плюсів цього локального веб-сервера можна віднести його гранично малий розмір і хорошу базу знань на форумі, накопичену за багато років. Фактично управління сервером здійснюється через виконання. BAT скриптів по запуску та зупинці модулів, як такої керуючої програми немає взагалі.

Denwer гранично простий і зрозумілий, тому має найбільшу армію шанувальників серед «чайників». Найбільш повним описом даного веб-сервера буде наступна фраза, сказана одним з користувачів: "Денвер виконує основні завдання і добре, а чим більше примочок тим більше проблем (ніхто ними на всі 100 не користується)".

Остання версія: 5.3.9
Російська мова: Так
Portable версія: Так
Домашня сторінка: http://www.easyphp.org/


Базовий комплект:

  • PHP 5.3.9
  • PhpMyAdmin 3.4.9
  • Apache 2.2.21
  • MySQL 5.5.20

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

Зауважу, що EasyPHP керує сервером самостійно, ніяких чорних вікон не вискакує, запуск і зупинка сервера виконуються досить швидко.

Остання версія: 2.0.2.0
Російська мова є
Portable версія: Ні
Домашня сторінка: http://eleanor-cms.ru/server


Базовий комплект:

  • Apache 2.2.19
  • PHP 5.3.6
  • MySQL: MariaDB 5.2.6
  • PhpMyAdmin 3.4.2
  • SlimFTPd 3.1.81
  • DNS Unbound 1.4.10

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

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

Радість від використання цього програмного комплексу тривала недовго. Після створення нового домену панель керування просто зникла. Так, вона просто випарувалася і в папці./www/localhost/ я навіть не знайшов будь-яких файлів крім заглушки index.php. Ще одним прикрістю було неможливість відкрити папку з доменами з трей-меню, мені довелося шукати, куди ж я встановив EleanorServ.

Ну і, нарешті, найголовніший недолік - цей сервер не портативний, що не дозволяє нам встановити його на флешку і використовувати на різних комп'ютерах.

6. Nimp

Остання версія: 1.5.0
Російська мова є
Portable версія: Так
Домашня сторінка: http://nimpbox.ru/


Базовий комплект:

  • Apache 2.2.17
  • Nginx 0.9.3
  • MySQL 5.5.8
  • PHP 5.3.5
  • Sendmail 31
  • phpMyAdmin 3.3.9
  • Sypex Dumper 2.0.8
  • FileZilla 0.9.37 beta
  • Memcached 1.2.4

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

Під час використання цього сервера постійно щось збоїло, FileZilla ніколи сам не зупинявся (довелося вбивати через диспетчер завдань), а Memcached взагалі не запускався. Деяке здивування викликали слова автора програми про те, що «дане складання чудово підійде для високо навантажених сайтів у корпоративних та міських мережах», програмі явно далеко до використання у корпоративному середовищі.

Фішка цього локального веб-сервера в тому, що Nginx працює як frontend і призначений для роздачі статичного контенту, а Apache працює як backend для генерації динамічного контенту. Загалом моє враження від цієї збірки залишилося двояким, воно плавно змінювалося від різко негативного спочатку до нормального в процесі роботи з програмою.

Остання версія: 4.5.2
Російська мова є
Portable версія: Так
Домашня сторінка: http://open-server.ru/


Базовий комплект:

  • Apache 2.2.22;
  • Apache 2.4.2;
  • Nginx 1.2.0;
  • MySQL 5.1.63;
  • MySQL 5.5.24;
  • PostgreSQL 9.1.2;
  • PHP 5.2.17 (IMagick 2.2.1, Zend Optimizer 3.3.3, IonCube Loader 4.0.7, Memcache 2.2.4);
  • PHP 5.3.13 (IMagick 2.3.0, Xdebug 2.2.0, IonCube Loader 4.0.14, Memcache 2.2.6);
  • PHP 5.4.3 (Xdebug 2.2.0);
  • Perl 5.12.3.0 (розширення);
  • SlimFTPd 3.181;
  • Fake Sendmail 32;
  • NNCron Lite 1.17;
  • Memcached 1.2.6;
  • Adminer 3.3.4;
  • HeidiSQL 7.0;
  • Webgrind 1.0;
  • PHPMyAdmin 3.5.1;
  • PHPPgAdmin 5.0.4;
  • PHPMemcachedAdmin 1.2.1;

На противагу іншим учасникам нашого огляду Open Server має найбільш приємний і продуманий інтерфейс, має потужні можливості з налаштування та адміністрування компонентів. До безперечних плюсів можна віднести підтримку профілів налаштувань, перемикання HTTP/MySQL/PHP модулів, планувальник завдань (cron), зручне управління доменами та аліасами, а для «чайників» є розумний посібник користувача.

Приємною особливістю Open Server є можливість використовувати програму як портативне персональне стартове меню. Можна встановити сервер на USB накопичувач, перенести туди свої portable програми, створити закладки для часто відвідуваних сайтів і скрізь, де б ви не знаходилися, ви матимете зручне меню швидкого доступу до своїх улюблених сайтів та програм.

Остання версія: 1.8.2
Російська мова: Ні
Portable версія: Так
Домашня сторінка: http://www.server2go-web.de/


Базовий комплект:

  • Apache 2.2
  • PHP 5.3.2
  • SQLITE
  • MYSQL 5.1.46
  • PERL 5.8

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

Враження дуже негативне, хоча здавалося б: сервер стартує, PhpMyadmin відкривається, а що ще треба? Ні, сервер, який не можна зупинити - це не для мене. Гори воно в пеклі!

Остання версія: 8.5.4
Російська мова: Так
Portable версія: Ні
Домашня сторінка: http://www.uniformserver.com/


Базовий комплект:

  • Apache 2.4.2
  • PHP 5.4.0
  • MySQL 5.5.24
  • phpMyAdmin 3.5.1

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

Остання версія: 8.5
Російська мова: Ні
Portable версія: Так
Домашня сторінка: http://www.usbwebserver.net/


Базовий комплект:

  • Apache 2.2.21
  • MySQL 5.5
  • PHP 5.3.9
  • PhpMyAdmin 3.4.9.0

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

За своєю функціональністю USBWebserver нагадує Denwer, хіба що Perl не вистачає. У панелі керування можна виконати запуск/зупинку модулів, відкрити логи, ще є кілька корисних функцій і налаштувань, на цьому все. Я б рекомендував цю збірку як GUI заміну Denwer-а для тих, кому потрібна схожа функціональність, але хочеться мати панель управління з кнопочками та рюшечками.

Остання версія: 2.27
Російська мова: Ні
Portable версія: Ні
Домашня сторінка:


Базовий комплект:

  • Apache 2.2.22
  • PHP 5.3.10
  • MySQL 5.5.20
  • SQLite 3.7.10
  • Smarty 3.1.7
  • PhpMyAdmin 3.4.9
  • Xdebug 2.1.3
  • SQLiteManager 1.2.4

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

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

Остання версія: 2.2d
Російська мова: Так
Portable версія: Ні
Домашня сторінка: http://www.wampserver.com/

Базовий комплект:

  • Apache 2.2.21
  • Php 5.3.10
  • MySQL 5.5.20
  • XDebug 2.1.2
  • XDC 1.5
  • PhpMyadmin 3.4.10.1
  • SQLBuddy 1.3.3
  • webGrind 1.0

Як і XAMPP, ця збірка широко відома на заході. Можливо причиною тому є підтримка великої кількості мов, можливість встановити будь-яку версію Apache, MySQL і PHP як аддон і привабливу домашню сторінку, чого не можна сказати про саму керуючу програму.

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

Остання версія: 0.4.0.4
Російська мова є
Portable версія: Так
Домашня сторінка: http://winginx.ru/


Базовий комплект:

  • Nginx 1.2.0;
  • PHP 5.3.13;
  • PHP 5.4.3;
  • Node.js 0.6.17;
  • MySQL 5.1.62;
  • MongoDB 2.0.5;
  • memcached 1.2.6;
  • phpMyAdmin 3.5.0;
  • Adminer 3.3.3;
  • RockMongo 1.1.1;
  • phpMemcachedAdmin 1.2.1;
  • Xdebug 2.2.0.5, Zend Guard Loader 5.5, ionCube 4.0.14

Ця збірка може похвалитися наявністю MongoDB і Node.js, а також веб-сервера Nginx, що швидко набирає популярність. Мене так само порадувало наявність нормального трей-меню та розділу налаштувань, проте в процесі роботи виявилося, що вікно з налаштуваннями має 3 вкладки де всього по 1-2 опції (навіщо?).

Досить дивно у Winginx виглядає робота з логами. Для їхнього перегляду нам пропонується меню вибору файлів виду error.log, access.log і так далі, проте до якого саме модуля ставляться ці логи зрозуміти неможливо: Nginx, PHP, а може Node.js?

Хоча Winginx і має керуючу програму, проте командування самим веб-сервером, як і і в Denwer, здійснюється через.BAT файли. Я зробив такий висновок з чорних вікон, що випливають з нізвідки під час запуску або зупинки сервера.

Можливо, комусь (насамперед новачкам) буде дуже корисна функція автоматичної установки скриптів (PhpBB, WordPress, Joomla і т.д.) при створенні домену, особливо якщо враховувати, що скрипти налаштовані для роботи з Nginx (переписувати правила реврайту самому досить складно). Однак особисто я такими функціями ніколи не користуюся і волію виконувати інсталяцію сам, оскільки ніколи не знаєш що і як там встановлюється і які сюрпризи можуть чекати на тебе в майбутньому.

14. Xampp USB Lite

Остання версія: 1.7.7
Російська мова: Ні
Portable версія: Так
Домашня сторінка: http://www.apachefriends.org/en/xampp-windows.html


Базовий комплект:

  • Apache 2.2.21
  • MySQL 5.5.16
  • PHP 5.3.8
  • phpMyAdmin 3.4.5

XAMPP – це дуже популярний за кордоном локальний веб-сервер. Думаю, популярність обумовлена ​​тим, що ця збірка досить надійна і має версії під усі основні операційні системи: Windows, Linux, Mac OS X і навіть Solaris.

Старт і зупинка модулів відбуваються досить швидко, сторінка привітання не заплутана і зрозуміла, хоч і англійською. Загалом досить хороший програмний комплекс (з купою плюшок у desktop версії) у якому немає нічого зайвого чи відразного. Чорні вікна із-за кута не атакують, панель управління цілком звичайна, проте малокорисна.

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

Порівняння

Portable Російська мова Наявність GUI Корисний GUI Перегляд логів
AMPPS - + + - +
- - - - -
+ + - - -
+ + + + +
- + + + +
Nimp + + + + -
+ + + + +
+ - - - -
- + + - +
+ - + - -
- - + + +
- + + + +
+ + + + +
Xampp USB Lite + - + - -

Найкращі результати: EasyPHP, Open Server, Winginx.

Тестування

Тест №1 - Помилковий запуск

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

Тест №2 - Складні шляхи

Суть тесту полягає в навмисному встановленні сервера в папку зі складним ім'ям, у нашому тесті ми будемо використовувати папку з ім'ям «C:testMys$ka!._-()zlo()+~%&2% Files». Якщо PhpMyAdmin (він взятий просто для зручності, оскільки є в кожній збірці) не відкриється, тест відповідно буде провалений. Кожна людина - це індивідуальність, папки іноді називають несподіваними іменами. Назва папки, вибрана для тесту, є коректною для Windows і повинна бути правильно оброблена.

Тест №3 - SSL із коробки

Тест гранично простий - запускаємо сервер і намагаємося відкрити PhpMyAdmin за протоколом SSL.

Позначення:"+" означає, що тест пройдено успішно, "-" означає, що тест провалений.

Помилковий запуск Складні шляхи SSL з коробки
AMPPS + + +
- + -
- + +
+ + -
+ + -
Nimp + - -
+ + +
- + -
+ - -
+ - -
+ + -
+ + -
- - -
Xampp USB Lite + - +

Найкращі результати: AMPPS, Open Server.

Висновок

Розглянувши та протестувавши стільки програмних комплексів виникає питання – а що ж у результаті вибрати для повсякденної роботи? Відповісти на це питання не так просто, кожна збірка буде гарною для певного типу завдань.

Для новачків я пропоную використовувати Denwer як найпростіший і перевірений часом локальний веб-сервер. Всім іншим веб-розробникам, а також тим новачкам, кому недостатньо функціональності Denwer, я рекомендую використовувати Open Server.

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

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

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

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

Чому не можна?

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

Звичайний файл можна відкрити за допомогою Notepade++ або навіть із блокноту. Там усередині щось написати, зберегти і потім без особливих проблем відкрити цей файл на своєму браузері та подивитися, як би цей файл виглядав на хостингу в Інтернеті. Тобто ми вже бачимо робочу сторінку HTML. У ній ми можемо створювати певний дизайн, контент та спостерігати за проектом без підключення до Інтернету. Все, по суті, ми вже маємо. Якщо ми захочемо запустити PHP файл за допомогою браузера, то у нас нічого не вийде, тому що PHP скрипти в операційній системі Windows без додаткового програмного забезпечення не працюватимуть.

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

Що таке сервер?

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

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

Список найкращих веб серверів

В даний час на ринку присутні кілька рішень від різних виробників:

  • (сайт - apache.org) — це найпоширеніший і найпопулярніший безкоштовний сервер у мережі. Він є більш надійним та гнучким. Сервер не вимогливий до ресурсів процесора і здатний обслуговувати багато сайтів. Програма доступна для широкого спектру операційних систем, включаючи Unix, Linux, Solaris, Mac OS X, Microsoft Windows та інші. На даний момент використання Apache складає 71%. Однак це складна програма, з якою не кожен новачок зможе впоратися.

  • (сайт - www.iis.net) - ще один надійний сервер від компанії Microsoft. Він жорстко зміцнився на другому місці з 14% використання у мережі. Після встановлення програми, підтримуватиметься лише дві мови програмування ( VBScript та JScript). Однак, можна відкрити додаткові можливості, встановивши для цього необхідні розширення. З установкою таких модулів функціональність даного сервера значно підвищується.

  • NGINX (сайт - nginx.org/ru/) - це найбільш популярний веб-сервер у російському Інтернеті. У порівнянні з двома першими, він є найбільш простим і не має зайвих функцій. Також його хвалять за надійність та високу швидкість роботи. Розробником цього продукту є наш співвітчизник Ігор Сисоєв. У 2004 році він випустив першу версію nginx. Зараз цей програмний продукт замикає трійку найпопулярніших веб-серверів у світі. Його використання становить близько 6,5%.

  • (сайт - litespeedtech.com) — цей веб-сервер не має широких можливостей, зате у нього дуже велика швидкість роботи. За швидкодією він сильніший за популярний Apache в 9 разів. Чимало уваги приділено і безпеці ( свій захист від перевантаження системи, сувора перевірка http-запитів, анти-ddos та багато іншого). LiteSpeed ​​доступний для Solaris, Linux, FreeBSD та Mac OS X. Частка використання цієї програми становить 1,5%.

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

Особливості локального сервера

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

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

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

Огляд популярних локальних серверів

Ось деякі збірки, які можуть стати вам у нагоді:

  • (сайт - denwer.ru) — це безкоштовний вітчизняний сервер, який призначений для роботи з сайтами, веб-додатками або веб-сторінками. Його розробниками є Дмитро Котеров та Антон Сущев. Цей продукт містить необхідні дистрибутиви для спрощеної роботи. Наприклад, сюди входить веб-сервер Apache з різною підтримкою, панель phpMyAdmin та MySQL для роботи з базами даних та інші програми. Також можна працювати зі знімною флешкою. На жаль, Denwer підтримує тільки операційну систему Windows.

  • XAMPP (сайт - www.apachefriends.org/en/xampp.html) - Спеціальна збірка сервера від друзів Apache. Необхідні дистрибутиви дозволяють запустити повноцінний веб сервер. Ця програма розповсюджується безкоштовно та підтримує роботу в системі Windows, Solaris, Mac OS X та Linux. Також є наступні переваги: ​​сервер популярний своїм дуже простим інтерфейсом користувача, що робить його улюбленим для багатьох початківців; спостерігаються багаторазові появи оновлених версій; процес оновлення проходить дуже просто та зручно для користувача; є додаткові модулі. Завантажити потрібну версію ви також можете з іншого офіційного сайту sourceforge.net/projects/xampp/files.

  • (сайт - www.appservnetwork.com) - Відмінний сервер від тайського виробника, концепцією якого є легка установка та налаштування всіх дистрибутивів за 1 хвилину. Перший реліз збірки відбувся у 2001 році і відтоді кількість користувачів постійно зростає. AppServ дуже простий в установці, він працює стабільно і не гірше за офіційні та окремі релізи, а його надійна продуктивність дає можливість створити повноцінний веб сервер на вашому комп'ютері.
  • (сайт - vertrigo.sourceforge.net) - ще один непоганий і простий в установці локальний сервер. Складання дуже гнучка, має хорошу продуктивність і займає мало місця на диску. На жаль, поки що працює тільки на ОС Windows.
  • Zend Server Community Edition (сайт - www.zend.com) - Безкоштовний сервер від компанії Zend, призначений для роботи з веб-додатками. Містить всі необхідні компоненти для швидкого розгортання локального сервера на комп'ютері.

  • (сайт - open-server.ru) - це вітчизняний портативний локальний сервер, який володіє високим функціоналом з розробки та створення сайтів та інших веб-проектів. Має мультимовний інтерфейс ( у тому числі і російська) і призначений для роботи в Windows. Підтримується робота зі знімного носія. Цей сервер дуже хороший і служить непоганою альтернативою Денвер.

  • (сайт - wampserver.com) - Ще одна непогана збірка з російським інтерфейсом ( є також інші мови). Є просте і зрозуміле меню, а зручне встановлення та налаштування складання не викликає особливих труднощів. Налаштування можна робити не торкаючись файлів конфігурацій, що дуже корисно веб-майстрам-початківцям. Сервер розповсюджується безкоштовно і працює лише на платформі Windows. На жаль, портативної версії поки що немає.
  • (сайт - easyphp.org) - дуже просте складання з підтримкою російської мови. Складання ні чим не примітне, не має величезного функціоналу і в основному призначене для тестування невеликих проектів. Є підтримка роботи із портативних носіїв. Цей сервер стане непоганою заміною Денверу.
|

Програми, розроблені в Ruby, можна розгорнути в загальний доступ за допомогою одного з багатьох веб-серверів. Кожен веб-сервер унікальний і має свої переваги, однак у них є дещо спільне: вони засновані на інтерфейсі Rack.

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

Примітка: Докладніше про зв'язувальне програмне забезпечення можна дізнатися .

Інтерфейс Rack

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

Для цього в 2007 році вийшов Rack, модульний інтерфейс веб-серверів Ruby. Сьогодні він використовується багатьма веб-серверами та фреймворками (Espresso, Mack, Ruby on Rails, Sinatra тощо).

Незважаючи на угоди про назву та різні пояснення для різних мов програмування та доменів, специфікації для взаємодії додатків дуже схожі (якщо не ідентичні). Хоча на відміну від специфікації Python WSGI, за прикладом якої створено Rack та багато інших специфікацій, Rack є ще й проміжним програмним забезпеченням.

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

Огляд веб-серверів для Ruby

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

Примітка: Веб-сервери розташовані в алфавітному порядку.

Phusion Passenger: швидкий веб-сервер та сервер додатків

Багато розробників Ruby on Rails рекомендують використовувати для підтримки програм саме Passenger. Це зрілий та багатофункціональний сервер, який відповідає найсуворішим вимогам розгортання та дозволяє спростити встановлення та запуск програми. Він усуває традиційну архітектуру на основі сервера-посередника шляхом прямої інтеграції у веб-сервери Apache та Nginx. Тому в спільноті Ruby (Rails) він також часто згадується як mod_rails та mod_rack.

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

Passenger надає можливість працювати з кількома програмами, розміщеними на одному сервері.

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

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

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

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

Примітка: Більше інформації про Passenger можна знайти на сайті проекту . Про версію Passenger Enterprise – .

Puma: сучасний веб-сервер для Ruby

Puma – це високопродуктивний веб-сервер для Ruby. Він заснований на веб-сервері Mongrel, який свого часу додав кілька революційних функцій і багато в чому вплинув на розробку програм Ruby. Розробник Puma (Evan Phoenix) трансформував операційну структуру Mongrel, перейшовши на Rack (і, таким чином, усуваючи деякі проблеми з продуктивністю) і розробив додаток для підтримки паралелізму.

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

Puma не вимагає багато місця та використовує мало ресурсів.

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

Він заснований на парсер Mongrel і багато в чому успадкував його код.

Веб-сервер Puma розроблений для Rubinius, але може працювати і з JRuby

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

"З коробки" Puma не підтримує розміщення та виробництва кількох додатків, але це можна зробити за допомогою спеціального інструменту Jungle.

Thin: простий та швидкий HTTP-сервер

Thin це дуже популярний сервер додатків; його творці стверджують, що це найбільш «безпечний, стабільний, швидкий та розширюваний веб-сервер Ruby». Це активно розвивається. Він заснований на трьох основних бібліотеках Ruby:

  • Парсер Mongrel.
  • Мережева бібліотека EventMachine
  • Проміжне програмне забезпечення Rack

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

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

Будучи заснованим на EventMachine, Thin може обробляти довгі запити без допомоги зворотного проксі-сервера (на відміну від інших веб-серверів).

Примітка: Щоб дізнатися про Thin більше, перейдіть на сайт проекту

Unicorn: HTTP-сервер на основі Rack для швидких клієнтів та Unix

Unicorn – це зрілий повнофункціональний сервер програм для Ruby. Пізніше він був адаптований до роботи з Python. Принцип роботи Unicorn такий: веб-сервер виконує не всі завдання, а лише ті, за які відповідає безпосередньо він, решту завдань він передає іншим програмам, які краще справляються з їх виконанням.

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

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

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

Як і NGINX, Unicorn дозволяє розгортати програми, не скидаючи поточних підключень клієнтів. Це дуже корисна функція під час оновлення програми.

Інші корисні функції Unicorn:

  • Усі робочі процеси запускаються у межах певного ізольованого адресного простору та обслуговують запити по одному.
  • Хуки before_fork та after_fork дозволяють боротися з розгалуженням процесів.
  • Механізм копіювання під час запису для керування пам'яттю дозволяє заощаджувати пам'ять.
  • Веб-сервер може прослуховувати декілька інтерфейсів.

Примітка: Більше про Unicorn – .

Tags: ,

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

Як я вже сказав, процес створення сайту – це не тільки написання HTML сторінки, як багато хто думає:), це цілий комплекс заходів, який вимагає досить великого обсягу знань у web напрямку, наприклад, можете прочитати статтю «Як стати вебмайстром і що для цього потрібно знати? і ви, напевно, зрозумієте, що знання HTML нічого ще не дає.

Популярні web сервери

Ну, годі вступу, перейдемо до теми нашої статті. І почнемо з того, що ми просто перерахуємо найпопулярніші WEB-сервери, а сьогодні ними є:

  • Apache- приблизно 55-60% всіх сайтів в Інтернеті ( це найпопулярніший webсервер у світі!);
  • Microsoft-IIS- приблизно 12-14% всіх сайтів в Інтернеті;
  • Nginx- Приблизно 10-12% всіх сайтів в Інтернеті.

Іншу частку займають, як Ви розумієте, менш популярні веб-сервери, такі як:

  • Lighttpd;
  • Gws;
  • Resin;
  • та інші.

Сьогодні ми проведемо огляд 3 найпопулярніших web серверів і почнемо, звичайно ж, з найпопулярнішого це Apache!

Огляд веб-сервера Apache

Apache– це безкоштовний, кроссплатформенний web сервер, він підтримує такі операційні системи: Microsoft Windows, Linux, BSD, Mac OS, Novell NetWare, BeOS.

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

  • Python;
  • Ruby;
  • Perl;

А найголовніше, що підключити ці мови досить просто, лише потрібно прописати в конфігураційному файлі httpd.conf підключення потрібних модулів, наприклад, PHP підключається наступним чином:

#підключення для apache версії 2.2, підключаємо модуль LoadModule php5_module "C:\Program Files\PHP\php5apache2_2.dll" #додаємо тип файлів для обробника AddType application/x-httpd-php .php #вказуємо директорію з phPni :\Program Files\PHP\"

Це ми підключили php до apache версії 2.2, так, до речі, якщо мова зайшла про версійність, поговоримо і про це.

На сьогоднішній день останньою версією Apache є 2.4, але як не дивно, ця версія поки не є найпопулярнішою. В Інтернеті широкого поширення набули дві версії Apache — це версія 1.3 та версія 2.2. Нехай версія 1.3 вже морально застаріла, але їй однаково не перестають користуватися. Особливо кардинальних відмінностей між цими версіями немає, хоча у версії 2.2 змінилося розташування деяких файлів, файл httpd.conf розбився кілька частин і трохи змінилася структура папок, що може утруднити перехід з версії 1.3 на 2.2.

Найголовніше, що мені подобається в Apache - це досить багато нормальної документації, що, звичайно ж, дозволяє спростити освоєння даного сервера. Наприклад, Apache має офіційний сайт — www.apache.org де, до речі, Ви можете завантажити будь-яку версію Apache для будь-якої операційної системи. У новачків завжди виникають питання, де можна завантажити той чи інший дистрибутив (раджу качати тільки з офіційного сайту), наприклад, ось на цій сторінці ось вона Ви можете завантажити дистрибутив для Windows ( наприклад, версію 2.2.22 у вигляді msi пакета, відповідно вибирайте потрібне розширення).

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

Поки про Apache все, переходимо до наступного за популярністю Web-сервера.

Огляд web-сервера IIS

IIS (Internet Information Services ) – це окремий web сервер, а цілий набір web служб, необхідні функціонування повноцінного web сервера. Цей WEB Server реалізований на платформі Windows ( і відповідно належить компанії Microsoft), я навіть більше скажу, він повністю інтегрований з цією операційною системою ( як втім, і всі інші сервери, які входять до складу Windows). На цьому сервері можна розробляти сайти за допомогою технологій ASP ( але вона вже застаріла) і ASP.NET, так як ця технологія від компанії Microsoft, але любителів інших технологій ( мов програмування) компанія Microsoft не забула і зробила можливість прикручувати ці мови до цього WEB серверу, наприклад: PHP, PERL та інші. Найпопулярнішими версіями є IIS-6, IIS-7, IIS-7.5 і остання версія ( на сьогоднішній день) IIS-8 ( у Windows 8 та Windows Server 2012).

Основними компонентами web-сервера IIS є:

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

Звичайно в нових версіях Windows, таких як Windows 7, Windows Server 2008 існує більш детальна розбивка на окремі компоненти, так би мовити для зручності, тобто. якщо користуєтеся, ставте, якщо ні, не ставте. Вище я представив лише загальну ( малу) частина всіх компонентів.

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

Багато веб-майстрів не хочуть використовувати IIS тільки тому, що думають, що для цього потрібно встановлювати Windows Server, наприклад, 2003 або 2008, з одного боку вони мають рацію, тобто. якщо Ви бажаєте розміщувати свої сайти на власному сервері ( як, наприклад, хостингові компанії в Інтернеті), то тоді звичайно найкраще встановити серверну операційну систему. Але якщо Ви хочете просто розробляти сайти, а потім перенести на хостинг в Інтернеті, то IIS можна встановлювати і на звичайні клієнтські операційні системи такі як: Windows XP Pro або Windows 7 Pro і вище. Робиться це штатними засобами операційної системи:

Панель керування -> Встановлення/видалення програм (Windows XP) або програми та компоненти (Windows 7) -> Встановлення компонентів (Windows XP) або "Увімкнення/вимкнення компонентів" (Windows 7) -> вибираємо Internet Information Services (IIS) для Windows XP та служби IIS для Windows 7.

У Windows XP Pro:

У Windows 7:

Якщо потрібно, можете натиснути склад (Windows XP) або просто натиснути плюсик (Windows 7), щоб детальніше переглянути або вибрати необхідні компоненти, які встановлюватимуться. Потім може знадобитися вставити інсталяційний диск з операційною системою, щоб програма установки взяла необхідні компоненти, і все, установка йде як установка звичайної програми, далі можете відкривати:

Панель керування->адміністрування-> Internet Information Services (Windows XP) або Менеджер служб IIS (Windows 7).

Щоб перевірити, чи сервер працює і увімкнено, відкрийте будь-який браузер і наберіть, наприклад, 127.0.0.1 повинна відкритися сторінка за замовчуванням.

Якщо у вас Windows XP, то встановиться IIS 5.1, який менш функціональний порівняно з іншими версіями, наприклад, з IIS 6 і 7. А якщо у вас Windows 7, то встановиться IIS версії 7, який відмінно підходить для WEB сервера. У майбутньому на Windows 8 Ви ставитимете IIS версії 8.

Якщо Ви зберетеся ставити IIS на нормальну серверну операційну систему, то на Windows Server 2003 у Вас встановиться IIS 6, а на Windows Server 2008 IIS 7, Windows Server 2008 R2 IIS 7.5, на Windows Server 2012 IIS версії 8. Розглядати докладну інсталяцію даного сервера зараз не будемо, тому що це виходить за рамки цієї статті, але незабаром я планую випустити кілька статей щодо встановлення, налаштування, адміністрування WEB сервера IIS 7 на платформі Windows Server 2008, де Ви вже зможете детально переглянути всі тонкощі цього сервера.

Існує декілька відмінностей серверів IIS 6 та IIS 7(і вище) якщо бути точніше, то переваг 7 версії (і вище) над 6:

  • у 7 версії, на мій погляд, зручніший інтерфейс;
  • якщо Ви хочете розробляти сайти на PHP, то в 7 (і вище) версії зручніша інтеграція та управління php розширенням;
  • IIS 6 спочатку не був орієнтований для хостингів, а IIS 7 (і вище) вже орієнтований, наприклад: здатність власникам сайтів керувати та конфігурувати свої сайти ( мається на увазі web сервер) без звернення до техпідтримки і без використання додаткових скриптів у хостера, так як на версії IIS 6 хостери використовували додаткові скрипти, щоб вручну не налаштовувати, виконувати прохання власників сайтів. IIS6 був лише на корпоративні web сайти, але його почали використовувати і хостери, тобто. він набув популярності. IIS 7 відмінний варіант для тих, хто любить Windows і Windows програми і він вже нічим не поступається найпопулярнішому web-серверу в Інтернеті apache.

На сьогоднішній день в Інтернеті із серверів IIS найпопулярнішим поки що залишається 6 версія, але 7 версія вже майже наздогнала і всі web майстри та хостери вже активно переходять на 7 або вище версію IIS.

Огляд веб-сервера Nginx

Nginx- Веб сервер і поштовий проксі-сервер, розроблений російським програмістом, який його активно просуває, зараз навіть з'явилася компанія Nginx, Inc.

Nginx працює на unix-подібних операційних системах, таких як: FreeBSD, OpenBSD, Linux, Solaris, Mac OS X, AIX, HP-UX, але також є і версії під Windows, хоча, як Ви вже зрозуміли, розроблявся цей web сервер саме під unix. Останньою версією на даний момент є версія 1.2.4.

Головні особливості Nginx це: простота, швидкість, надійність. Загалом, так само як і перераховані вище web сервера - це відмінний web сервер.

На сьогоднішній день все, в наступних статтях будемо розглядати вже детально установку, налаштування, обслуговування web серверів (на прикладі Apache 2.2.22 і IIS 7).

Робота з Web-сервером Russian Apache. Українська Apache

Найпоширеніший Web-сервер у світі – це Apache. За даними компанії Netcraft ( http://www.netcraft.com/ Survey/) загальна кількість Web-вузлів, що працюють під його управлінням, до кінця 1998 досягло 2 млн. (55% загальної кількості вузлів) і постійно зростає. Для порівняння: частку серверів Microsoft припадає 25%, Netscape -7%. Будучи безкоштовною відкритою програмою, призначеною для безкоштовних Unix-систем (FreeBSD, Linux та ін.), Apache за функціональними можливостями і надійністю не поступається комерційним серверам, а широкі можливості конфігурування дозволяють налаштувати його для роботи практично з будь-якою конкретною системою. Існують локалізації сервера для різних мов, у тому числі й для російської.

Історично склалося так, що російські тексти в Internet можуть бути представлені в різних кодуваннях, з яких найбільш поширені koi8-r (або просто koi8) та Windows-1251: з першої працює більшість серверів та робочих станцій під керуванням Unix, друга є стандартною для всіх версії Windows. Оскільки кодування Windows-1251, звичайно, застосовується на переважній більшості клієнтських машин, частка тих, хто подорожує російською частиною WWW, використовуючи koi8, не перевищує зараз 5%. Однак у цьому кодуванні зберігаються документи на багатьох Unix-серверах, в ньому найчастіше передаються поштові повідомлення і практично завжди - листи в телеконференції, з ним працюють багато російськомовних каналів IRC (до речі, абревіатура КОІ розшифровується як "код обміну інформацією"). Щоб вирішити проблеми, що виникають при розбіжності кодувань тексту на сервері та клієнтській машині, було створено російський модуль Apache-RUS для Web-сервера Apache.

У статті ми розглянемо процес встановлення та налаштування як самого сервера, так і механізму перекодування документів "на льоту".

Встановлення

Свіжу версію Apache-RUS можна отримати за адресою ftp://apache.lexa.ru/pub/apache-rus/ (старша частина номера версії, наприклад 1.3.3, відповідає версії оригінального Apache, молодша, наприклад PL27. 3 - так званому patch level, тобто версії російського модуля). Рекомендується встановлювати ті версії, які зарекомендували себе як "стабільні". Тут налаштування сервера описується з прикладу Apache_1.3.3rusPL27.3.

Отже, насамперед ми переписуємо на свою машину архів (менше 1,5 Мбайт) і розпаковуємо його:

# ftp ftp://apache.lexa.ru/pub/apache-rus/ apache_1.3.3rusPL27.3.tar.gz

# tar xvzf apache_1.3.3rusPL27.3.tar.gz

Після цього входимо до створеного при розпакуванні каталогу apache_1.3.3rusPL27.3 і запускаємо сценарій configure:

# cd apache_1.3.3rusPL27.3

При необхідності сценарієм можна у явній формі вказати аргументи (їхній список видається за командою configure -help). Так, якщо потрібно встановити сервер в інший каталог, ніж стандартний, необхідно виконати "configure -prefix=

Коли configure відпрацює, слід, як завжди, дати команди make і make install (ці дії виконуються користувачем root).

Тепер сервер встановлений у каталозі /usr/local/apache, але запускати його поки не можна - спочатку ми повинні відредагувати файли налаштування httpd.conf, access.conf та srm.conf у каталозі /usr/local/apache/etc/ (починаючи з версії 27.4 - /usr/local/apache/conf).

Налаштування

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

# kill -USR1 `cat /usr/local/apache/logs/httpd.pid`

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

Файл access.conf

Access.conf містить директиви, що описують права доступу до каталогів і файлів Web-сервера. Насамперед вирішіть, у якому каталозі зберігатимуться документи. За замовчуванням це /usr/local/apache/share/htdocs, проте багато адміністраторів вважають за краще розміщувати документи починаючи з каталогу /www/<имя_сервера>/, оскільки за такої організації простіше орієнтуватися у структурі файлів. Нехай, наприклад, ми створили каталоги:

/www/radio-msu.net/

/www/people.radio-msu.net/

Вони будуть кореневими для відповідних віртуальних серверів.

Файл access.conf може містити секції Directory, Location та Files, які обмежені однойменними директивами. У цих директивах можна використовувати символи "?" і "*" , а також регулярні вирази, що передуються тільдою, наприклад . У секції Directory містяться інструкції, що стосуються певного каталогу на диску, у секції Location - які стосуються віртуального шляху, у секції Files - які стосуються файлу чи групі файлів.

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

каталозі /www/rmt.ru та вкладених у нього

директиви, що стосуються всіх документів, доступних за адресою http://<имя_сервера>/cgi-bin/<путь_к_файлу>

директиви, що відносяться до файлу form.html з каталогу

Відмінність між секціями Directory і Location полягає в тому, що перша відноситься до каталогів на диску, друга - до віртуального шляху (URL), який запитує браузер у Web-сервера. І в тому, і в іншому можуть бути директиви order, allow і deny, які дозволяють обмежити доступ до каталогу або URL з різних машин.

Наступні дві директиви відносяться до секції .

Options

Можливі значення параметрів:

    ExecCGI - дозволити виконання CGI-сценаріїв у даному каталозі та його піддереві;

    FollowSymLinks - дозволити переходи за символічними посиланнями (створювані командою ln);

    Includes - дозволити SSI (Server Side Includes);

    Indexes - дозволити видачу лістингу каталогу, якщо у ньому немає файлу index.html (або файлу індексу, заданого директивою DirectoryIndex);

    MultiViews – дозволити підтримку багатьох мов; за умовчанням вона відключена, і вмикати її, як правило, не потрібно; підтримка перекодування "на льоту" для російської встановлюється за допомогою інших директив, які ми розглянемо пізніше;

    All - встановити відразу всі перелічені режими крім MultiViews.

За відсутності спеціальних вимог до безпеки цілком допустимо вказати "Options All" у секції ; інакше потрібно описати параметри кожного каталогу окремо.

AllowOverride

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

FileInfo - дозволити директиви, відповідальні за типи документів;

Indexes – дозволити директиви, пов'язані з лістингом каталогів;

Limit - дозволити команди allow та deny, які обмежують доступ до файлів залежно від адреси клієнтського комп'ютера;

Options - дозволити описану вище директиву Options.

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

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

Файл srm.conf

Файл srm.conf містить директиви, пов'язані із загальними налаштуваннями структури каталогів сервера. Як правило, у ньому достатньо змінити лише кілька рядків.

DocumentRoot<первый каталог сервера>

Шлях до каталогу за промовчанням, індексний файл якого користувач отримає при зверненні до сервера (http://<имя_сервера>/). Цю директиву слід задати і для кожного з віртуальних серверів (секції файлу httpd.conf).

UserDir<имя пользовательского каталога>

Каталог, в якому користувачі повинні розміщувати свої файли, щоб вони були доступні за адресою http://<имя_сервера>/~<имя_пользователя>/. Стандартно public_html. Іноді, щоб полегшити життя користувачам, адміністратори пропонують директиву "UserDir www".

DirectoryIndex<список файлов индекса>

Файл індексу - це файл, який буде переданий клієнту при зверненні до каталогу. Якщо вказати кілька імен, сервер шукатиме відповідний файл "зліва направо". За замовчуванням список містить лише одне ім'я - index.html, але прийнято додавати до нього інші поширені імена індексних файлів. Наприклад, директива може мати вигляд: DirectoryIndex .index.html index.html index.htm index.cgi index.shtml home.html home.htm default htm default html

Щоб увімкнути на сервері підтримку CGI-сценаріїв, слід видалити коментар перед директивами ScriptAlias ​​і AddHandler cgi-script .cgi. Перша задає каталог на диску, в якому будуть зберігатися програми, що виконуються, а друга визначає, що всі файли з розширенням.cgi повинні оброблятися як сценарії.

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

ErrorDocument 404 /missing.html

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

Файл httpd.conf

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

Директива Port, розміщена на самому початку файлу, визначає номер порту для http-сервера; за промовчанням це 80. При необхідності можна приписати серверу інший порт або кілька портів, для чого слугує директива Listen.

Директива HostnameLookups з параметром on або off включає або, відповідно, відключає перетворення чисельних IP-адрес клієнтів, які отримали документи з сервера, в доменні імена. Таке перетворення дещо сповільнює роботу сервера, але при числі відвідувань менше 10 000 на добу це зазвичай не помітно.

Директиви User та Group задають користувача, який адмініструватиме сервер. З точки зору безпеки небажано вказувати тут існуючого користувача, який має доступ до інших ресурсів або файлів. Краще створити окремого користувача та групу спеціально для http-сервера, наприклад:

Директиви ServerRoot, ErrorLog, CustomLog визначають відповідно кореневий каталог http-сервера, шлях до журналу реєстрації помилок (error_log) та шлях до загального журналу звернень до сервера (access_log).

Директива CacheNegotiatedDocs дозволяє кешування документів, отриманих із сервера. За замовчуванням цей режим відключений, але оскільки пропускна здатність вітчизняних Internet-каналів ще довго залишатиме бажати кращого, добре б його включити: тоді користувачеві не доведеться чекати завантаження картинок при кожному зверненні до вашої сторінки.

Налаштування віртуальних серверів у файлі httpd.conf

Найчастіше один http-сервер здатний обробляти запити, що надходять різні, звані віртуальні, Web-серверы. Віртуальні сервери можуть мати як одну і ту ж IP-адресу, але різні доменні імена, так і різні IP-адреси. З точки зору користувача другий варіант трохи кращий, оскільки запит до сервера, що відрізняється від основного тільки доменним ім'ям, повинен містити його ім'я, а деякі старі браузери, що не підтримують протокол HTTP/1.1 (наприклад, Microsoft Internet Explorer 2.0), не включають запит на цю інформацію. Однак такі браузери виходять із вживання (зараз їх уже менше 0,5% від загального числа); з іншого боку, виділення власної IP-адреси кожному віртуальному серверу може бути невиправданою розтратою адресного простору компанії.

Для опису адрес і імен віртуальних серверів служать директиви ServerName, ServerAlias, NameVirtualHost і VirtualHost. Вони потрібні, тільки якщо вам потрібно встановити більше одного віртуального сервера.

http://www.apache.org/- офіційний сервер розробників Apache

http://apache.lexa.ru/- сервер групи розробників російського модуля Apache



Сподобалася стаття? Поділіться їй