Управление процессами Apache
В процессе стандартной установки WEB-сервера Apache в Ubuntu создается следующая структура файлов и каталогов домашней директории веб сервера:
/etc/apache2/ Домашняя директория Apache в Ubuntu - ServerRoot
conf-available директория, содержит разные конфиги
charset.conf файл для указания кодировок
localized-error-pages.conf файл для задания страниц ошибок
other-vhosts-access-log.conf файл для задания логов виртуальных хостов
security.conf файл для директив безопасности
serve-cgi-bin.conf файл для директив конфигурации CGI
conf-enabled директория, содержит ССЫЛКИ на активированные конфиги из conf-available
@ ССЫЛКИ на активированные конфиги из conf-available
mods-available директория, содержит конфиги установленных модулей Apache
... доступные конфиги модулей Apache
mods-enabled директория, содержит ССЫЛКИ на активированные конфиги модулей из mods-available
@ ССЫЛКИ на активированные конфиги модулей Apache
sites-available директория содержит доступные конфиги виртуальных хостов
000-default.conf файл виртуального хоста по умолчанию для 80 порта, создан при инсталляции Apache
default-ssl.conf файл виртуального хоста по умолчанию для порта 443, создан при инсталляции Apache
sites-enabled директория, содержит ССЫЛКИ на активированные конфиги виртуальных хостов из sites-enabled
@000-default.conf ссылка на активированный конфиг виртуального хоста
apache2.conf ГЛАВНЫЙ конфиг web сервера Apache в Ubuntu
envvars файл с настройками путей для окружения Apache
magic Файл скриптов для модуля mime_magic (этот модуль не активен по умолчанию)
ports.conf файл для задания портов на которых будет принимать подключения Apache
Управление процессами Apache
server config - глобальный уровень директивы для применения в файлах общей конфигурации сервера вне <VirtualHost>
и вне <Directory>
контейнеров и вне файла .htaccess;
virtual host - уровень виртуального хоста для применения директивы в <VirtualHost>
контейнере;
directory - уровень каталога, директива должна использоваться внутри контейнеров <Location>
, <Files>
, <If>
, <Proxy>
;
.htaccess - уровень локального каталога сайта, директива может применяться в файле .htaccess.
Команды управления конфигурацией
Для удобства и автоматизации управления конфигурацией Apache в Ubuntu имеются специальные команды, воспользовавшись которыми вы можете включить или исключить из конфигурации сервера те или иные конфигурационные файлы, запустить и перезагрузить сервер, просмотреть и изменить параметры переменных окружения Apache и многое другое.
Команды a2enconf/a2disconf
Для включения или выключения нужного конфига из каталога conf-available в конфигурацию сервера используйте команды: a2enconf/a2disconf
.
Включить конфиг:
a2enconf myconf.conf
Выключить конфиг:
a2disconf myconf.conf
Команды a2enmod/a2dismod
Для активации установленного модуля Apache из каталога mods-available и деактивации его используйте команды: a2enmod/a2dismod
.
Включить модуль Apache:
a2enmod <mod-name из mods-available>
Выключить модуль Apache:
a2dismod <mod-name из mods-available>
Команды a2ensite/a2dissite
Для активации конфигурации виртуального хоста из каталога sites-available и деактивации его используйте команды: a2ensite/a2dissite
.
Включить виртуальный хост в Apache:
a2ensite <vhost-config-file-name без суффикса .conf из sites-available>
Выключить виртуальный хост в Apache:
a2dissite <vhost-config-file-name без суффикса .conf из sites-available>
Команды управления Apache
В Ubuntu, благодаря использованию переменных среды, для обращения к демону httpd web сервера можно применять вызовы вида: /etc/init.d/apache2 или apache2ctl или apache2::
/etc/init.d/apache2 [command | httpd-argument]
Или:
systemctl [command | httpd-argument]
Или:
apache2 [httpd-argument]
Команды systemctl и apache2 имеют разный синтаксис аргументов, однако утилита systemctl способна обрабатывать как свои собственные команды, так и команды предназначенные для apache2 и поэтому является более универсальной.
Команды для утилиты systemctl
Запуск Apache2:
systemctl start apache2
Остановка Apache2:
systemctl stop apache2
Перезапуск Apache2:
systemctl restart apache2
Вывести статус Apache2:
systemctl status apache2
Во время настройки Apache можно часто перезагружать, не сбрасывая соединений. Для этого нужно использовать команду:
systemctl disable apache2
Чтобы добавить Apache в автозагрузку, используйте эту команду:
systemctl enable apache2