Контакты

Самые популярные веб сервера. Выбираем локальный веб-сервер для 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 and 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». Thin активно развивается. Он основан на трех основных библиотеках 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 сервер. Поэтому я решил посвятить целую линейку статей посвященных web серверам. Сегодня мы рассмотрим самые популярные веб-сервера на текущий момент.

Как я уже сказал, процесс создания сайта — это не только написание HTML страницы, как многие думают:), это целый комплекс мероприятий, который требует достаточно большого объема знаний в web направлении, например, можете прочитать статью «Как стать вебмастером и что для этого нужно знать? » и Вы, наверное, поймете, что знание HTML ничего еще не дает.

Популярные web сервера

Ну, хватит вступления, перейдем к теме нашей статьи. И начнем с того, что мы просто перечислим самые популярные WEB-сервера, а сегодня ими являются:

  • Apache – примерно 55-60% всех сайтов в Интернете (это самый популярный webсервер в мире! );
  • Microsoft-IIS – примерно 12-14 % всех сайтов в Интернете;
  • Nginx – примерно 10-12% всех сайтов в Интернете.

Остальную долю занимают, как Вы понимаете, менее популярные web сервера, такие как:

  • Lighttpd ;
  • Gws ;
  • Resin ;
  • и другие.

Сегодня мы проведем обзор 3 самых популярных web серверов и начнем, конечно же, с самого популярного это — Apache!

Обзор веб сервера Apache

Apache – это бесплатный, кроссплатформенный web сервер, он поддерживает следующие операционные системы: Microsoft Windows, Linux, BSD, Mac OS, Novell NetWare, BeOS.

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

  • 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 #указываем директорию с php.ini PHPIniDir "C:\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 не исключение, поэтому если Вам не нравится конфигурировать файлы или просто работать в командной строке, то этот сервер отлично подойдет Вам. Для кого-то это будет плюсам по сравнению с тем же самым апачем.

Многие web мастера не хотят использовать 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

B корневом каталоге каждого виртуального сервера создаем файл 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



Понравилась статья? Поделитесь ей