Вступление
Веб-сервер Apache - это веб-сервер с открытым исходным кодом, популярный благодаря своей гибкости, мощности и широкой поддержке. В этом руководстве мы рассмотрим некоторые общие процедуры управления сервером Apache, включая остановку, запуск и включение службы, работу с файлами и каталогами виртуального хоста, а также поиск важных файлов и каталогов на вашем сервере.
Это руководство ориентировано на пользователей, работающих с Apache в Ubuntu. Пользователи, работающие над CentOS и другими дистрибутивами на основе RHEL, могут ознакомиться с первым разделом в https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on- Centos-7 [это руководство] для получения информации об установке Apache на CentOS.
Как использовать это руководство:
-
Каждый раздел может использоваться независимо от других, поэтому не стесняйтесь переходить к разделам, которые соответствуют вашим потребностям.
-
Каждая команда является автономной, что позволяет вам заменить свои значения на красные.
-
Каждый раздел имеет связанные ресурсы, с которыми вы можете ознакомиться для получения дополнительной информации по темам.
Установка службы Apache
Чтобы установить службу Apache, обновите индексы пакетов, а затем установите:
sudo apt-get update
sudo apt-get install apache2
Для получения более подробной информации о процессе установки, следуйте нашему руководству на How To Установите веб-сервер Apache в Ubuntu 16.04.
Включение и отключение модуля Apache
Наш сервис Apache настроен на автоматический запуск при загрузке. Если бы мы хотели изменить это поведение, мы могли бы напечатать следующее:
sudo systemctl disable apache2.service
Чтобы позволить Apache снова загрузиться при загрузке:
sudo systemctl enable apache2.service
Остановка, запуск и перезагрузка Apache
Чтобы остановить сервер Apache, введите следующую команду:
sudo systemctl stop apache2
Чтобы запустить сервер Apache, введите:
sudo systemctl start apache2
Чтобы остановить службу и запустить ее снова, введите:
sudo systemctl restart apache2
Если вы вносите изменения в конфигурацию, вы можете перезагрузить Apache, не разрывая соединения. Введите следующую команду:
sudo systemctl reload apache2
Чтобы узнать больше о системе инициализации + systemd +
и команде + systemctl +
, ознакомьтесь с этой https://www.digitalocean.com/community/tutorials/systemd-essentials-working-with-services-units-and- the-journal [введение в основы systemd].
Проверка состояния сервера
Чтобы проверить состояние вашего сервера Apache, введите:
sudo systemctl status apache2
Выходные данные этой команды сообщат вам, работает ли Apache, и покажут вам последние несколько строк в файлах журнала.
Создание корневого каталога документов для статического веб-сайта
При использовании Apache для создания веб-сайтов разработчики часто используют + virtual hosts +
-nuits, которые включают отдельные сайты или домены. Этот процесс включает создание каталога для + document root +
, каталог верхнего уровня, который Apache проверяет при обслуживании контента.
Создайте каталог:
sudo mkdir -p /var/www//public_html
Назначьте право собственности на каталог своему пользователю без полномочий root:
sudo chown -R $USER:$USER /var/www//public_html
Разрешить доступ на чтение к общему веб-каталогу:
sudo find /var/www -type d -exec chmod {} \;
Дополнительные сведения о разрешениях см. В нашем introduction для Linux. Имейте в виду, что ваши разрешения могут меняться в зависимости от ваших потребностей и вариантов использования.
Создание корневого каталога документов для модулей динамической обработки
Если вы работаете с модулем динамической обработки, таким как PHP, вы создадите корневой каталог вашего документа следующим образом:
sudo mkdir -p /var/www//public_html
Назначьте право владения каталогом для своего пользователя без полномочий root, а группу - для группы + www-data +
:
sudo chown -R :www-data /var/www//public_html
Изменение настроек конфигурации
При работе с виртуальными хостами необходимо изменить параметры конфигурации, чтобы отразить специфику домена, чтобы Apache мог правильно отвечать на запросы домена.
Откройте файл конфигурации вашего виртуального хоста:
sudo nano /etc/apache2/sites-available/.conf
Изменить следующее:
ServerAdmin
ServerName
ServerAlias
DocumentRoot /var/www//public_html
С изменениями файл должен выглядеть следующим образом (при условии, что он не был изменен ранее):
/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
ServerAdmin
ServerName
ServerAlias
DocumentRoot /var/www//public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
При устранении неполадок, не забудьте дважды проверить этот файл и его директивы.
Подробнее о работе с виртуальными хостами см. В нашем обсуждении на working с виртуальными хостами Apache в Ubuntu 16.04.
Включение и отключение файлов конфигурации
Файлы виртуальных хостов
Чтобы включить файлы конфигурации виртуального хоста:
sudo a2ensite .conf
Чтобы отключить файлы конфигурации (в данном конкретном примере это файл конфигурации виртуального хоста Apache по умолчанию):
sudo a2dissite 000-default.conf
Модули
Чтобы включить модули из + / etc / apache2 / mods-available +
, используйте следующую команду:
sudo a2enmod
Чтобы отключить определенный модуль:
sudo a2dismod
Конфигурационные файлы
Чтобы включить файлы конфигурации в + / etc / apache2 / conf-available +
-файлах, не связанных с типом виртуальных хостов:
sudo a2enconf
Чтобы отключить файл конфигурации:
sudo a2disconf
Тестирование конфигурации
Каждый раз, когда вы вносите изменения в файлы конфигурации в Apache, обязательно запустите следующую команду для проверки синтаксических ошибок:
sudo apache2ctl configtest
Важные файлы и каталоги
Продолжая работать с Apache, вы столкнетесь со следующими каталогами и файлами:
содержание
-
+ / var / www / html
: этот каталог содержит веб-контент вашего сайта и является его корневым каталогом по умолчанию. Вы можете изменить настройки конфигурации Apache по умолчанию, чтобы они указывали на другие каталоги в+ var / www
.
Конфигурация сервера
-
+ / etc / apache2 +
: каталог конфигурации в Apache, где хранятся все его файлы конфигурации. -
+ / etc / apache2 / apache2.conf +
: основной файл конфигурации Apache, в котором хранятся его глобальные параметры конфигурации. Другие файлы в каталоге конфигурации загружаются из этого файла. Он также хранит директивы+ FollowSymLinks +
, которые управляют включением и отключением конфигурации. -
+ / etc / apache2 / sites-available / +
: этот каталог содержит файлы конфигурации виртуальных хостов, которые активируются через ссылки на каталог+ sites-enabled +
. Модификация файлов блоков сервера происходит в этом каталоге и включается командой+ a2ensite +
. -
+ / etc / apache2 / sites-enabled / +
: файлы конфигурации активированного виртуального хоста хранятся здесь. Когда Apache запускается или перезагружается, он считывает файлы конфигурации и ссылки в этом каталоге, поскольку он соответствует полной конфигурации. -
+ / etc / apache2 / conf-available +
и+ / etc / apache2 / conf-enabled +
: в тех же отношениях, что и+ sites-available +
и+ sites-enabled +
, эти каталоги содержат фрагменты конфигурации, которые не привязан к файлам конфигурации виртуального хоста. -
+ / etc / apache2 / mods-available +
и+ / etc / apache2 / mods-enabled +
: Содержащие модули, которые доступны и включены, эти каталоги имеют два компонента: файлы, оканчивающиеся на+ .load +
, которые содержат фрагменты которые загружают определенные модули и файлы, оканчивающиеся на+ .conf +
, которые хранят конфигурации этих модулей.
Журналы сервера
-
+ / var / log / apache2 / access.log +
: этот файл содержит каждый запрос к веб-серверу, если параметры конфигурации Apache не были изменены. -
+ / var / log / apache2 / error.log +
: этот файл содержит ошибки. Чтобы изменить количество деталей в журналах ошибок, измените директиву+ LogLevel +
в+ / etc / apache2 / apache2.conf +
.
Другой способ доступа к информации о модуле Apache - через компонент + journald +
, который собирает информацию журнала из приложений и ядра. Чтобы просмотреть записи для модуля Apache, введите:
sudo journalctl -u apache2
Заключение
В этом руководстве мы рассмотрели некоторые общие процедуры управления сервером Apache, включая остановку, запуск и включение службы, работу с файлами и каталогами виртуального хоста, а также поиск важных файлов и каталогов на вашем сервере. Чтобы узнать больше о работе с Apache, взгляните на следующие ресурсы: