Безопасность и оптимизация Linux.Редакция для Red Hat

Веб-сервер Apache


Общий обзор.

Apache – это, в настоящее время, наиболее широко используемый HTTP-сервер в мире. Он обогнал всех коммерческих и свободно-распространяемых конкурентов на рынке, и предоставляет огромное число возможностей. Также это наиболее популярный веб сервер под Linux. Веб сервера подобные Apache, в простейшем случае, выводят HTML страницы, располагающиеся на сервере, на клиентские броузеры, понимающие HTML код. Используясь совместно с модулями и программами третьих лиц, они становятся полнофункциональными программами, которые предоставляют надежные и полезные сервисы клиентским броузерам.

Я думаю, что большинство людей, читающих эту книгу, специально интересуются тем, как инсталлировать веб сервер Apache с обеспечением максимальной безопасности и оптимизацией. В своей базовой инсталляции, Apache устанавливать не труднее, чем любое другое программное обеспечение, описанное в этой книге. Трудности начинаю возникать, когда вы хотите добавить некоторые программы и модули третьих лиц.

Существует много возможностей, вариантов и опций для инсталляции Apache. Так, в дальнейшем, мы приведем вам пошаговый пример, где мы покажем как создать Apache с модулями и программами третьих лиц: PHP4, возможностью соединения с LDAP и т.д. Конечно, создание этих программ опционально, и вы можете свободно компилировать то, что захотите (например, вы можете решить скомпилировать Apache с поддержкой PHP4, но без SSL или PostgreSQL). Для упрощения мы подразумеваем некоторые предварительные требования для каждого примера. Если они не соответствуют вашей ситуации, просто скорректируйте шаги.

В этой главе, мы объясним и охватим некоторые общие пути благодаря которым вы можете скорректировать конфигурацию для улучшения производительности сервера. Также, для особо интересующихся пользователей, мы покажем процедуру запуска Apache не от имени пользователя root и в chroot- овом окружении для оптимальной безопасности.

Эти инструкции предполагают.

Unix-совместимые команды.

Путь к исходным кодам “/var/tmp” (возможны другие варианты).


Инсталляция была проверена на Red Hat Linux 6.1 и 6.2.

Все шаги инсталляции осуществляются суперпользователем “root”.

Apache версии 1.3.12



Mod_SSL версии 2.6.4-1.3.12

Mod_Perl версии 1.24

Mod_PHP версии 4.0.0

Пакеты.

Домашняя страница Apache:

FTP сервер Apache:

Вы должны скачать: apache_1.3.12.tar.gz

Домашняя страница Mod_SSL:

FTP сервер Mod_SSL:

Вы должны скачать: mod_ssl-2.6.4-1.3.12.tar.gz

Домашняя страница Mod_Perl:

FTP сервер Mod_Perl:

Вы должны скачать: mod_perl-1.24.tar.gz

Домашняя страница Mod_PHP:

Вы должны скачать: php-4.0.0.tar.gz

Предварительные требования.

  • Если вы хотите включить в Apache поддержку SSL шифрования, то OpenSSL должен быть уже проинсталлирован на вашей системе.


  • Если вы хотите включить в Apache поддержку соединений с базой данных PosgreSQL, то PosgreSQL должен быть уже проинсталлирован на вашей системе.


  • Если вы хотите включить в Apache поддержку высокопроизводительного кэширования сессий, базирующегося на RAM, то MM должен быть уже проинсталлирован на вашей системе.


  • Если вы хотите включить в Apache поддержку соединений с сервером каталогов OpenLDAP, то OpenLDAP должен быть уже проинсталлирован на вашей системе.


  • Если вы хотите включить в Apache поддержку IMAP & POP, то IMAP & POP должен быть уже проинсталлирован на вашей системе.


  • ЗАМЕЧАНИЕ. Для большей информации о требуемых программах смотрите соответствующие главы в этой книге.

    Тарболы.

    Хорошей идеей будет создать список файлов установленных в вашей системе до инсталляции Apache и после, в результате, с помощью утилиты diff вы сможете узнать какие файлы были установлены. Например,

    До инсталляции:

    find /* > Apache1

    После инсталляции:

    find /* > Apache2

    Для получения списка установленных файлов:

    diff Apache1 Apache2 > Apache-Installed

    Раскройте тарбол:

    [root@deep /]# cp apache_version.tar.gz /var/tmp

    [root@deep /]# cp mod_ssl-version-version.tar.gz /var/tmp

    [root@deep /]# cp mod_perl-version.tar.gz /var/tmp

    [root@deep /]# cp php-version.tar.gz /var/tmp

    [root@deep /]# cd /var/tmp/

    [root@deep tmp]# tar xzpf apache_version.tar.gz

    [root@deep tmp]# tar xzpf mod_ssl-version-version.tar.gz

    [root@deep tmp]# tar xzpf mod_perl-version.tar.gz

    [root@deep tmp]# tar xzpf php-version.tar.gz


    Содержание раздела