Основы Apache: Устранение неполадок при установке и настройке

Вступление

Веб-сервер 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, взгляните на следующие ресурсы: