21.by - Новости Беларуси. Последние новости Беларуси из разных источников. Последние новости мира.

Грамотная настройка веб-сервера Apache

26.08.2009 09:57 — |  
Размер текста:
A
A
A

Источник материала:

Данная статья будет полезна как администраторам домашних сетей, которые наверняка имеют внутрисетевую страничку (а порой и огромный медиа-портал), так и закоренелым сисадминам некоторых веб-хостингов. Я рассмотрю самый популярный на данный момент и успешно зарекомендовавший себя web-server Apache. Из плюсов сразу же хочется выделить надёжность, функциональность, открытость исходного кода, кроссплатформенность и гибкость настройки. Из минусов - только отсутствие единого стандартного интерфейса для администрирования. Также Apache позволяет подключать внешние модули, такие, как PHP, MySQL, Perl, SSL и многие другие. На данный момент существует три ветки разработки сервера: 2.2.*, 2.0.* и 1.3.* Рекомендуется ветка 2.2.*, т.к. в оставшихся не реализуются нововведения, а лишь исправляются мелкие уязвимости, в основном, связанные с DDoS атакой (отказ в обслуживании). Я рассмотрю Apache 2.2.4 под управлением Windows 2003 Server. Пожалуй, начнём...


Основа

Первое, что нам потребуется, - это, собственно, сам веб-сервер. Он распространяется свободно под лицензией GPL, так что "взять" его можно без проблем по ссылке httpd.apache.org.

Инсталляция не займёт особого труда, могу лишь посоветовать установить его на отдельный логический диск в целях безопасности (пример пути: d:\usr\local\apache). Этот путь был выбран не случайно, ибо такая иерархия принята в *nix семействах. При установке вводим имя домена, название сайта и почтовый адрес (необходимо для связи с администраторам в случае неполадки). Если необходимо, чтобы наш сервер был доступен извне (Internet), мы должны ввести зарегистрированное доменное имя (например, site.by). При успешной установке должен появиться значок в системном трее и при наборе в браузере адреса: http://localhost (стандартное доменное имя) мы увидим стартовую страничку веб-сервера Apache. Сейчас откроем основной конфигурационный файл - d:\usr\local\apache\conf\httpd.conf. Сразу же бросаются в глаза строки, помеченные символом "#", - это комментарии. Чтобы любые изменения вступили в силу, требуется перезагрузка сервера. Первое, что нам необходимо, это указать путь для нашего сайта в строке DocumentRoot (по умолчанию это d:/usr/local/Apache/htdocs). В принципе, это делается по желанию, но лучше указать, к примеру, d:/home/localhost/www (не забудьте создать данную папку на диске). Далее, если мы сменили рабочую директорию сайта, следует изменить в конфигурационном файле строчку <Directory/> на <Directory "d:/home/localhost/www">. Делаем то же самое, но для CGI-скриптов: создаём папку d:/home/localhost/cgi-bin и меняем строку <Directory/> на <Directory "с:/home/localhost/cgi-bin">. Если мы напортачили при установке с почтой или названием сайта, всегда можно изменить это в строках ServerAdmin и ServerName.

Сейчас займёмся наладкой виртуальных хостов, эта опция будет необходима, если у нас будет более одного сайта. Для этого добавляем в httpd.conf следующие строки:

NameVirtualHost test.by <VirtualHost test.by> ServerAdmin <почта_администратора_test.by> DocumentRoot c:/home/test.by/www ServerName TEST.BY ErrorLog logs/error.log CustomLog logs/access.log common ScriptAlias /cgi-bin/ "с:/home/test.by/cgi-bin/" </VirtualHost>

Создаём папку d:/home/test.by и стартовую страницу index.html Перезагружаем Apache и проверяем.

Мы настраивали Apache вручную, редактируя конфигурационные файлы. А вообще, существуют графические оболочки для конфигурирования, наиболее известная из них - ApacheConf.

Если наш сайт не будет ограничен только HTML и JavaScript, то основные модули, такие, как PHP, можно взять здесь: www.php.net/downloads.php. Точно такая же процедура, как и при установке веб-сервера: выбор платформы и версии (на данный момент рекомендуется версия 5, т.к. 6-я ещё нестабильна). В зависимости от ваших целей, можно установить модули MySQL (СУБД) и SSL (протокол безопасной передачи данных), доступные по адресам www.mysql.com и www.openssl.org, соответственно.


Безопасность

Самое первое правило - это ограничение прав в операционной системе. Под Администратором необходимо чётко определить права на запись, чтение и выполнение веб-сервера, ни в коем случае эти три пункта не должны выходить за пределы своей корневой папки, с внутренними файлами проще - всё зависит от веб-приложения. В *nix необходимо Apache выделить в отдельную группу и пользователем root необходимо выполнить команду chmod 0777 на папку www, и chmod 0600 - на корневую. Каждая папка в директории сайта должна иметь индексовую страницу (index.html или index.php). Это позволит избежать просмотра содержимого папок. Очень важной особенностью будет создание файла доступа .htaccess (например, можно запретить доступ к папке по маске: DA deny from 195.114.*.*). Не следует также забывать, что в httpd.conf содержится информация о правах доступа к объектам.

Рассмотрим конфигурацию интерпретатора PHP. Конфигурационный файл - php.ini (/usr/local/php5/php.ini). Основная переменная, отвечающая за безопасность выполнения приложений, - это safe_mode=on(off). С одной стороны, частичная безопасность, с другой - функциональные ограничения. Вам придётся выбирать настройки в зависимости от функциональности веб-приложения (так, многие форумы не могут работать при safe_mode=on). Рекомендуется установить переменные register_globals=off и allow_url_fopen=off (они запрещают передавать параметр к определённому файлу, что часто способствует атаке типа php-including). Также необходимо запретить опасные функции: system, exec, shell_exec, passthru (выполняют удалённые команды) и phpinfo (полная информация о php.ini). Осуществляется это путём добавления их в переменную disable_functions=...

Напоследок пользователям Windows платформы хочу посоветовать проект Denwer.ru - дистрибутив для отладки веб-приложений, cgi-скриптов и баз данных. "Денвер" версии 3 - это многофункциональное приложение, содержащее веб-сервер Apache, со встроенными многочисленными модами вплоть до Ajax, которое оптимизировано и готово к работе с первых секунд. Однако, не рекомендую его использовать в качестве полноценного веб-сервера, ибо в него включены некоторые приложения, открывающие потенциально уязвимые места.

Максим ГУРСКИЙ

 
 
Чтобы разместить новость на сайте или в блоге скопируйте код:
На вашем ресурсе это будет выглядеть так
Данная статья будет полезна как администраторам домашних сетей, так и сисадминам некоторых веб-хостингов...
 
 
 

РЕКЛАМА

Архив

РЕКЛАМА


Все новости Беларуси и мира на портале news.21.by. Последние новости Беларуси, новости России и новости мира стали еще доступнее. Нашим посетителям нет нужды просматривать ежедневно различные ресурсы новостей в поисках последних новостей Беларуси и мира, достаточно лишь постоянно просматривать наш сайт новостей. Здесь присутствуют основные разделы новостей Беларуси и мира, это новости Беларуси, новости политики, последние новости экономики, новости общества, новости мира, последние новости Hi-Tech, новости культуры, новости спорта и последние новости авто. Также вы можете оформить электронную подписку на новости, которые интересны именно вам. Таким способом вы сможете постоянно оставаться в курсе последних новостей Беларуси и мира. Подписку можно сделать по интересующим вас темам новостей. Последние новости Беларуси на портале news.21.by являются действительно последними, так как новости здесь появляются постоянно, более 1000 свежих новостей каждый день.
Яндекс.Метрика