deny from all
allow from ru
Следующий пример показывает, как разрешить доступ компьютерам только из вашей сети.
Листинг 16.5. Разрешение доступа подсети 192.168.1.0
order deny, allow
deny from all
allow from 192.168.1.
Кроме значений allow,denyи deny,allow, директива orderможет содержать значение mutual-failure. В этом случае в доступе будет отказано всем компьютерам, которые явно не указаны в списке allow.
Директиву requireможно использовать для защиты каталога паролем. После названия директивы должен следовать список элементов: имена пользователей, групп, которые заданы в директивах AuthUserFileи AuthGroupFile. Можно использовать параметр valid-user, который укажет серверу предоставить доступ любому пользователю, имя которого имеется в директиве AuthUserFile, если он введет правильный пароль. Пример использования приведен в листинге 16.6.
Листинг 16.6. Использование директивы require
AuthUserFile /var/secure/.htpasswd
AuthName Security
AuthType Basic
order deny,allow
deny form all
allow from mydomain.ru
require valid-user
В листинге 16.6 для аутентификации используется файл паролей .htpasswd
, который можно создать с помощью программы htpasswd. Директивы блока Limitразрешают доступ к любому каталогу сервера только пользователям домена mydomain.ru
.
Кроме параметра valid-userдопускается использование параметра usersили groups. Данные параметры разрешают доступ только определенным пользователям или группам пользователей. Пример использования параметра users приведен в листинге 16.7.
Листинг 16.7. Применения параметра users
AuthType Basic
AuthUserFile /var/users/.htpasswd
AuthName UsersDir
require users denis igor evg
Блок директив Location
С помощью директив, расположенных в блоке Location, можно задать определенный URL-адрес, предназначенный для обозначения каталогов, файлов или групп файлов. Обозначить группу файлов можно с помощью шаблонов, например, шаблон *.html определяет все файлы, имена которых заканчиваются на .html, В URL-адрес не включается протокол и имя сервера. Пример описания блока Locationпредставлен в листинге 16.8.
Листинг 16.8. Блок Location
директивы управления доступом
16.4. Файл ротации журналов /etc/logrotate.d/httpd
Файл /etc/logrotate.d/httpd
(или /etc/logrotate.d/apache
— для версий Apacheдо 2.0) задает параметры ротации журналов веб-сервера, что позволяет поддерживать порядок в журнальном хозяйстве. Пример этого файла приведен в листинге 16.9.
Листинг 16.9. Файл /etc/logrotate.d/httpd (Apache 2.0)
/var/log/httpd/*_log {
missingok
notifempty
sharedscripts
postrotate
/usr/bin/killall -HUP httpd
endscript
}
Убедитесь, что режим доступа к файлу /etc/logrotate.d/httpd равен 0640 и владельцем этого файла является пользователь root.
16.5. Системный файл конфигурации /etc/sysconfig/httpd
Этот файл позволяет передать серверу Apacheсистемную информацию, например, параметры запуска.
Предположим, что вы хотите запустить сервер Apacheс включенной поддержкой SSL. Для этого в файл /etc/sysconfig/httpd
добавьте строку:
OPTIONS="-DSSL"
Вам нужно только добавить нужные параметры в директиву OPTIONS, а обо всем остальном позаботится сценарий запуска /etc/init.d/httpd
. Нужно отметить, что файл /etc/sysconfig/httpd
появился в версии Apache2.0.
16.6. Сценарий запуска сервера Apache /etc/init.d/httpd
Стандартный сценарий запуска веб-сервера Apacheустанавливается из того же пакета, что и сам сервер, В версии Apache2.0 можно вызывать сценарий запуска со следующими параметрами:
♦ start— запуск сервера;
♦ stop— завершение работы сервера;
♦ restart— перезапуск сервера;
♦ status— информация о работе сервера;
♦ condrestart— перезапуск сервера при наличии файла /var/run/httpd.pid
. Этот файл создается при запуске сервера и удаляется при его останове. Если файл httpd.pid
не удален, значит, сервер не был остановлен корректно: например, произошел сбой системы или банальное отключение питания.
Что же касается более старых версий Apache, то сценарии запуска позволяют указывать куда больше параметров, чем во второй версии:
Читать дальше
Конец ознакомительного отрывка
Купить книгу