Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
serverguide-precise-ru.pdf
Скачиваний:
77
Добавлен:
03.05.2015
Размер:
1.86 Mб
Скачать

Веб-серверы

1.2.4. Модули Apache2

Apache2 — модульный сервер. Это значит, что в ядро сервера включены только базовые функции. Расширенные возможности доступны в виде модулей, которые могут быть загружены в Apache2. По умолчанию, базовый набор модулей включается в сервер во время компиляции. Если сервер скомпилирован с возможностью использования динамически загруженных модулей, модули могут быть скомпилированы отдельно и добавлены в любое время с помощью директивы LoadModule. Иначе, Apache2 должен быть перекомпилирован для добавления и/или удаления модулей.

Ubuntu компилирует Apache2 с возможностью динамической загрузки модулей. Конфигурационные директивы могут быть включены для присутствия конкретного модуля при условии заключения их в блок

<IfModule>.

Вы можете установить дополнительные модули для Apache2 и использовать их на вашем веб-сервере. Например, запустите следующую команду из командной строки терминала, чтобы установить модуль MySQL Authentication:

sudo apt-get install libapache2-mod-auth-mysql

Для дополнительных модулей смотрите каталог /etc/apache2/mods-available.

Чтобы включить модуль, используйте утилиту a2enmod:

sudo a2enmod auth_mysql

sudo service apache2 restart

Аналогично, a2dismod отключит модуль:

sudo a2dismod auth_mysql sudo service apache2 restart

1.3. Настройка HTTPS

Модуль mod_ssl добавляет серверу Apache2 важную особенность — возможность защищённых коммуникаций. Соответственно, когда ваш браузер соединяется с использованием SSL, в адресной строке браузера перед URL используется префикс https://.

Модуль mod_ssl доступен в составе пакета apache2-common. Выполните нижеследующую команду в терминале для включения модуля mod_ssl:

220

Веб-серверы

sudo a2enmod ssl

Пример настройки HTTPS содержится в файле /etc/apache2/sites-available/ default-ssl. Для работы Apache2 с HTTPS также необходимы файлы сертификата и ключа. Базовая конфигурация HTTPS использует ключ

и сертификат, генерируемые пакетом ssl-cert. Они подходят для тестирования, но позже должны быть заменены на уникальные для данного сайта или сервера. Прочесть о генерировании ключа и получении сертификата можно здесь Раздел 5, «Сертификаты» [194].

Чтобы настроить Apache2 для HTTPS, введите следующее:

sudo a2ensite default-ssl

Каталоги /etc/ssl/certs и /etc/ssl/private — это места по умолчанию.

Если вы установили сертификат и ключ в другие каталоги,

убедитесь, что SSLCertificateFile и SSLCertificateKeyFile тоже изменены.

Теперь Apache2 сконфигурирован для HTTPS, перезапустите службу, чтобы активировать новые настройки:

sudo service apache2 restart

В зависимости от того, как вы получили сертификат, может потребоваться ввести пароль при запуске Apache2.

Вы можете получить доступ к страницам через безопасное соединение, набрав в адресной строке браузера https://your_hostname/url/.

1.4. Права разделения записи

Чтобы несколько пользователей имели возможность выполнять запись в один и тот же каталог, необходимо предоставить права записи группе, к которой они оба относятся. В следующем примере предоставляются права записи в /var/www группе "webmasters".

sudo chgrp -R webmasters

/var/www

sudo

find

/var/www -type

d

-exec

chmod g=rwxs "{}" \;

sudo

find

/var/www -type

f

-exec

chmod g=rws "{}" \;

Если доступ к каталогу должен быть предоставлен более чем одной группе, необходимо включить списки контроля доступа (ACL).

221

Веб-серверы

1.5. Ссылки

Apache2 Documentation6 содержит подробную информацию по конфигурационным директивам Apache2. Смотрите также пакет apache2doc, содержащий официальную документацию Apache2.

Смотрите сайт Mod SSL Documentation7 для дополнительной информации по SSL.

Книга Apache Cookbook8 издательства O'Reilly — хороший источник для освоения специфических настроек Apache2.

По поводу специфических для Ubuntu вопросов по Apache2 обращайтесь на IRC канал #ubuntu-server в сети freenode.net9.

Хороший ресурс по интеграции PHP и MySQL Apache MySQL PHP Ubuntu Wiki 10.

6http://httpd.apache.org/docs/2.2/

7http://www.modssl.org/docs/

8http://oreilly.com/catalog/9780596001919/

9http://freenode.net/

10https://help.ubuntu.com/community/ApacheMySQLPHP

222

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]