a2enmod module
; чтобы отключить модуль, используйте команду a2dismod module
. Эти программы фактически создают (или удаляют) символические ссылки /etc/apache2/mods-enabled/
, указывая на реальные файлы (хранящиеся в /etc/apache2/mods-available/
).
/etc/apache2/ports.conf
), и обслуживает страницы из каталога /var/www/html/
(как настроено в /etc/apache2/sites-enabled/000-default.conf
).
mod_ssl
) требующийся для безопасного HTTP (HTTPS) «из коробки». Его просто нужно включить с помощью a2enmod ssl
, затем необходимые директивы следует добавить в файлы конфигурации. Пример конфигурации представлен в /etc/apache2/sites-available/default-ssl.conf
.
SSLCertificateFile /etc/letsencrypt/live/DOMAIN/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/DOMAIN/chain.pem SSLCACertificateFile /etc/ssl/certs/ca-certificates.crt
mod_gnutls
, which is shipped with the libapache2-mod-gnutls package and enabled with the a2enmod gnutls
command. Unfortunately the version packaged for Debian had serious issues and even security implications and is therefor not part of Debian Stable since the Bullseye release.
/etc/apache2/sites-enabled/000-default.conf
; этот виртуальный хост используется, если не найден хост, соответствующий запросу, отправленному клиентом.
/etc/apache2/sites-available/
. Чтобы настроить сайт для домена falcot.org
достаточно просто создать следующий файл, а затем включить виртуальный хост с помощью команды a2ensite www.falcot.org
.
Пример 11.13. The /etc/apache2/sites-available/www.falcot.org.conf
file
<VirtualHost *:80> ServerName www.falcot.org ServerAlias falcot.org DocumentRoot /srv/www/www.falcot.org </VirtualHost>
CustomLog
директивы в определениях виртуальных хостов). Поэтому имеет смысл настроить формат этого файла журнала, включив в него имя виртуального хоста. Это можно сделать, создав /etc/apache2/conf-available/customlog.conf
файл, который определяет новый формат для всех файлов журналов (с директивой LogFormat
) и включив его с помощью a2enconf customlog
. CustomLog
строку также необходимо удалить (или закомментировать) из файла /etc/apache2/sites-available/000-default.conf
.
Пример 11.14. Файл /etc/apache2/conf-available/customlog.conf
# Новый формат log включает имя (виртуального) хоста LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost # Теперь давайте использовать этот "vhost" формат по умолчанию CustomLog /var/log/apache2/access.log vhost
Directory
; они позволяют указать различное поведение сервера в зависимости от местоположения обслуживаемого файла. Такой блок обычно включает в себя директивы Options
и AllowOverride
.
Пример 11.15. Блок каталогов
<Directory /srv/www> Options Includes FollowSymlinks AllowOverride All DirectoryIndex index.php index.html index.htm </Directory>
DirectoryIndex
содержит список файлов, которые следует попробовать, если запрос клиента соответствует каталогу. Первый существующий файл в списке используется и отправляется в качестве ответа.
Options
за ним следует список опций для включения. Значение None
отключает все опции; соответственно, All
включает их все, кроме MultiViews
. Доступные варианты включают в себя:
ExecCGI
указывает, что сценарии CGI могут выполняться.
FollowSymlinks
сообщает серверу, что по символическим ссылкам можно переходить и что ответ должен содержать содержимое цели таких ссылок.
SymlinksIfOwnerMatch
также сообщает серверу следовать по символическим ссылкам, но только тогда, когда ссылка и её цель имеют одного и того же владельца.
Includes
включает Server Side Includes (SSI вкратце). Это директивы, встроенные в HTML-страницы и выполняемые «на лету» для каждого запроса.
IncludesNOEXEC
разрешает Server Side Includes (SSI), но отключает команду exec
и ограничивает директиву include
для text/markup файлов.
Indexes
сообщает серверу перечислить содержимое каталога, если HTTP-запрос, отправленный клиентом, указывает на каталог без индексного файла (т. е. когда ни один файл не упоминается в директиве DirectoryIndex
существует в этом каталоге).
MultiViews
обеспечивает согласование контента; это может использоваться сервером для возврата веб-страницы, соответствующей предпочтительному языку, настроенному в браузере.
AllowOverride
перечисляет все параметры, которые можно включить или отключить с помощью файла .htaccess
. Обычно эта опция используется для ограничения ExecCGI
, так что администратор выбирает, каким пользователям разрешено запускать программы под учётной записью веб-сервера (пользователь www-data
).
mod_auth*
.
/etc/apache2/authfiles/htpasswd-private
содержит список пользователей и паролей; обычно им управляют с помощью команды htpasswd
. Например, следующая команда используется для добавления пользователя или изменения его пароля:
#
htpasswd /etc/apache2/authfiles/htpasswd-private user
New password: Re-type new password: Adding password for user user
Require
контролирует ограничения доступа к каталогу (и его подкаталогам рекурсивно).
Require
объединены в блок RequireAll
.
/etc/awstats/awstats.conf
. Администраторы Falcot оставляют его неизменным, за исключением следующих параметров:
LogFile="/var/log/apache2/access.log" LogFormat = "%virtualname %host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot" SiteDomain="www.falcot.com" HostAliases="falcot.com REGEX[^.*\.falcot\.com$]" DNSLookup=1 LoadPlugin="tooltips"
LogFile
и LogFormat
описывают расположение и формат файла журнала, а также содержащуюся в нём информацию; SiteDomain
и HostAliases
перечисляют различные имена, под которыми известен основной веб-сайт.
DNSLookup
значение 1
; для небольших сайтов, таких как описанный выше сайт Falcot, этот параметр позволяет получать более читаемые отчёты, включающие полные имена компьютеров вместо сырых IP-адресов.
/etc/awstats/awstats.www.falcot.org.conf
.
Пример 11.18. Файл конфигурации AWStats для виртуального хоста
Include "/etc/awstats/awstats.conf" SiteDomain="www.falcot.org" HostAliases="falcot.org"
/usr/share/awstats/icon/
. Чтобы эти значки были доступны на веб-сайте, необходимо адаптировать конфигурацию Apache, включив в неё следующую директиву (проверьте /usr/share/doc/awstats/examples/apache.conf
для более подробного примера):
Алиас awstats-icon/ /usr/share/awstats/icon/